Linus Torvalds omarmt Microsoft’s Hyper-V-upgrade voor snellere opstarttijden in next-gen Linux

Linus Torvalds omarmt Microsoft’s Hyper-V-upgrade voor snellere opstarttijden in next-gen Linux

Terwijl liefhebbers van Windows en Linux vaak in verhitte toetsenbordgevechten verwikkeld raken, herkennen de ontwikkelaars van deze besturingssystemen elkaars sterke en zwakke punten. Microsoft in het bijzonder erkent deze dynamiek en moedigt gebruikers zelfs aan om te experimenteren met Linux, met name via het Windows Subsystem for Linux (WSL).

Bovendien brengt Microsoft routinematig updates uit die gericht zijn op het verbeteren van Linux-prestaties en -functionaliteit. Een opvallend voorbeeld is de introductie van geneste virtualisatie of geneste Hyper-V-ondersteuning in november 2022. Bovendien accepteerde Linux-maker Linus Torvalds in september van het voorgaande jaar verbeteringen met betrekking tot Hyper-V voor AMD SEV-SNP-gasten en Intel TDX-gasten die werden voorgesteld door Wei Liu, hoofdarchitect bij Azure Machine Learning.

Torvalds heeft onlangs nieuwe Hyper-V-updates van Liu voor Linux 6.12 goedgekeurd, met een specifieke focus op prestatieverbeteringen die door Saurabh Singh Sengar van Microsoft werden benadrukt:

Haal Hyper-V-updates op van Wei Liu:

  • Optimaliseer de opstarttijd door gelijktijdige uitvoering van hv_synic_init() (Saurabh Sengar)
  • Gebruik helpers om besturingsregisters te lezen in hv_snp_boot_ap() (Yosry Ahmed)
  • Geheugentoewijzingscontrole in hv_fcopy_start inbouwen (Zhu Jun)

De patchbeschrijving legt uit hoe parallelisatie van de hv_synic_init()-functie de opstarttijden voor processors met een groot aantal cores en NUMA-knooppunten (non-uniform memory access) aanzienlijk kan verbeteren:

Optimaliseer de opstarttijd door gelijktijdige uitvoering van hv_synic_init()

Op een groot systeem met 1780 CPU’s duurt het ongeveer 3 seconden voordat hv_acpi_init() is voltooid. Dit komt voornamelijk door de sequentiële synchronisatie-initialisatie die wordt afgehandeld door hv_synic_init().

Door deze taken zo in te plannen dat ze gelijktijdig worden uitgevoerd, kan elke CPU hv_synic_init() parallel uitvoeren, waardoor het potentieel van meerdere CPU’s optimaal wordt benut.

Deze optimalisatie resulteert in een vermindering van de opstarttijd van ongeveer 2 seconden op een 1780 CPU-systeem, wat neerkomt op een verbetering van ongeveer 66% ten opzichte van de vorige methode.

Sengar gaf onlangs ook een presentatie getiteld “Accelerating Linux Kernel Boot-Up for Large Multi-Core Systems”, waarin de details van deze patch en andere lopende optimalisaties worden besproken. U kunt de presentatie hier bekijken op de website van de Linux Plumbers Conference (LPC).

Bron: LKML ( link1 , link2 )

Bron

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *