Hovedmenu
Devolutions-blog

Nyheder, opdateringer og indsigter fra Devolutions.

Rdm and windows arm remote desktop manager devolutions blog

RDM på Windows ARM: En historie om energieffektivitet og hastighed

Fra og med Windows RDM version 2022.3.14.0 er ARM en officielt understøttet arkitektur. Opdag historien om Windows på ARM, hvorfor RDM på ARM er vigtigt, og fremtiden for ARM-computing.

For mange Windows-baserede organisationer var det en udfordring at flytte enheder over på en ren x64-arkitektur. Indtil for nylig var x64 de facto-standarden. ARM-arkitekturen blev generelt kun overvejet til mobil, IoT og hobbyenheder. Men med ARM64 (også kendt som AArch64) i 2011 begyndte praktiske ARM-baserede systemer at se mulige ud. Så hvad kan en ARM-computer eller -bærbar tilbyde en organisation?

Et af ARM’s løfter har altid været potentialet for lavere strømforbrug og højere ydelse i forhold til en x64-infrastruktur. ARM har en RISC-arkitektur (reduced instruction set computer), i modsætning til x64, som har en CISC-arkitektur (complex instruction set computer). I stedet for at udføre én kompleks instruktion over flere clock-cyklusser, for eksempel en multiplikation, deler ARM den samme kommando op i enklere operationer, som hver tager én clock-cyklus. Dermed skal der færre transistorer til, og der bruges mindre strøm.

Hvad betyder ARM-understøttelse for Remote Desktop Manager?

Fra og med Windows RDM version 2022.3.14.0, udgivet i november 2022, er ARM64 en officielt understøttet arkitektur. Hvis det ikke er noget for dig at arbejde via emulering i Windows på ARM, bliver du glad for at vide, at RDM nu kører som en nativ ARM64-applikation. Det betyder, at ydelsen og strømforbruget er forbedret i dine daglige arbejdsbelastninger på ARM-enheder.

RDM har understøttet ARM64 Apple Silicon M1/M2-chips til vores RDM-brugere på macOS siden oktober 2021.

Et dybt dyk ned i Windows på ARM

Windows på ARM har været en lang og til tider ujævn vej. Første gang var i Windows RT i 2012, og Windows på ARM slog ikke igennem. Applikationsunderstøttelsen haltede, fordi traditionelle Win32-applikationer ikke kunne køre. Flere år senere, efter at Windows RT var slået fejl, dukkede Windows på ARM op igen med mulighed for at køre enhver Win32-applikation side om side med ARM-applikationer, der kører nativt.

Endelig så fremtiden for Windows på ARM ud til at være kommet. Bortset fra at ydelsen led under emuleringen, især i nogle tidligere modeller med mindre kraftige ARM-chipsæt. Men tingene er blevet bedre. I dag er store pc-producenter begyndt at tilbyde ARM-chips, for eksempel Lenovo ThinkPad X13s.

Emuleringsproblemet

Betyder det, at alle ydelsesproblemerne hører fortiden til? Desværre ikke. Selv om hastighedsgevinsterne i ARM-chipsene opvejer emuleringens ydelsesomkostning, går det langsommere for applikationer, der ikke kører nativt på ARM. Hos Devolutions stod vi med to problemer:

  • At kompilere RDM i .NET til nativ ARM-understøttelse
  • At opdatere interne, open source- og tredjepartsbiblioteker til ARM-kompatibilitet

Fordi RDM er bygget på .NET, er binære filer underlagt just-in-time-kompilering (JIT) ved kørsel. JIT-kompilering har allerede en ydelsesomkostning, men ved ARM-emulering sker der en anden JIT-kompilering, det såkaldte „double-JIT“-problem. Fra og med .NET 4.8.1 lod Microsoft det være muligt at målrette kompileringen mod ARM-processorer. Nu kan RDM selv køre som en nativ ARM-applikation.

Til udviklerne derude: .NET 4.8.1 ARM-applikationer kører stadig i Intel-emuleringstilstand som standard. En grundig undersøgelse førte os frem til en udokumenteret registreringsnøgle, der tvinger nativ ARM-kørsel. Alt sammen i jagten på ydelse.

Desværre består RDM af en hel del biblioteker, og de skulle alle gøres ARM-kompatible for at undgå „double-JIT“-problemet. Hos Devolutions brugte vi lang tid på at gøre vores interne biblioteker klar til ARM. For de open source- og tredjepartsbiblioteker, der er i brug, arbejdede vi på at opdatere der, hvor det var muligt, og på at udvælge dem med nativ ARM-understøttelse.

Resultatet er, at RDM kører som en nativ ARM-applikation med alle de fordele for ydelse og strømforbrug, det indebærer. Senere kommer porteringen til .NET 6 til RDM med dens markant forbedrede ydelse, og ikke kun for ARM.

Fremtiden for Windows på ARM med ARMv9

Nuværende Windows på ARM-systemer bruger ARMv8-revisionen af ARM64-chipsæt, for eksempel Snapdragon 8cx Gen 3-processoren i Lenovo ThinkPad X13s. ARMv9-revisionen tilbyder nye sikkerhedsfunktioner som Confidential Compute Architecture (CCA) og ydelsesforbedringer som SVE2-arkitekturudvidelserne. Næste generations Qualcomm Snapdragon 8cx Gen 4-processor ser ud til at være klar til at tage kampen op med Apple M1 og viser en lys fremtid for ARM-enheder.

Hvor går RDM hen herfra?

I takt med at branchen bevæger sig mod ARM-processorer, er RDM ARM’et og klar til fremtiden. Kommende forbedringer af både understøttelsen af Windows på ARM og af RDM selv vil fortsætte med at lukke ydelsesgabet og give stadig større gevinster på strømforbruget. Vejen har været lang, men RDM sammen med Windows på ARM åbner nye muligheder i hele organisationen.