Qu'est-ce que l'accès mémoire non uniforme (NUMA) ?

Last Updated: 2022-08-02
4.7
(6)
Sommaire:NUMA, abréviation de Non-Unified Memory Access, est une conception de mémoire informatique pour le multitraitement. Regardez ici pour une introduction complète à NUMA.

Définition

NUMA est une architecture multitraitement où la mémoire est divisée en stockage étroit et distant, et le temps d'accès à la mémoire dépend de l'emplacement de la mémoire par rapport au processeur.

Sous NUMA, les processeurs accèdent à leur mémoire locale plus rapidement que la mémoire non locale. Les avantages de NUMA sont limités à des charges de travail spécifiques, en particulier sur les serveurs où les données sont généralement fortement associées à des tâches ou à des utilisateurs spécifiques.

Les systèmes d'accès mémoire non uniformes sont des plates-formes de serveur avancées avec plusieurs bus système. Ces plates-formes peuvent utiliser plusieurs processeurs sur une seule carte et tous les processeurs ont accès à toute la mémoire de la carte mère.

Les architectures NUMA suivent logiquement dans la mise à l'échelle une architecture SMP (Symmetric Multiprocessing). Par rapport à SMP, l'architecture NUMA s'adapte à un plus grand nombre de processeurs.

Concept de base

Modern CPUs run much faster than the main memory they use. In the early stages of computing and data processing, the CPU typically runs slower than its memory. The limiting memory access number is the key to extracting high performance from modern computers.

Cependant, la forte augmentation de la taille du système d'exploitation et des applications s'exécutant sur le système d'exploitation dépasse souvent ces améliorations de traitement du cache. Un système multiprocesseur sans NUMA aggrave encore le problème.

NUMA essaie de résoudre ce problème en fournissant une mémoire distincte pour chaque processeur, évitant ainsi un impact sur les performances lorsque plusieurs processeurs résolvent la même mémoire.

En outre, les systèmes NUMA incluent d'autres matériels ou logiciels pour déplacer les données entre les banques de mémoire. Cela réduit la vitesse des processeurs connectés à ces banques. Par conséquent, l'augmentation globale de la vitesse due à NUMA dépend principalement de la nature de la tâche en cours.

Cache NUMA cohérent (ccNUMA)

Presque toutes les architectures CPU tirent parti des emplacements de référence dans l'accès mémoire avec une petite quantité de mémoire non partagée à grande vitesse appelée mise en cache.

ccNUMA adopte une communication interprocesseur entre les contrôleurs de cache pour maintenir des images mémoire cohérentes lorsque plusieurs caches stockent le même emplacement mémoire. Par conséquent, ccNUMA fonctionne mal lorsque plusieurs processeurs tentent d'accéder rapidement et en continu à la même zone de mémoire.

Supporting NUMA in the operating system tries to reduce the frequency of such access by allocating processors and memory in a NUMA-friendly manner and preventing the scheduling and locking algorithms necessary to make NUMA unfriendly access.

Assistance logicielle

Étant donné que NUMA influence grandement les performances d'accès à la mémoire, une certaine optimisation logicielle est nécessaire pour permettre aux threads et aux processus de planification d'accéder à leurs données de mémoire.

  • Silicon Graphics IRIX prend en charge l'architecture ccNUMA sur 1240 CPU et Origin Server Series.
  • Microsoft Windows 7, ainsi que Windows Server 2008 R2, ont augmenté la prise en charge de plus de 64 cœurs logiques de l'architecture NUMA.
  • Java 7 ajoute la prise en charge des répartiteurs de mémoire et des récupérateurs de mémoire compatibles NUMA.
  • La version 3.13 du noyau Linux a introduit plusieurs politiques pour placer les processus près de la mémoire et gérer des situations telles que l'utilisation de grandes pages transparentes ou le partage de pages mémoire entre les processus. Les nouveaux paramètres sysctl permettent d'activer ou de désactiver l'équilibrage NUMA et de configurer divers paramètres d'équilibrage de la mémoire NUMA.
  • OpenSolaris uses groups to model the NUMA architecture.
  • FreeBSD ajoute la pertinence initiale de NUMA et la configuration de la politique à la version 11.0

En bout de ligne !

In short, after going through this page, you will have a better understanding of the definition, basic concept, and work manner of Non-Unified Memory Access. You will also know that NUMA affects memory access performance so some software optimizes to support it.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne4.7/ 5. Décompte des voix :6

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Article précédent

Comment restaurer la dernière icône de Google Chrome pour Mac vers celle d'origine ? Résumé : NUMA, abréviation de Non-Unified Memory Access, est une conception de mémoire informatique pour le multitraitement. Regardez ici pour une introduction complète...

Article suivant

Comment récupérer des vidéos supprimées sur Mac ? Résumé : NUMA, abréviation de Non-Unified Memory Access, est une conception de mémoire informatique pour le multitraitement. Regardez ici pour une introduction complète...

À propos de la récupération de données Bitwar

3 étapes pour récupérer plus de 500 types de documents, photos, vidéos, audios, fichiers d'archive supprimés, formatés ou perdus à partir de divers scénarios de perte de données.

Apprendre encore plus

Articles chauds

    Articles Liés