NUMA

NUMA

Non-Uniform Memory Architecture oder kurz NUMA ist eine Computer-Speicher-Architektur für Multiprozessorsysteme, bei denen jeder Prozessor eigenen, lokalen Speicher hat, aber anderen Prozessoren über einen gemeinsamen Adressraum direkten Zugriff darauf gewährt (Distributed Shared Memory). Die Speicherzugriffszeiten in einem solchen Verbund hängen daher davon ab, ob sich eine Speicheradresse im lokalen oder im fremden Speicher befindet.

Im Gegensatz dazu stehen

  • Uniform-Memory-Access (UMA), bei dem es einen zentralen Speicher gibt, auf den Zugriffszeiten immer gleich sind.
  • No-Remote-Memory-Access (NoRMA), bei dem kein direkter Zugriff auf den fremden Speicher erlaubt ist und jeder Prozessor seinen eigenen Adressraum benutzt.
  • Cache-only-Memory-Access (CoMA), bei dem wie bei NUMA ein gemeinsamer Adressraum sowie für jeden Prozessor separat lokaler Speicher existiert, andere Prozessoren jedoch nicht auf den "entfernten" Speicher schreiben, sondern diesen (ähnlich wie bei Caches) in ihren lokalen Speicher übertragen, woraufhin dieser an seiner vorigen Position gelöscht (invalidiert) wird.

NUMA-Architekturen sind der nächste Schritt zur Erhöhung der Skalierbarkeit der SMP-Architekturen.

Cache coherent NUMA (ccNUMA)

Fast alle Rechnerarchitekturen benutzen eine kleine Menge sehr schnellen Speichers, der als Cache bezeichnet wird, um bei Speicherzugriffen Lokalitätseigenschaften auszunutzen. Bei Verwendung von NUMA sorgt das Beibehalten der Cache-Kohärenz über den verteilten Speicher für zusätzlichen Overhead. Als Beispiel stelle man sich vor, dass sich ein Prozessor Daten aus dem Speicher eines anderen Prozessors holt, damit Berechnungen anstellt und die Ergebnisse in seinen lokalen Cache schreibt. Der Cache des Prozessors, von dem die Daten stammen (und vielleicht auch noch weitere Caches im System) müssen dann synchronisiert werden.

Nicht Cache-kohärente NUMA-Systeme sind zwar einfacher zu entwickeln und zu bauen, aber mit dem Standard-Programmiermodell von Neumanns nur schwer programmierbar. Daher besitzen alle derzeit im Einsatz befindlichen NUMA-Systeme spezielle Hardware, um die Cache-Kohärenz sicherzustellen, und werden deshalb auch als cache-coherent NUMA (ccNUMA) bezeichnet.

Dies wird meistens durch Inter-Prozessor-Kommunikation zwischen den Cache-Controllern erreicht, die so für kohärente Speicherinhalte sorgen, falls die gleiche Speicherstelle in mehr als einem Cache gespeichert ist. ccNUMA leidet unter schlechter Performance, wenn mehrere Prozessoren schnell nacheinander auf dieselbe Speicherstelle zugreifen wollen. Daher versucht ein Betriebssystem mit NUMA-Unterstützung die Häufigkeit solcher Zugriffe zu minimieren, indem Prozessoren und Speicher auf NUMA-freundliche Art und Weise alloziert werden.

Aktuelle Implementationen von ccNUMA-Systemen sind beispielsweise AMD-Mehrprozessorsysteme auf Opteron-Basis und SGI-Systeme mit NUMAlink. Frühere ccNUMA-Systeme basierten auf dem Alpha-Prozessor EV7 der Digital Equipment Corporation (DEC) oder den MIPS R1x000 Prozessoren wie etwa in der SGI Origin Serie.

NUMA vs. Cluster-Computing

Im Unterschied zu NUMA-Computern verfügt jeder Cluster-Knoten über einen eigenen Adressraum. Weiterhin sind die Kommunikationslatenzen zwischen Cluster-Knoten deutlich höher als die zwischen NUMA-gekoppelten Prozessoren.

Durch entsprechende Anpassungen im Betriebssystem beim Paging des virtuellen Speicher ist es möglich, clusterweite Adressräume zu implementieren, und somit "NUMA in Software" umzusetzen. Da die hohen Latenzen jedoch bestehen bleiben, ist dies nur selten von Nutzen.

Weblinks


Der Original-Artikel aus der englischen Wikipedia enthält Material von FOLDOC, das hier und in der engl. Wikipedia unter einer Public-Domain-Lizenz verwendet wird.


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Numa — ist der Name mehrerer Orte in den Vereinigten Staten: Numa (Indiana) Numa (Iowa) Numa (Louisiana) Numa (Oklahoma) Numa ist ein männlicher Vorname, der ursprünglich aus dem Lateinischen stammt und heute vor allem im französischen Sprachraum… …   Deutsch Wikipedia

  • NUMA — Pour les articles homonymes, voir Numa. En informatique, NUMA est l acronyme anglais de Non Uniform Memory Access ou Non Uniform Memory Architecture, signifiant respectivement accès mémoire non uniforme et architecture mémoire non uniforme. Il s… …   Wikipédia en Français

  • Numa — may refer to: Numa Pompilius, legendary second king of Rome Numa Morikazu, Meiji era Japanese politician Numa, Iowa, U.S. town The Numa Numa Internet meme The Northern Paiute people A performing lion who was raised at Gay s Lion Farm in El Monte …   Wikipedia

  • Numa — Numa, IA U.S. city in Iowa Population (2000): 109 Housing Units (2000): 66 Land area (2000): 0.443643 sq. miles (1.149030 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 0.443643 sq. miles (1.149030 sq. km) FIPS …   StarDict's U.S. Gazetteer Places

  • Numa, IA — U.S. city in Iowa Population (2000): 109 Housing Units (2000): 66 Land area (2000): 0.443643 sq. miles (1.149030 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 0.443643 sq. miles (1.149030 sq. km) FIPS code:… …   StarDict's U.S. Gazetteer Places

  • NUMA — es el acrónimo de Non uniform Memory Access , acceso no uniforme a memoria. Se trata de un tipo de arquitectura de ordenadores que generalmente se utiliza en servidores de alta gama y servidores particionables debido a su mayor escalabilidad …   Enciclopedia Universal

  • numa — NÚMA adv. v. numai. Trimis de bogdanrsb, 13.09.2007. Sursa: DEX 98 …   Dicționar Român

  • NUMA — (Non Uniform Memory Access) parallel processing architecture in which each processor has its own memory but can also access the memory of other processors (Computers) …   English contemporary dictionary

  • numa — nùma ž DEFINICIJA pov. kovani novac, kovanica ETIMOLOGIJA lat. nummus: novac …   Hrvatski jezični portal

  • numa — sf. 1. žr. nuoma 2: Ans savo nùmą išrinks iš pievų, t. y. savo rendą J. 2. žr. nuoma 3: Nevok penigų bei lobio, numomis neplėšk to kraujo Mž389 …   Dictionary of the Lithuanian Language

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”