Maison  >  Article  >  Tutoriel système  >  Performances augmentées de 8 450 %, fonctions du noyau Linux grandement améliorées

Performances augmentées de 8 450 %, fonctions du noyau Linux grandement améliorées

WBOY
WBOYavant
2024-02-09 17:50:12794parcourir

Il s'agit d'une version profondément pseudo-originale : Jason Donenfeld est le principal développeur de WireGuard et le mainteneur du code lié aux nombres aléatoires du noyau Linux. Sous sa direction, le code générateur de nombres aléatoires du noyau Linux a été grandement amélioré.

Dans la version précédente de Linux 5.17, Jason Donenfeld a remplacé SHA1 dans le code aléatoire par BLAKE2s. En raison de la nature des BLAKE2, il est généralement plus rapide et plus sécurisé que SHA1. Après les tests, ce simple changement a entraîné une augmentation de vitesse d'environ 131 %.

Malgré les énormes améliorations de vitesse de Linux 5.17, Jason Donenfeld n'est pas satisfait. Ainsi, dans la version Linux 5.18, il a apporté davantage d'améliorations au code aléatoire.

Performances augmentées de 8 450 %, fonctions du noyau Linux grandement améliorées

En regardant les journaux du référentiel random.git de Linux, nous pouvons voir (photo ci-dessus) que le développeur Jason Donenfeld a effectué un grand nombre de soumissions de code au cours des deux derniers jours. Ces commits seront tous introduits dans le noyau lors du lancement de la fenêtre de fusion de Linux 5.18 fin mars.

Performances augmentées de 8 450 %, fonctions du noyau Linux grandement améliorées

Il a été spécifiquement souligné dans l'e-mail que l'appel getrandom() pour obtenir des octets aléatoires peut obtenir de meilleures performances en utilisant le dernier code en cours de développement. Après avoir effectué le test de référence stress-ng getrandom() sur un appareil équipé d'un processeur Intel Xeon E5-2697 v2 à 2,70 GHz et d'une mémoire de 112 Go, une amélioration des performances de 8 450 % a été obtenue.

Ce changement modifiera fondamentalement la structure globale précédente (en fait une structure par nœud par numéro) en une structure par processeur, ce qui signifie que de nombreux verrous sur le chemin rapide disparaîtront. Par conséquent, il ne fait aucun doute que les performances s’amélioreront en essayant getrandom() simultanément sur un processeur à plusieurs cœurs. Mais je ne m’attendais pas à ce que cela apporte une amélioration de 8 450 % au test.

De plus, lors du passage de par numa à par processeur, il n'aura plus besoin d'être reporté jusqu'à ce que la file d'attente de travail soit mise en ligne. Comme je l'ai déjà dit, cette amélioration apportera d'énormes avantages aux ordinateurs et aux serveurs dotés d'un nombre élevé de cœurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer