Unterschied zwischen UMA und NUMA
Inhalt
Multiprozessoren können in drei Shared-Memory-Modellkategorien 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 auf die Prozessoren aufgeteilt, die auch für jedes Speicherwort die gleiche Latenz haben, während NUMA den Prozessoren eine variable Zugriffszeit für den Zugriff auf den Speicher bietet.
Die Bandbreite, die in der UMA für den Speicher verwendet wird, ist begrenzt, da ein einzelner Speichercontroller verwendet wird. Das Hauptmotiv des Aufkommens von NUMA-Maschinen besteht darin, die verfügbare Bandbreite für den Speicher durch die Verwendung mehrerer Speichercontroller zu verbessern.
-
- Vergleichstabelle
- Definition
- Hauptunterschiede
- Fazit
Vergleichstabelle
Vergleichsbasis | UMA | NUMA |
---|---|---|
Basic | Verwendet einen einzelnen Speichercontroller | Mehrfachspeicher-Controller |
Art der verwendeten Busse | Single, Multiple und Crossbar. | Baum und Hierarchie |
Speicherzugriffszeit | Gleich | Ändert sich je nach Entfernung des Mikroprozessors. |
Passend für | Allzweck- und Time-Sharing-Anwendungen | Echtzeit- und zeitkritische Anwendungen |
Geschwindigkeit | Langsamer | Schneller |
Bandbreite | Begrenzt | Mehr als die UMA. |
Definition von UMA
UMA (Uniform Memory Access) System ist eine Shared-Memory-Architektur für die Multiprozessoren. In diesem Modell wird ein einzelner Speicher verwendet, auf den alle Prozessoren des Multiprozessorsystems mit Hilfe des Verbindungsnetzes zugreifen. Jeder Prozessor hat die gleiche Speicherzugriffszeit (Latenz) und Zugriffsgeschwindigkeit. Es kann entweder der Einzelbus-, der Mehrfachbus- oder der Kreuzschienenschalter verwendet werden. Da es einen ausgeglichenen gemeinsamen Speicherzugriff bietet, wird es auch als bezeichnet SMP (Symmetrischer Multiprozessor) systeme.
Der typische Aufbau des SMP ist oben dargestellt, wobei jeder Prozessor zuerst mit dem Cache verbunden wird und der Cache dann mit dem Bus verbunden wird. Endlich ist der Bus mit dem Speicher verbunden. Diese UMA-Architektur reduziert die Konkurrenz um den Bus, indem die Anweisungen direkt aus dem einzelnen isolierten Cache abgerufen werden. Es bietet auch die gleiche Wahrscheinlichkeit zum Lesen und Schreiben für jeden Prozessor. Die typischen Beispiele für das UMA-Modell sind Sun Starfire-Server, Compaq alpha-Server und HP v-Serie.
Definition von NUMA
NUMA (ungleichmäßiger Speicherzugriff) ist auch ein Multiprozessor-Modell, bei dem jeder Prozessor mit dem dedizierten Speicher verbunden ist. Diese kleinen Teile des Speichers bilden jedoch zusammen 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 einen beliebigen Speicherort unter Verwendung der physikalischen Adresse.
Wie oben erwähnt, soll die NUMA-Architektur die verfügbare Bandbreite für den Speicher erhöhen und für die sie mehrere Speichercontroller verwendet. Es vereint zahlreiche Maschinenkerne zuKnoten”Wobei jeder Kern einen Speichercontroller hat. Um auf den lokalen Speicher in einem NUMA-Computer zuzugreifen, ruft der Core den vom Speichercontroller verwalteten Speicher von seinem Knoten ab. Während auf den entfernten Speicher zugegriffen wird, der von dem anderen Speichercontroller gehandhabt 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. Beispiele für die NUMA-Architektur sind BBN, TC-2000, SGI Origin 3000 und Cray.
- 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.
- Einzel-, Mehrfach- und Kreuzschienenbusse werden in der UMA-Architektur verwendet. Umgekehrt verwendet NUMA hierarchische und Baumtypen von Bussen und Netzwerkverbindungen.
- In UMA ist die Speicherzugriffszeit für jeden Prozessor gleich, während sich in NUMA die Speicherzugriffszeit ändert, wenn sich der Abstand des Speichers vom Prozessor ändert.
- Allzweck- und Time-Sharing-Anwendungen sind für die UMA-Maschinen geeignet. Im Gegensatz dazu ist die geeignete Anwendung für NUMA echtzeit- und zeitkritisch.
- Die UMA-basierten Parallelsysteme arbeiten langsamer als die NUMA-Systeme.
- Wenn es um Bandbreiten-UMA geht, muss die Bandbreite begrenzt sein. 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 in NUMA jeder Prozessor seinen eigenen Speicher, wodurch die Latenz beim Zugriff auf den lokalen Speicher beseitigt wird. Die Latenz ändert sich, wenn sich der Abstand zwischen dem Prozessor und dem Speicher ändert (d. H. Ungleichmäßig). NUMA hat jedoch die Leistung im Vergleich zur UMA-Architektur verbessert.