Heim  >  Artikel  >  System-Tutorial  >  Die Leistung wurde um 8450 % gesteigert, die Funktionen des Linux-Kernels wurden erheblich verbessert

Die Leistung wurde um 8450 % gesteigert, die Funktionen des Linux-Kernels wurden erheblich verbessert

WBOY
WBOYnach vorne
2024-02-09 17:50:12837Durchsuche

Dies ist eine zutiefst pseudo-originale Version: Jason Donenfeld ist der Hauptentwickler von WireGuard und der Betreuer des Linux-Kernel-Zufallszahlen-bezogenen Codes. Unter seiner Führung wurde der Zufallszahlengeneratorcode des Linux-Kernels erheblich verbessert.

In der vorherigen Version von Linux 5.17 ersetzte Jason Donenfeld SHA1 im Zufallscode durch BLAKE2s. Aufgrund der Natur von BLAKE2s ist es im Allgemeinen schneller und sicherer als SHA1. Nach dem Test führte dieser einfache Schalter zu einer Geschwindigkeitssteigerung von etwa 131 %.

Trotz der enormen Geschwindigkeitsverbesserungen in Linux 5.17 ist Jason Donenfeld nicht zufrieden. Daher hat er in der Linux-Version 5.18 weitere Verbesserungen am Zufallscode vorgenommen.

Die Leistung wurde um 8450 % gesteigert, die Funktionen des Linux-Kernels wurden erheblich verbessert

Wenn wir uns die Protokolle des Linux-Repositorys random.git ansehen, können wir sehen (siehe Abbildung oben) , dass Entwickler Jason Donenfeld in den letzten zwei Tagen eine große Anzahl von Code-Einreichungen vorgenommen hat. Diese Commits werden alle in den Kernel eingeführt, wenn das Merge-Fenster von Linux 5.18 Ende März startet.

Die Leistung wurde um 8450 % gesteigert, die Funktionen des Linux-Kernels wurden erheblich verbessert

In der E-Mail wurde ausdrücklich betont, dass der getrandom()-Aufruf zum Abrufen zufälliger Bytes durch die Verwendung des neuesten in der Entwicklung befindlichen Codes eine bessere Leistung erzielen kann. Nach der Durchführung des stress-ng getrandom() Benchmarktests auf einem Gerät mit Intel Xeon E5-2697 v2 @ 2,70 GHz CPU und 112 G Speicher wurde eine Leistungsverbesserung von 8450 % erreicht.

Diese Änderung wird grundsätzlich die bisherige globale Struktur (eigentlich eine Pro-Numa-Knotenstruktur) in eine Pro-CPU-Struktur ändern, was bedeutet, dass viele Sperren auf dem Fast Path verschwinden. Daher besteht kein Zweifel daran, dass sich die Leistung verbessert, wenn getrandom() gleichzeitig auf einer CPU mit mehreren Kernen ausprobiert wird. Aber ich habe nicht damit gerechnet, dass es im Test eine Verbesserung um 8450 % bringen würde.

Außerdem muss der Wechsel von Per-Numa zu Per-CPU nicht mehr verschoben werden, bis die Arbeitswarteschlange online ist. Wie ich bereits sagte, wird diese Verbesserung enorme Vorteile für Computer und Server mit einer hohen Kernanzahl bringen.

Das obige ist der detaillierte Inhalt vonDie Leistung wurde um 8450 % gesteigert, die Funktionen des Linux-Kernels wurden erheblich verbessert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen