Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.3. Structure de liste dynamique

Le système d'exploitation requiert un ensemble d'informations sur chaque processeur dans le système. Dans Red Hat Enterprise Linux 5, cet ensemble d'informations était alloué à une matrice de taille fixe dans la mémoire. Des informations sur chaque processeur individuel étaient obtenues en effectuant un index dans cette matrice. Cette méthode était rapide, facile et directe pour les systèmes contenant relativement peu de processeurs.
Cependant, au fur et à mesure que le nombre de processeurs d'un système a augmenté, cette méthode a produit des en-têtes significatifs. Comme la matrice à taille fixe dans la mémoire est une ressource unique partagée, elle peut devenir une source de congestion car davantage de processeurs tentent d'y accéder au même moment.
Pour répondre à ce problème, Red Hat Enterprise Linux 6 utilise une structure de liste dynamique pour les informations des processeurs. Ceci permet à la matrice utilisée pour les informations des processeurs d'être allouée de manière dynamique : si uniquement huit processeurs se trouvent dans le système, alors seules huit entrées sont créées dans la liste. Si 2048 processeurs se trouvent dans le système, alors 2048 entrées seront créées aussi.
Une structure de liste dynamique permet un verrouillage à granularité fine. Par exemple, si les informations doivent être mises à jour au même moment pour les processeurs 6, 72, 183, 657, 931 et 1546, ceci peut être effectué avec un meilleur parallélisme. Bien évidemment, de telles situations se produisent plus fréquemment sur des systèmes de haute performance que sur des systèmes de petite taille.