MAIN MENU
Blog de Devolutions

Anuncios, actualizaciones y análisis de Devolutions.

Rdm and windows arm remote desktop manager devolutions blog

RDM en Windows ARM: una historia de eficiencia energética y velocidad

A partir de la versión 2022.3.14.0 de Windows RDM, ARM es una arquitectura oficialmente compatible. Descubra la historia de Windows en ARM, por qué RDM en ARM es importante y el futuro de la computación ARM.

Para muchas organizaciones basadas en Windows, migrar los dispositivos a una arquitectura totalmente x64 supuso un reto. Hasta hace poco, x64 era el estándar de facto. La arquitectura ARM se consideraba, en general, solo apta para dispositivos móviles, IoT y de aficionados. Pero con la llegada de ARM64 (también conocida como AArch64) en 2011, los sistemas ARM prácticos empezaron a parecer viables. Entonces… ¿qué puede ofrecer un ordenador de sobremesa o un portátil ARM a una organización?

Una de las promesas de ARM siempre ha sido su potencial de ahorro energético y rendimiento frente a una infraestructura x64. ARM cuenta con una arquitectura RISC (ordenador con conjunto de instrucciones reducido), a diferencia de x64, que utiliza una arquitectura CISC (ordenador con conjunto de instrucciones complejo). En lugar de ejecutar una única instrucción compleja a lo largo de varios ciclos de reloj, como una multiplicación, ARM divide ese mismo comando en operaciones más simples, cada una de las cuales requiere un solo ciclo de reloj. Así, se necesitan menos transistores y se consume menos energía.

¿Qué implica la compatibilidad con ARM para Remote Desktop Manager?

Desde la versión 2022.3.14.0 de Windows RDM, publicada en noviembre de 2022, ARM64 es una arquitectura oficialmente compatible. Si trabajar mediante emulación en Windows sobre ARM no es lo suyo, le alegrará saber que RDM ahora se ejecuta como una aplicación nativa de ARM64. ¡Esto significa que el rendimiento y el consumo energético mejoran en sus tareas diarias con dispositivos ARM!

¡RDM es compatible con los chips ARM64 Apple Silicon M1/M2 para los usuarios de RDM en macOS desde octubre de 2021!

Un análisis en profundidad de Windows en ARM

Windows en ARM ha recorrido un camino largo y, en ocasiones, accidentado. Visto por primera vez en Windows RT en 2012, Windows en ARM no logró dejar huella. La compatibilidad con aplicaciones era escasa, ya que no era posible ejecutar aplicaciones Win32 tradicionales. Varios años después, tras el fracaso de Windows RT, Windows en ARM resurgió con la capacidad de ejecutar cualquier aplicación Win32 junto con aplicaciones nativas de ARM.

¡Por fin, el futuro de Windows en ARM parecía haber llegado!… Salvo por el hecho de que el rendimiento se resentía debido a la emulación, especialmente en algunos modelos más antiguos con chipsets ARM de menor potencia. Pero las cosas han mejorado. Hoy en día, los principales fabricantes de PC han empezado a ofrecer chips ARM, como el Lenovo ThinkPad X13s.

El problema de la emulación

¿Significa esto que todos los problemas de rendimiento han quedado atrás? Por desgracia, no. Aunque las mejoras de velocidad de los chips ARM compensan el coste de rendimiento de la emulación, las aplicaciones no nativas de ARM se ejecutan más lentamente. En Devolutions nos enfrentamos a dos problemas:

  • Compilar RDM en .NET para que fuera compatible de forma nativa con ARM.
  • Actualizar las bibliotecas internas, de código abierto y de terceros para lograr compatibilidad con ARM.

Dado que RDM está desarrollado en .NET, los binarios están sujetos a la compilación just-in-time (JIT) en tiempo de ejecución. La compilación JIT ya conlleva un coste de rendimiento, pero con la emulación de ARM se produce una segunda compilación JIT, lo que se conoce como el problema del «doble JIT». A partir de .NET 4.8.1, Microsoft permitió orientar la compilación hacia procesadores ARM. ¡Ahora, el propio RDM puede ejecutarse como una aplicación ARM nativa!

Para los desarrolladores que estén leyendo esto: las aplicaciones de .NET 4.8.1 en ARM siguen ejecutándose en modo de emulación de Intel de forma predeterminada. Una investigación exhaustiva nos llevó a descubrir una clave de registro no documentada que fuerza la ejecución nativa en ARM. ¡Todo en la búsqueda del rendimiento!

Por desgracia, RDM se compone de bastantes bibliotecas, y todas debían hacerse compatibles con ARM para evitar el problema del «doble JIT». En Devolutions dedicamos una cantidad considerable de tiempo a preparar nuestras bibliotecas internas para ARM. En cuanto a las bibliotecas de código abierto y de terceros en uso, trabajamos en su actualización siempre que fue posible y seleccionamos aquellas que ya contaban con compatibilidad nativa con ARM.

El resultado es que RDM se ejecuta como una aplicación ARM nativa, con todas las ventajas de rendimiento y ahorro energético que ello conlleva. ¡Próximamente llegará a RDM la migración a .NET 6, con sus enormes mejoras de rendimiento, y no solo para ARM!

El futuro de Windows en ARM con ARMv9

Los sistemas actuales de Windows en ARM utilizan la revisión ARMv8 de los chipsets ARM64, como el procesador Snapdragon 8cx Gen 3 empleado en el Lenovo ThinkPad X13s. La revisión ARMv9 ofrece nuevas funciones de seguridad, como la arquitectura de computación confidencial (CCA), y mejoras de rendimiento como las extensiones de arquitectura SVE2. El procesador Qualcomm Snapdragon 8cx Gen 4 de próxima generación podría estar preparado para plantar cara al Apple M1, lo que augura un futuro prometedor para los dispositivos ARM.

¿Cuál es el camino de RDM a partir de aquí?

Con la industria orientándose hacia los procesadores ARM, RDM está preparado y listo para el futuro. Las futuras mejoras, tanto en la compatibilidad de Windows con ARM como en el propio RDM, seguirán reduciendo la diferencia de rendimiento y aportando mayores ahorros energéticos. El camino puede haber sido largo, pero RDM, combinado con Windows en ARM, abre nuevas posibilidades para toda la organización.