Linux 6.9 offrira un démarrage plus rapide sur les grands systèmes avec beaucoup de RAM

Tux, la mascotte du noyau Linux

Le noyau Linux est l'épine dorsale des systèmes d'exploitation (OS) Linux et constitue l'interface fondamentale entre le matériel d'un ordinateur et ses processus.

Il ya quelques jours Nous partageons ici sur le blog la nouvelle d'un des changements Ce que l'on peut trouver au lancement du noyau Linux 6.9, qui est actuellement en développement et divers changements ont déjà été annoncés et ce que nous avons annoncé, c'est que EXT2 est déjà passé dans la catégorie des obsolètes et aussi que l'utilisation de l'ancien pilote NTFS sera laissée de côté au profit du pilote développé par Paragon Software.

maintenant, dans les dernières nouvelles sur les nouvelles fonctionnalités que Linux 6.9 nous présentera, c'est que Cette version du Kernel apportera une amélioration significative du temps de démarrage pour les utilisateurs gérant des systèmes avec de grandes quantités de RAM, en particulier ceux qui Ils utilisent les pages HugeTLB. Cela entraîne une réduction considérable du temps nécessaire à l'initialisation de ces pages lors du processus de démarrage du système.

Article connexe:
Paragon a publié une implémentation NTFS pour le noyau Linux

Et le changement ajouté dans Linux 6.9 permettra aux systèmes avec un grand nombre de pages HugeTLB de bénéficier d'une réduction notable à l'heure de début. Par exemple, sur des systèmes de 2 To sur lesquels 1800 1 pages de XNUMX Go sont initialisées, ce qui actuellement ils prennent entre 1 et 2 secondes sur un total de 10 secondes, ce qui constitue sans aucun doute une amélioration considérable en ces temps. De même, sur les hôtes Intel de 12 To où 11 776 pages de 1 Go sont initialisées, ce qui peut prendre plus d'une minute, vous constaterez une réduction significative de ces temps de démarrage.

Ces avancées ont été rendus possibles grâce au travail dévoué du développeur Linux Gang Li de Bytedance, qui a mis en œuvre une série de correctifs qui ont fait l'objet de plusieurs révisions pour garantir une exécution efficace. L'infrastructure du noyau existante, telle que padata_do_multithreaded, a été utilisé avec des modifications minimes pour obtenir ces résultats.

Deux mises à jour en v6…

– Correction d'un bug potentiel dans Together_bootmem_prealloc_node
L'implémentation padata_do_multithreaded garantit que chaque
La tâche Together_bootmem_prealloc_node gère un nœud. Cependant, l'API décrite
dans le commentaire padata_do_multithreaded indique que padata_do_multithreaded également
Vous pouvez attribuer plusieurs nœuds à une tâche ensemble_bootmem_prealloc_node.

Pour éviter d'éventuelles erreurs liées aux modifications futures de padata_do_multithreaded,
Together_bootmem_prealloc_parallel est introduit pour envelopper le
ensemble_bootmem_prealloc_node.

Les bénéfices de ces améliorations sont particulièrement remarquable dans les environnements où la disponibilité des services et la disponibilité du système sont critiques, comme dans le cas des hyperscalers et des grandes organisations qui gèrent de très gros serveurs. La réduction du temps de démarrage lors des redémarrages est très avantageuse pour garantir une disponibilité plus rapide et plus efficace.

Par ailleurs, Il convient également de mentionner un autre changement qui ont été inclus dans Linux 6.9 qui est un correctif d'un ingénieur Linux expérimenté chez Intel, qui introduit une technique améliorée pour limiter la bande passante mémoire lors des actualisations du cache x86, similaire à celui utilisé par Intel dans les processeurs RDT et AMD EPYC avec le code resctrl.

L'auteur du patch mentionne que :

La boucle de rétroaction MBA_mbps augmente la limitation lorsqu'un groupe utilise plus de bande passante que celle définie par l'utilisateur dans le fichier de schéma, et diminue la limitation lorsqu'elle est inférieure à la cible.

Il convient de mentionner que la nouvelle technique visant à limiter la bande passante mémoire est conçu pour gérer plus efficacement les charges de travail avec des niveaux de charge non uniformess, évitant ainsi les pénalités inutiles survenues dans les versions précédentes du noyau.

Pour éviter des fluctuations inutiles de l'accélération à chaque itération, l'indicateur « delta_comp » est utilisé pour indiquer les changements réels de bande passante à enregistrer lors de l'itération suivante dans « delta_bw ». La limitation n'est réduite que si la bande passante actuelle plus delta_bw est inférieure à l'objectif de l'utilisateur.

A ce titre, il est mentionné que L'algorithme fonctionne bien avec des charges de travail à bande passante constante, mais cela peut échouer si la charge de travail change juste au moment où la limitation change. Pour résoudre ce problème, une technique plus simple a été mise en œuvre qui calcule l'augmentation potentielle de la bande passante si la limitation est réduite au niveau immédiatement supérieur, garantissant qu'elle reste en dessous de l'objectif de l'utilisateur avant de réduire la limitation.

Si vous intéressé à en savoir plus, vous pouvez consulter les détails dans les liens suivants :