Red Hat Training

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

4.4. Améliorations de NUMA Red Hat Enterprise Linux 6

Red Hat Enterprise Linux 6 inclut un certain nombre d'améliorations afin de capitaliser sur la totalité du potentiel du matériel hautement évolutif moderne. Cette section vous offre un aperçu de haut niveau des plus importantes améliorations des performances NUMA apportées par Red Hat Enterprise Linux 6.

4.4.1. Optimisation de l'évolutivité et du bare-metal

4.4.1.1. Améliorations de la conscience de la topologie

Les améliorations suivantes permettent à Red Hat Enterprise Linux de détecter des détails du matériel de bas niveau et de l'architecture, améliorant ainsi sa capacité à automatiquement optimiser le traitement sur votre système.
détection de topologie améliorée
Ceci permet au système d'exploitation de détecter les détails du matériel de bas niveau (comme les CPU logiques, les hyper threads, les cœurs, sockets, nœuds NUMA et le temps d'accès entre les nœuds) au démarrage et d'optimiser le traitement sur votre système.
completely fair scheduler (ordonnanceur complètement équitable)
Ce nouveau mode de planification assure que le runtime est partagé de manière équitable entre les processus éligibles. Combiner celui-ci à la détection de topologie permet aux processus d'être planifiés sur des CPU dans le même socket afin d'éviter de développer le besoin d'un accès mémoire distant coûteux et d'assurer que le contenu du cache soit préservé lorsque possible.
malloc
malloc est maintenant optimisé pour assurer que les régions de la mémoire qui sont allouées à un processus soient physiquement aussi proches que possible du cœur sur lequel le processus est en cours d'exécution. Ceci augmente la vitesse d'accès mémoire.
allocation du tampon d'E/S skbuff
De la même manière que malloc, ceci est maintenant optimisé de manière à utiliser la mémoire qui est physiquement proche des opérations d'E/S de gestion de CPU, comme les interruptions de périphériques.
affinités des interruptions de périphériques
Informations enregistrées par des pilotes de périphérique sur quels identificateurs de CPU effectuant des interruptions peuvent être utilisés pour restreindre la gestion des interruptions à des CPU situés dans le même socket physique, préservant les affinités du cache et limitant les communications haut volume à travers les sockets.

4.4.1.2. Améliorations de la synchronisation de multiples processeurs

Coordonner des tâches entre multiples processeurs requiert des opérations fréquentes et assez longues afin de s'assurer que les processus exécutés en parallèle ne compromettent pas l'intégrité des données. Red Hat Enterprise Linux inclut les améliorations suivantes pour obtenir de meilleures performances dans ce domaine.
Verrous RCU (« Read-Copy-Update »)
Habituellement, 90% des verrous sont acquis à des fins de lecture-seule.Le verrouillage RCU supprime le besoin d'obtenir un verrou d'accès exclusif lorsque les données accédées ne sont pas modifiées. Ce mode de verrouillage est maintenant utilisé dans l'allocation de mémoire du cache de page : le verrouillage est uniquement utilisé pour les opérations d'allocation ou de dés-allocation.
Algorithmes « par CPU » et « par socket »
De nombreux algorithmes ont été mis à jour pour réaliser une coordination des verrous parmi les CPU coopérant sur le même socket afin de permettre un meilleur verrouillage à grains fins. De nombreux verrous tournants globaux ont été remplacés par des méthodes de verrouillage « par socket » et la mise à jour des zones de l'allocateur de mémoire et des listes de pages mémoire liées permettent à la logique de l'allocation de mémoire de traverser un sous-ensemble des structures de données mappant la mémoire plus efficace lors des opérations d'allocation et de dés-allocation.