Zurück zur Übersicht

Begriff

NUMA (Non-Uniform Memory Access)

Hardware Operating Systems S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Früher (UMP): Alle CPUs griffen auf den gleichen RAM-Riegel zu. Mit 64 Cores wird der Bus zum Stau. Lösung: NUMA. Man teilt den RAM auf. Prozessor 1 bekommt seinen eigenen RAM ("Local Memory"). Prozessor 2 bekommt seinen eigenen RAM. Wenn Prozessor 1 auf seinen RAM zugreift -> Superschnell. Wenn Prozessor 1 auf RAM von Prozessor 2 zugreift ("Remote Memory") -> Langsam (muss über den Interconnect, z. B. QPI/UPI). "Non-Uniform" heißt: Zugriffsdauer ist ungleichmäßig. Als Admin/Entwickler musst du aufpassen: Dein Prozess sollte immer auf dem Core laufen, wo auch seine Daten liegen (CPU Pinning).

Merksatz: Eine Speicherarchitektur für Multiprozessorsysteme, bei der die Zugriffszeit auf den Arbeitsspeicher davon abhängt, wo sich der Speicher relativ zum zugreifenden Prozessor befindet (lokal vs. remote).


Quick-Check

  1. UMA?
    Uniform Memory Access. Der Gegensatz. Alle Speicherzugriffe sind gleich schnell. (Mein Laptop ist UMA. Mein Dual-Socket-Server ist NUMA).
  2. vNUMA?
    Virtual NUMA. Man spiegelt die physische NUMA-Topologie in die virtuelle Maschine, damit das Gast-OS optimieren kann. Wichtig für riesige VMs (SAP HANA).
  3. Threadripper?
    Sogar moderne Desktop-CPUs (AMD Threadripper) haben intern NUMA-Strukturen, weil sie aus mehreren Chiplets bestehen.