Recommandé, 2024

Choix De L'Éditeur

Différence entre UMA et NUMA

Les multiprocesseurs peuvent être divisés en trois catégories de modèles de mémoire partagée: UMA (accès mémoire uniforme), NUMA (accès mémoire non uniforme) et COMA (accès mémoire en mémoire cache). Les modèles sont différenciés en fonction de la répartition de la mémoire et des ressources matérielles. Dans le modèle UMA, la mémoire physique est partagée de manière égale entre les processeurs, qui ont également une latence égale pour chaque mot mémoire, tandis que NUMA fournit un temps d'accès variable aux processeurs pour accéder à la mémoire.

La bande passante utilisée dans la mémoire UMA pour la mémoire est restreinte car elle utilise un contrôleur de mémoire unique. L’avènement des machines NUMA a pour principal objectif d’améliorer la bande passante disponible de la mémoire en utilisant plusieurs contrôleurs de mémoire.

Tableau de comparaison

Base de comparaisonUMANUMA
De baseUtilise un seul contrôleur de mémoireContrôleur de mémoire multiple
Type de bus utiliséSimple, multiple et barre transversale.Arbre et hiérarchique
Temps d'accès mémoireÉgalModifie en fonction de la distance du microprocesseur.
Convient àApplications générales et à temps partagéApplications en temps réel et critiques
La vitesseRalentissezplus rapide
Bande passanteLimitéPlus que UMA.

Définition de l'UMA

Le système UMA (Uniform Memory Access) est une architecture de mémoire partagée pour les multiprocesseurs. Dans ce modèle, une seule mémoire est utilisée, à laquelle tous les processeurs ont accès et qui présentent le système multiprocesseur à l'aide du réseau d'interconnexion. Chaque processeur a un temps d'accès en mémoire (latence) et une vitesse d'accès égaux. Il peut utiliser un commutateur à bus unique, à bus multiple ou à barre transversale. Comme il fournit un accès équilibré à la mémoire partagée, il est également connu sous le nom de système SMP (multi-processeur symétrique) .

La conception typique du SMP est illustrée ci-dessus: chaque processeur est d'abord connecté au cache, puis le cache est lié au bus. Enfin, le bus est connecté à la mémoire. Cette architecture UMA réduit les conflits pour le bus en récupérant les instructions directement à partir du cache isolé individuel. Il fournit également une probabilité égale de lecture et d'écriture à chaque processeur. Les exemples typiques du modèle UMA sont les serveurs Sun Starfire, le serveur Compaq alpha et HP v series.

Définition de NUMA

NUMA (accès non uniforme à la mémoire) est également un modèle multiprocesseur dans lequel chaque processeur est connecté à la mémoire dédiée. Cependant, ces petites parties de la mémoire se combinent pour créer un seul espace d'adressage. Le point principal à considérer ici est que, contrairement à UMA, le temps d'accès de la mémoire dépend de la distance à laquelle le processeur est placé, ce qui signifie que le temps d'accès à la mémoire varie. Il permet d'accéder à n'importe quel emplacement de la mémoire en utilisant l'adresse physique.

Comme mentionné ci-dessus, l'architecture NUMA est destinée à augmenter la bande passante disponible dans la mémoire et pour laquelle elle utilise plusieurs contrôleurs de mémoire. Il combine de nombreux cœurs de machine en « nœuds », chaque cœur étant doté d'un contrôleur de mémoire. Pour accéder à la mémoire locale d'une machine NUMA, le noyau récupère la mémoire gérée par le contrôleur de mémoire par son noeud. Alors que pour accéder à la mémoire distante qui est gérée par l'autre contrôleur de mémoire, le noyau envoie la demande de mémoire via les liens d'interconnexion.

L’architecture NUMA utilise l’arborescence et les réseaux de bus hiérarchiques pour interconnecter les blocs de mémoire et les processeurs. BBN, TC-2000, SGI Origin 3000, Cray sont quelques exemples d’architecture NUMA.

Différences clés entre UMA et NUMA

  1. Le modèle UMA (mémoire partagée) utilise un ou deux contrôleurs de mémoire. Par contre, NUMA peut avoir plusieurs contrôleurs de mémoire pour accéder à la mémoire.
  2. Les bus simples, multiples et crossbar sont utilisés dans l'architecture UMA. À l'inverse, NUMA utilise des types de bus et de connexions réseau hiérarchiques et arborescents.
  3. En UMA, le temps d'accès à la mémoire de chaque processeur est le même, alors que dans NUMA, le temps d'accès à la mémoire change en fonction de la distance entre la mémoire et le processeur.
  4. Les applications d'usage général et à temps partagé conviennent aux machines UMA. En revanche, l'application appropriée pour NUMA est une approche centrée en temps réel et critique.
  5. Les systèmes parallèles basés sur UMA fonctionnent plus lentement que les systèmes NUMA.
  6. En ce qui concerne la bande passante UMA, utilisez une bande passante limitée. Au contraire, NUMA a une bande passante supérieure à UMA.

Conclusion

L'architecture UMA fournit la même latence globale aux processeurs accédant à la mémoire. Ce n'est pas très utile lorsque la mémoire locale est accédée car la latence serait uniforme. D'autre part, dans NUMA, chaque processeur avait sa mémoire dédiée, ce qui éliminait la latence lors de l'accès à la mémoire locale. La latence change à mesure que la distance entre le processeur et la mémoire change (c'est-à-dire, Non uniforme). Toutefois, NUMA a amélioré les performances par rapport à l’architecture UMA.

Top