Der Linux-Kernel ist das Rückgrat von Linux-Betriebssystemen (OS) und die grundlegende Schnittstelle zwischen der Hardware eines Computers und seinen Prozessen.
Vor ein paar Tagen Wir teilen hier im Blog die Neuigkeiten über eine der Änderungen Was wir beim Launch finden können des Linux-Kernels 6.9, das sich derzeit in der Entwicklung befindet und verschiedene Änderungen bereits bekannt gegeben wurden und wir angekündigt haben, dass EXT2 bereits in die Kategorie „veraltet“ übergegangen ist und dass die Verwendung des alten NTFS-Treibers zugunsten von aufgegeben wird Von Paragon Software entwickelter Treiber.
Jetzt in den neuesten Nachrichten über die neuen Funktionen, die uns Linux 6.9 bieten wird, ist das Diese Version des Kernels wird eine deutliche Verbesserung der Startzeit mit sich bringen für Benutzer, die Systeme mit großen RAM-Mengen verwalten, insbesondere solche, die Sie nutzen HugeTLB-Seiten. Dies führt zu einer erheblichen Reduzierung der Zeit, die zum Initialisieren dieser Seiten während des Systemstartvorgangs benötigt wird.
Und die in Linux 6.9 hinzugefügte Änderung wird es Systemen mit einer großen Anzahl von HugeTLB-Seiten ermöglichen, eine spürbare Reduzierung zu erfahren zur Startzeit. Beispielsweise werden auf 2-TB-Systemen 1800 1-GB-Seiten initialisiert Derzeit dauern sie zwischen 1 und 2 Sekunden von insgesamt 10 Sekunden, was in diesen Zeiten zweifellos eine erhebliche Verbesserung darstellt. Ebenso werden Sie auf 12-TB-Intel-Hosts, bei denen 11 776-GB-Seiten initialisiert werden, was über eine Minute dauern kann, eine deutliche Verkürzung dieser Startzeiten feststellen.
Diese Fortschritte wurden durch die engagierte Arbeit des Linux-Entwicklers Gang Li von Bytedance ermöglicht. der eine Reihe von Patches implementiert hat, die mehreren Überprüfungen unterzogen wurden, um eine effiziente Ausführung sicherzustellen. Die vorhandene Kernel-Infrastruktur, wie z padata_do_multithreaded, wurde mit minimalen Modifikationen verwendet, um diese Ergebnisse zu erzielen.
Zwei Updates in v6…
– Möglicher Fehler in Together_bootmem_prealloc_node behoben
Die padata_do_multithreaded-Implementierung stellt sicher, dass jeder
Die Aufgabe „together_bootmem_prealloc_node“ verwaltet einen Knoten. Allerdings ist die API beschrieben
im Kommentar gibt padata_do_multithreaded an, dass auch padata_do_multithreaded vorhanden ist
Sie können einer Aufgabe mehrere Knoten zusammen_bootmem_prealloc_node zuweisen.Um mögliche Fehler durch zukünftige Änderungen an padata_do_multithreaded zu vermeiden,
Together_bootmem_prealloc_parallel wird eingeführt, um das zu umschließen
together_bootmem_prealloc_node.
Vorteile Zu diesen Verbesserungen zählen insbesondere Bemerkenswert in Umgebungen, in denen Dienstverfügbarkeit und Systemverfügbarkeit von entscheidender Bedeutung sind. wie im Fall von Hyperscalern und großen Organisationen, die sehr große Server verwalten. Die Verkürzung der Startzeit bei Neustarts ist von großem Vorteil, um eine schnellere und effizientere Betriebszeit zu gewährleisten.
Außerdem, Erwähnenswert ist auch eine weitere Änderung die in Linux 6.9 enthalten sind, einem Patch eines erfahrenen Linux-Ingenieurs bei Intel, der führt eine verbesserte Technik zur Begrenzung der Speicherbandbreite bei x86-Cache-Aktualisierungen ein, ähnlich dem, das Intel in RDT- und AMD EPYC-CPUs mit dem Resctrl-Code verwendet.
Der Patch-Autor erwähnt Folgendes:
Die MBA_mbps-Rückkopplungsschleife erhöht die Drosselung, wenn eine Gruppe mehr Bandbreite nutzt, als der Benutzer in der Schemadatei festgelegt hat, und verringert die Drosselung, wenn sie unter dem Ziel liegt.
Erwähnenswert ist, dass die neue Technik zur Begrenzung der Speicherbandbreite dient ist darauf ausgelegt, Arbeitslasten mit ungleichmäßigen Lastniveaus effizienter zu bewältigens, wodurch unnötige Strafen vermieden werden, die in früheren Versionen des Kernels auftraten.
Um unnötige Beschleunigungsschwankungen in jeder Iteration zu vermeiden, wird das Flag „delta_comp“ verwendet, um die tatsächlichen Änderungen der Bandbreite anzuzeigen, die in der nächsten Iteration in „delta_bw“ aufgezeichnet werden sollen. Die Drosselung wird nur reduziert, wenn die aktuelle Bandbreite plus delta_bw unter dem Ziel des Benutzers liegt.
Als solches wird darauf hingewiesen Der Algorithmus funktioniert gut mit Workloads mit konstanter Bandbreite. Es kann jedoch fehlschlagen, wenn sich die Arbeitslast genau dann ändert, wenn sich die Drosselung ändert. Um dieses Problem zu lösen, wurde eine einfachere Technik implementiert, die den potenziellen Anstieg der Bandbreite berechnet, wenn die Drosselung auf die nächsthöhere Stufe reduziert wird, und so sicherstellt, dass sie unter dem Ziel des Benutzers bleibt, bevor die Drosselung reduziert wird.
Wenn Sie daran interessiert, mehr darüber zu erfahren, Sie können die Details unter den folgenden Links einsehen:
- Hugetlb: Parallelisieren Sie den Start der Hugetlb-Seite beim Start
- Implementierung einer neuen MBA_mbps-Begrenzungstechnik