Was ist nicht einheitlicher Speicherzugriff (NUMA)?

Last Updated: 2022-08-02
4.3
(7)
Zusammenfassung: NUMA, kurz für Non-Unified Memory Access, ist ein Computerspeicherdesign für Multiprocessing. Eine vollständige Einführung in NUMA finden Sie hier.

Definition

NUMA ist eine Multiprozessorarchitektur, bei der der Speicher in einen engen und einen entfernten Speicher unterteilt ist und die Speicherzugriffszeit von der Speicherposition relativ zum Prozessor abhängt.

Unter NUMA greifen Prozessoren schneller auf ihren lokalen Speicher zu als auf nicht-lokalen Speicher. Die Vorteile von NUMA sind auf bestimmte Workloads beschränkt, insbesondere auf Servern, auf denen Daten typischerweise stark mit bestimmten Aufgaben oder Benutzern verbunden sind.

Nicht gleichförmige Speicherzugriffssysteme sind fortschrittliche Serverplattformen mit mehreren Systembussen. Diese Plattformen können mehrere Prozessoren auf einem einzigen Board verwenden, und alle Prozessoren haben Zugriff auf den gesamten Speicher des Motherboards.

Die NUMA-Architekturen folgen in der Skalierung logisch einer SMP-Architektur (Symmetric Multiprocessing). Im Vergleich zu SMP lässt sich die NUMA-Architektur auf eine höhere Anzahl von CPUs skalieren.

Basiskonzept

Modern CPUs run much faster than the main memory they use. In the early stages of computing and data processing, the CPU typically runs slower than its memory. The limiting memory access number is the key to extracting high performance from modern computers.

Der starke Anstieg der Größe des Betriebssystems und der Anwendungen, die auf dem Betriebssystem ausgeführt werden, überfordert jedoch oft diese Verbesserungen der Cache-Verarbeitung. Ein Multiprozessorsystem ohne NUMA verschlimmert das Problem noch.

NUMA versucht, dieses Problem zu beheben, indem für jeden Prozessor separater Speicher bereitgestellt wird, um Leistungseinbußen zu vermeiden, wenn mehrere Prozessoren denselben Speicher auflösen.

Außerdem enthalten NUMA-Systeme andere Hardware oder Software zum Verschieben von Daten zwischen Speicherbänken. Dies verringert die Geschwindigkeit der an diese Bänke angeschlossenen Prozessoren. Daher hängt die Gesamtgeschwindigkeitserhöhung aufgrund von NUMA hauptsächlich von der Art der laufenden Aufgabe ab.

Kohärentes NUMA im Cache (ccNUMA)

Fast alle CPU-Architekturen nutzen Referenzpositionen beim Speicherzugriff mit einer kleinen Menge an nicht gemeinsam genutztem Hochgeschwindigkeitsspeicher namens Caching.

ccNUMA verwendet eine Interprozessor-Kommunikation zwischen Cache-Controllern, um konsistente Speicherabbilder aufrechtzuerhalten, wenn mehrere Caches denselben Speicherort speichern. Infolgedessen schneidet ccNUMA schlecht ab, wenn mehrere Prozessoren versuchen, schnell und kontinuierlich auf denselben Speicherbereich zuzugreifen.

Supporting NUMA in the operating system tries to reduce the frequency of such access by allocating processors and memory in a NUMA-friendly manner and preventing the scheduling and locking algorithms necessary to make NUMA unfriendly access.

Software-Unterstützung

Da NUMA die Leistung des Speicherzugriffs stark beeinflusst, ist eine gewisse Softwareoptimierung erforderlich, damit die Planung von Threads und Prozessen auf ihre Speicherdaten zugreifen kann.

  • Silicon Graphics IRIX unterstützt die ccNUMA-Architektur über 1240 CPU- und Origin-Serverserien.
  • Sowohl Microsoft Windows 7 als auch Windows Server 2008 R2 haben die Unterstützung für mehr als 64 logische Kerne der NUMA-Architektur verbessert.
  • Java 7 fügt Unterstützung für NUMA-fähige Speicherzuordnungen und Garbage Collectors hinzu.
  • Version 3.13 des Linux-Kernels führte mehrere Richtlinien ein, um Prozesse in der Nähe des Speichers zu platzieren und Situationen wie die Verwendung großer transparenter Seiten oder die gemeinsame Nutzung von Speicherseiten zwischen Prozessen zu behandeln. Mit den neuen sysctl-Einstellungen können Sie den NUMA-Balancing aktivieren oder deaktivieren und verschiedene Parameter für den NUMA-Speicherausgleich konfigurieren.
  • OpenSolaris uses groups to model the NUMA architecture.
  • FreeBSD fügt der Version 11.0 die anfängliche NUMA-Relevanz und die Richtlinienkonfiguration hinzu

Endeffekt!

In short, after going through this page, you will have a better understanding of the definition, basic concept, and work manner of Non-Unified Memory Access. You will also know that NUMA affects memory access performance so some software optimizes to support it.

Wie nützlich war dieser Beitrag?

Klicken Sie auf einen Stern, um ihn zu bewerten!

Durchschnittliche Bewertung 4.3 / 5. Stimmenzahl: 7

Bisher keine Stimmen! Seien Sie der Erste, der diesen Beitrag bewertet.

Vorheriger Artikel

So setzen Sie das neueste Google Chrome-Symbol für Mac auf das Original zurück Zusammenfassung: NUMA, kurz für Non-Unified Memory Access, ist ein Computerspeicherdesign für Multiprocessing. Eine vollständige Einführung finden Sie hier...

Nächster Artikel

So stellen Sie gelöschte Videos vom Mac wieder her Zusammenfassung: NUMA, kurz für Non-Unified Memory Access, ist ein Computerspeicherdesign für Multiprocessing. Eine vollständige Einführung finden Sie hier...

Über Bitwar-Datenwiederherstellung

3 Schritte, um mehr als 500 Arten von gelöschten, formatierten oder verlorenen Dokumenten, Fotos, Videos, Audios und Archivdateien aus verschiedenen Datenverlustszenarien zurückzubekommen.

Erfahren Sie mehr

Heiße Artikel

    In Verbindung stehende Artikel