MAIN MENU
Blog di Devolutions

Annunci, aggiornamenti e approfondimenti di Devolutions.

Rdm and windows arm remote desktop manager devolutions blog

RDM su Windows ARM: una storia di efficienza energetica e velocità

A partire dalla versione 2022.3.14.0 di RDM per Windows, ARM è un'architettura ufficialmente supportata. Scopra la storia di Windows su ARM, perché RDM su ARM è importante e quale sarà il futuro del computing ARM!

Per molte organizzazioni basate su Windows, il passaggio dei dispositivi a un’architettura completamente x64 è stato impegnativo. Fino a poco tempo fa, x64 era lo standard de facto. L’architettura ARM era generalmente considerata adatta solo a dispositivi mobili, IoT e per appassionati. Ma con l’arrivo di ARM64 (noto anche come AArch64) nel 2011, sistemi ARM praticabili sono sembrati finalmente possibili. Quindi… cosa può offrire a un’organizzazione un desktop o un laptop ARM?

Una delle promesse di ARM è sempre stata il potenziale in termini di risparmio energetico e prestazioni rispetto a un’infrastruttura x64. ARM ha un’architettura RISC (reduced instruction set computer), a differenza di x64, che ha un’architettura CISC (complex instruction set computer). Invece di eseguire una singola istruzione complessa nell’arco di più cicli di clock, come una moltiplicazione, ARM suddivide lo stesso comando in operazioni più semplici, ciascuna eseguita in un solo ciclo di clock. Di conseguenza, sono necessari meno transistor e si consuma meno energia.

Cosa significa il supporto ARM per Remote Desktop Manager?

A partire dalla versione 2022.3.14.0 di RDM per Windows, rilasciata a novembre 2022, ARM64 è un’architettura ufficialmente supportata. Se lavorare tramite emulazione in Windows su ARM non fa per lei, sarà felice di sapere che RDM ora funziona come applicazione ARM64 nativa. Questo significa che le prestazioni e il consumo energetico migliorano nei carichi di lavoro quotidiani con dispositivi ARM!

RDM supporta i chip ARM64 Apple Silicon M1/M2 per gli utenti macOS di RDM dall’ottobre 2021!

Approfondimento su Windows su ARM

Windows su ARM è stato un percorso lungo e, a tratti, accidentato. Comparso per la prima volta in Windows RT nel 2012, Windows su ARM non riuscì a lasciare il segno. Il supporto alle applicazioni era carente, con l’impossibilità di eseguire le tradizionali applicazioni Win32. Alcuni anni dopo, in seguito al fallimento di Windows RT, Windows su ARM è riemerso con la capacità di eseguire qualsiasi applicazione Win32 insieme ad applicazioni ARM native.

Finalmente il futuro di Windows su ARM sembrava arrivato!… Se non fosse che le prestazioni ne risentivano a causa dell’emulazione, specialmente nei modelli precedenti con chipset ARM meno performanti. Ma le cose sono migliorate. Oggi, i principali produttori di PC hanno iniziato a offrire chip ARM, come il Lenovo ThinkPad X13s.

Il problema dell’emulazione

Significa questo che tutti i problemi di prestazioni appartengono al passato? Purtroppo no. Sebbene i guadagni di velocità dei chip ARM compensino il costo prestazionale dell’emulazione, le applicazioni non native ARM sono comunque più lente. In Devolutions, ci siamo trovati di fronte a due problemi:

  • Compilare RDM in .NET per il supporto ARM nativo
  • Aggiornare le librerie interne, open source e di terze parti per la compatibilità con ARM

Poiché RDM è basato su .NET, i binari sono soggetti a compilazione just-in-time (JIT) in fase di esecuzione. La compilazione JIT ha già un costo prestazionale, ma con l’emulazione ARM si verifica una seconda compilazione JIT, un fenomeno noto come problema del “doppio JIT”. A partire da .NET 4.8.1, Microsoft ha permesso di indirizzare la compilazione verso i processori ARM. Ora RDM stesso può funzionare come applicazione ARM nativa!

Per gli sviluppatori: le applicazioni .NET 4.8.1 per ARM vengono comunque eseguite per impostazione predefinita in modalità di emulazione Intel. Un’indagine approfondita ci ha portato a scoprire una chiave di registro non documentata che forza l’esecuzione ARM nativa. Tutto pur di ottenere il massimo delle prestazioni!

Purtroppo, RDM è composto da parecchie librerie, e tutte dovevano essere rese compatibili con ARM per evitare il problema del “doppio JIT”. In Devolutions, abbiamo dedicato molto tempo a preparare le nostre librerie interne per ARM. Per le librerie open source e di terze parti in uso, abbiamo lavorato all’aggiornamento laddove possibile e alla selezione di quelle con supporto ARM nativo.

Il risultato è che RDM funziona come applicazione ARM nativa, con tutti i vantaggi in termini di prestazioni e risparmio energetico che ne derivano. In futuro arriverà anche per RDM il porting a .NET 6, con le sue prestazioni notevolmente migliorate, non solo per ARM!

Il futuro di Windows su ARM con ARMv9

Gli attuali sistemi Windows su ARM utilizzano la revisione ARMv8 dei chipset ARM64, come il processore Snapdragon 8cx Gen 3 utilizzato nel Lenovo ThinkPad X13s. La revisione ARMv9 offre nuove funzionalità di sicurezza come la Confidential Compute Architecture (CCA) e miglioramenti prestazionali come le estensioni dell’architettura SVE2. Il processore di nuova generazione Qualcomm Snapdragon 8cx Gen 4 sembra potenzialmente pronto a competere con Apple M1 e lascia intravedere un futuro brillante per i dispositivi ARM!

Quali sono i prossimi passi per RDM?

Con il settore in movimento verso i processori ARM, RDM è pronto e “ARMato” per il futuro. I futuri miglioramenti sia al supporto di Windows su ARM sia a RDM stesso continueranno a ridurre il divario prestazionale e a offrire crescenti vantaggi in termini di risparmio energetico. Il percorso può essere stato lungo, ma RDM combinato con Windows su ARM apre nuove possibilità in tutta l’organizzazione!