Multiprozessoren werden eingeteilt in drei Arten von Shared-Memory-Modellen: UMA (Uniform Memory Access), NUMA (Non-Uniform Memory Access) und COMA (Cache-only Memory Access) . Die Modelle unterscheiden sich je nachdem, wie Speicher- und Hardwareressourcen zugewiesen werden. Der physische Speicher wird im UMA-Modell gleichmäßig von den Prozessoren gemeinsam genutzt, wobei auch die Latenzzeit für jedes Speicherwort identisch ist. Im Gegensatz dazu gibt NUMA der CPU eine variable Zugriffszeit für den Zugriff auf den Speicher.
In diesem Artikel erfahren Sie mehr über den Unterschied zwischen EINS Und IN . Bevor Sie jedoch auf die Unterschiede eingehen, müssen Sie UMA und NUMA kennen.
plsql
Was ist UMA?
EINS ist eine Abkürzung für „Einheitlicher Speicherzugriff“ . Es handelt sich um eine Multiprozessor-Shared-Memory-Architektur. Bei diesem Modell nutzen und greifen alle Prozessoren im Multiprozessorsystem mit Hilfe des Verbindungsnetzwerks auf denselben Speicher zu.
Die Latenz und Zugriffsgeschwindigkeit jedes einzelnen CPU ist dasselbe. Es kann von a Gebrauch machen Crossbar-Switch, ein Single-Bus-Switch oder ein Multiple-Bus-Switch . Es wird auch als bezeichnet SMP (Symmetrischer Multiprozessor) System, da es einen ausgewogenen Zugriff auf den gemeinsam genutzten Speicher bietet. Es eignet sich für Time-Sharing- und Allzweckanwendungen.
Was ist NUMA?
IN ist eine Abkürzung für „Ungleichmäßiger Speicherzugriff“ . Es handelt sich außerdem um ein Multiprozessormodell mit dediziertem Speicher für jede CPU. Aber diese kleinen Speicherkomponenten bilden zusammen einen einzigen Adressraum. Die Speicherzugriffszeit wird durch den Abstand zwischen der CPU und dem Speicher bestimmt, was zu unterschiedlichen Speicherzugriffszeiten führt. Es ermöglicht den Zugriff auf jeden Speicherort über die physische Adresse.
Der NUMA-Architektur ist darauf ausgelegt, die verfügbare Speicherbandbreite durch die Verwendung mehrerer Speichercontroller zu maximieren. Es integriert viele Maschinenkerne in 'Knoten' , wobei jeder Kern über einen eigenen Speichercontroller verfügt. In einem IN Im System erhält der Kern den vom Speichercontroller verwalteten Speicher von seinem Knoten, um auf den lokalen Speicher zuzugreifen. Der Kern überträgt die Speicheranforderung über die Verbindungsverbindungen, um auf den entfernten Speicher zuzugreifen, den der andere Speichercontroller verarbeitet. Die NUMA-Architektur verwendet hierarchische und Baumbusnetzwerke, um die Speicherblöcke und CPUs zu verbinden. Einige Beispiele für die NUMA-Architektur sind BBN, SGI Origin 3000, TC-2000 und Cray .
Hauptunterschiede zwischen UMA und NUMA
Es gibt verschiedene wesentliche Unterschiede zwischen EINS Und IN . Einige der wichtigsten Unterschiede zwischen UMA und NUMA sind folgende:
- Der UMA (Uniform Memory Access) enthält einen einzelnen Speichercontroller. Im Gegensatz dazu kann NUMA (Non-Uniform Memory Access) mehrere Speichercontroller verwenden, um auf den Speicher zuzugreifen.
- Die Speicherzugriffszeit für jede CPU in UMA ist gleich. Im Gegensatz dazu variiert die Speicherzugriffszeit in NUMA mit der Entfernung des Speichers von der CPU.
- UMA wird in einer Vielzahl von Allzweck- und Time-Sharing-Apps verwendet. Andererseits wird NUMA in Echtzeit- und zeitkritischen Apps eingesetzt.
- Die UMA-Architektur verwendet Einzel-, Mehrfach- und Crossbar-Busse. Andererseits verwendet die NUMA hierarchische und baumstrukturierte Busse und Netzwerkverbindungen.
- Hinsichtlich der Bandbreite verfügt die UMA-Architektur über eine begrenzte Bandbreite. Andererseits verfügt NUMA über eine höhere Bandbreite als UMA.
- Der Speicherzugriff in UMA ist langsam. Andererseits ist der NUMA-Speicherzugriff schneller als der UMA-Speicherzugriff.
Direkter Vergleich zwischen UMA und NUMA
Hier erfahren Sie die direkten Vergleiche zwischen UMA und NUMA. Die Hauptunterschiede zwischen UMA und NUMA sind folgende:
js onclick
Merkmale | EINS | IN |
---|---|---|
Vollformen | UMA ist eine Abkürzung für Uniform Memory Access. | NUMA ist eine Abkürzung für Non-Uniform Memory Access. |
Speichercontroller | Es enthält einen einzelnen Speichercontroller. | Es enthält mehrere Speichercontroller. |
Speicherzugriffszeit | Es enthält eine ausgeglichene oder gleiche Speicherzugriffszeit. | Seine Speicherzugriffszeit ändert sich je nach Entfernung des Mikroprozessors. |
Speicherzugriff | Der Speicherzugriff ist langsam. | Der Speicherzugriff ist schneller. |
Eignung | Es wird hauptsächlich in Time-Sharing- und Allzweckanwendungen eingesetzt. | Es wird hauptsächlich in zeitkritischen und Echtzeit-Apps eingesetzt. |
Bandbreite | Die Bandbreite ist begrenzt. | Es hat mehr Bandbreite. |
Bustyp | Es verwendet Einzel-, Mehrfach- und Crossbar-Busse. | Es verwendet hierarchische und baumstrukturierte Busse und Netzwerkverbindungen. |
Abschluss
Die UMA-Architektur bietet die gleiche Gesamtlatenz für die Prozessoren, die auf den Speicher zugreifen, und ist beim Zugriff auf den lokalen Speicher nicht besonders nützlich, da die Verzögerung gleichmäßig wäre. Im Gegensatz dazu verfügt in NUMA jeder Prozessor über seinen eigenen dedizierten Speicher, wodurch Verzögerungen beim Zugriff auf den lokalen Speicher vermieden werden. Die Latenzänderungen hängen vom Abstand zwischen den CPU- und Speicheränderungen ab. Im Vergleich zum UMA-Design bietet NUMA jedoch eine verbesserte Leistung.