Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen UMA und NUMA

Multiprozessoren können in drei Kategorien mit gemeinsam genutzten Speichern unterteilt werden: UMA (Uniform Memory Access), NUMA (Non-Uniform Memory Access) und COMA (Cache-Only Memory Access). Die Modelle unterscheiden sich nach der Verteilung der Speicher- und Hardwareressourcen. Im UMA-Modell wird der physische Speicher gleichmäßig von den Prozessoren gemeinsam genutzt, die auch für jedes Speicherwort die gleiche Latenz haben, während NUMA den Prozessoren Zugriff auf den Speicher mit variabler Zugriffszeit bietet.

Die in der UMA für den Speicher verwendete Bandbreite ist beschränkt, da ein einzelner Speichercontroller verwendet wird. Das Hauptmotiv der Einführung von NUMA-Maschinen besteht darin, die verfügbare Bandbreite für den Speicher durch Verwendung mehrerer Speichercontroller zu erhöhen.

Vergleichstabelle

Basis zum VergleichUMANUMA
BasicVerwendet einen einzelnen SpeichercontrollerController mit mehreren Speichern
Art der verwendeten BusseSingle, Multiple und Crossbar.Baum und hierarchisch
SpeicherzugriffszeitGleichÄndert sich entsprechend der Entfernung des Mikroprozessors.
Passend fürAllzweck- und Time-Sharing-AnwendungenEchtzeit- und zeitkritische Anwendungen
GeschwindigkeitLangsamerSchneller
BandbreiteBegrenztMehr als UMA.

Definition von UMA

Das UMA- System (Uniform Memory Access) ist eine gemeinsam genutzte Speicherarchitektur für die Multiprozessoren. Bei diesem Modell wird ein einziger Speicher verwendet, auf den alle Prozessoren zugreifen, auf die das Multiprozessorsystem mit Hilfe des Verbindungsnetzes zugreift. Jeder Prozessor verfügt über die gleiche Speicherzugriffszeit (Latenz) und Zugriffsgeschwindigkeit. Es kann entweder der Einzelbus-, der Mehrfachbus- oder der Kreuzschienenschalter verwendet werden. Da es einen symmetrischen Shared Memory-Zugriff ermöglicht, wird es auch als SMP- Systeme (Symmetric Multiprozessor) bezeichnet.

Der typische Aufbau des SMP ist oben gezeigt, wo jeder Prozessor zuerst mit dem Cache verbunden ist und der Cache mit dem Bus verbunden ist. Zuletzt ist der Bus mit dem Speicher verbunden. Diese UMA-Architektur reduziert den Wettbewerb um den Bus, indem die Anweisungen direkt aus dem einzelnen isolierten Cache abgerufen werden. Es bietet auch eine gleiche Wahrscheinlichkeit für das Lesen und Schreiben für jeden Prozessor. Typische Beispiele für das UMA-Modell sind Sun Starfire-Server, Compaq Alpha-Server und HP V-Serie.

Definition von NUMA

NUMA (Non-Uniform Memory Access) ist auch ein Multiprozessormodell, bei dem jeder Prozessor mit dem dedizierten Speicher verbunden ist. Diese kleinen Teile des Speichers bilden jedoch einen einzigen Adressraum. Der Hauptpunkt, über den man nachdenken sollte, ist, dass im Gegensatz zu UMA die Zugriffszeit des Speichers von der Entfernung abhängt, in der sich der Prozessor befindet, was bedeutet, dass die Speicherzugriffszeit variiert. Es ermöglicht den Zugriff auf jeden Speicherplatz unter Verwendung der physischen Adresse.

Wie oben erwähnt, soll die NUMA-Architektur die verfügbare Bandbreite des Speichers erhöhen, für die mehrere Speichercontroller verwendet werden. Es kombiniert zahlreiche Maschinenkerne zu „ Knoten “, wobei jeder Kern über einen Speichercontroller verfügt. Um auf den lokalen Speicher einer NUMA-Maschine zuzugreifen, ruft der Kern den vom Speichercontroller verwalteten Speicher über seinen Knoten ab. Um auf den entfernten Speicher zuzugreifen, der von der anderen Speichersteuerung verarbeitet wird, sendet der Kern die Speicheranforderung über die Verbindungsverbindungen.

Die NUMA-Architektur verwendet die baum- und hierarchischen Busnetzwerke, um die Speicherblöcke und die Prozessoren miteinander zu verbinden. BBN, TC-2000, SGI Origin 3000, Cray sind einige Beispiele für die NUMA-Architektur.

Hauptunterschiede zwischen UMA und NUMA

  1. Das UMA-Modell (Shared Memory) verwendet einen oder zwei Speichercontroller. Im Gegensatz dazu kann NUMA über mehrere Speichercontroller verfügen, um auf den Speicher zuzugreifen.
  2. Einzel-, Mehrfach- und Kreuzschienenbusse werden in der UMA-Architektur verwendet. Umgekehrt verwendet NUMA hierarchische und baumartige Busse und Netzwerkverbindungen.
  3. In UMA ist die Speicherzugriffszeit für jeden Prozessor gleich, während sich in NUMA die Speicherzugriffszeit ändert, wenn sich die Entfernung des Speichers vom Prozessor ändert.
  4. Allzweck- und Time-Sharing-Anwendungen eignen sich für die UMA-Maschinen. Im Gegensatz dazu ist die geeignete Anwendung für NUMA echtzeit- und zeitkritisch zentriert.
  5. Die UMA-basierten parallelen Systeme arbeiten langsamer als die NUMA-Systeme.
  6. Wenn es um Bandbreite UMA geht, haben Sie eine begrenzte Bandbreite. Im Gegenteil, NUMA hat mehr Bandbreite als UMA.

Fazit

Die UMA-Architektur bietet den Prozessoren, die auf den Speicher zugreifen, die gleiche Gesamtlatenz. Dies ist nicht sehr nützlich, wenn auf den lokalen Speicher zugegriffen wird, da die Latenz einheitlich wäre. Andererseits hatte jeder Prozessor in NUMA einen eigenen Speicher, der die Latenz eliminiert, wenn auf den lokalen Speicher zugegriffen wird. Die Latenzzeit ändert sich, wenn sich der Abstand zwischen Prozessor und Speicher ändert (dh nicht einheitlich). Im Vergleich zur UMA-Architektur hat NUMA jedoch die Leistung verbessert.

Top