Linus Torvalds begrüßt Microsofts Hyper-V-Upgrade für schnellere Startzeiten in Linux der nächsten Generation

Linus Torvalds begrüßt Microsofts Hyper-V-Upgrade für schnellere Startzeiten in Linux der nächsten Generation

Während sich Windows- und Linux-Fans häufig hitzige Tastaturgefechte liefern, kennen die Entwickler dieser Betriebssysteme die Stärken und Schwächen der jeweils anderen. Insbesondere Microsoft erkennt diese Dynamik an und ermutigt Benutzer tatsächlich, mit Linux zu experimentieren, insbesondere durch sein Windows Subsystem for Linux (WSL).

Darüber hinaus veröffentlicht Microsoft regelmäßig Updates, die die Leistung und Funktionalität von Linux verbessern sollen. Ein bemerkenswertes Beispiel ist die Einführung der verschachtelten Virtualisierung bzw. der verschachtelten Hyper-V-Unterstützung im November 2022. Darüber hinaus akzeptierte Linux-Entwickler Linus Torvalds im September des Vorjahres Verbesserungen im Zusammenhang mit Hyper-V für AMD SEV-SNP-Gäste und Intel TDX-Gäste, die von Wei Liu, dem Hauptarchitekten bei Azure Machine Learning, vorgeschlagen wurden.

Kürzlich hat Torvalds neue Hyper-V-Updates von Liu für Linux 6.12 freigegeben, wobei ein besonderer Schwerpunkt auf Leistungsverbesserungen liegt, die von Saurabh Singh Sengar von Microsoft hervorgehoben wurden:

Rufen Sie Hyper-V-Updates von Wei Liu ab:

  • Optimieren Sie die Startzeit durch gleichzeitige Ausführung von hv_synic_init() (Saurabh Sengar)
  • Verwenden Sie Helfer, um Steuerregister in hv_snp_boot_ap() zu lesen (Yosry Ahmed)
  • Integrieren Sie eine Speicherzuweisungsprüfung in hv_fcopy_start (Zhu Jun).

In der Patchbeschreibung wird erläutert, wie die Parallelisierung der Funktion hv_synic_init() die Startzeiten für Prozessoren mit einer großen Anzahl von Kernen und NUMA-Knoten (Non-Uniform Memory Access) erheblich verbessern kann:

Optimieren Sie die Startzeit durch gleichzeitige Ausführung von hv_synic_init()

Auf einem riesigen System mit 1780 CPUs dauert die Ausführung von hv_acpi_init() ungefähr 3 Sekunden. Dies liegt hauptsächlich an der sequentiellen synchronisierten Initialisierung, die von hv_synic_init() durchgeführt wird.

Durch die gleichzeitige Planung dieser Aufgaben kann jede CPU hv_synic_init() parallel ausführen und so das Potenzial mehrerer CPUs maximieren.

Durch diese Optimierung verkürzt sich die Startzeit auf einem 1780-CPU-System um etwa 2 Sekunden, was einer Verbesserung von etwa 66 % gegenüber der vorherigen Methode entspricht.

Sengar hat kürzlich auch eine Präsentation mit dem Titel „Beschleunigung des Linux-Kernel-Bootvorgangs für große Multi-Core-Systeme“ gehalten, in der die Details dieses Patches und anderer laufender Optimierungen erläutert werden. Sie können die Präsentation hier auf der Website der Linux Plumbers Conference (LPC) ansehen.

Quelle: LKML ( Link1 , Link2 )

Quelle

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert