Ungleichförmiger Speicherzugang

Non-Uniform Memory Access (NUMA) ist ein in der Mehrverarbeitung verwendetes Computerspeicherdesign, wo die Speicherzugriffszeit von der Speicherposition hinsichtlich eines Verarbeiters abhängt. Unter NUMA kann ein Verarbeiter auf sein eigenes lokales Gedächtnis schneller zugreifen als nichtlokales Gedächtnis, d. h. Gedächtnis, das zu einem anderen Verarbeiter oder zwischen Verarbeitern geteiltem Gedächtnis lokal ist.

NUMA Architekturen folgen logisch im Schuppen von der symmetrischen Mehrverarbeitung (SMP) Architekturen. Ihre kommerzielle Entwicklung ist in der Arbeit von Burroughs (später Unisys), Konvexer Computer (später Hewlett Packard), Honeywell Information Systems Italy (HISI) (später Groupe Stier), Silikongrafik (später Silicon Graphics International), Folgende Computersysteme (später IBM), Daten Allgemein (später EMC) und Digital (später Compaq, jetzt HP) während der 1990er Jahre gekommen. Techniken, die von diesen Gesellschaften später entwickelt sind, die in einer Vielfalt von Unix ähnlichen Betriebssystemen, und etwas in Windows NT gezeigt sind.

Die erste kommerzielle Durchführung eines NUMA-basierten Unix Systems war die Symmetrische Vielverarbeitung XPS-100 Familie von Servern, die von Dan Gielan von VAST Corporation für Honeywell Informationssysteme Italien entworfen sind. Der enorme Erfolg der Architektur hat HISI zu #1 Punkt von Verkäufern von Unix in Europa angetrieben.

Grundlegendes Konzept

Moderne Zentraleinheiten funktionieren beträchtlich schneller als das Hauptgedächtnis, das sie verwenden. In den frühen Tagen der Computerwissenschaft und Daten, die die Zentraleinheit allgemein bearbeiten, ist langsamer gelaufen als sein Gedächtnis. Die Leistungslinien haben sich in den 1960er Jahren mit dem Advent der ersten Supercomputer und der Hochleistungscomputerwissenschaft getroffen. Seitdem haben Zentraleinheiten, zunehmend "nach Daten gehungert", haben stecken bleiben müssen, während sie auf Speicherzugänge warten, um zu vollenden. Viele Supercomputerdesigns der 1980er Jahre und der 90er Jahre haben sich darauf konzentriert, Schnellspeicher-Zugang im Vergleich mit schnelleren Verarbeitern zur Verfügung zu stellen, ihnen erlaubend, an großen Dateien mit Geschwindigkeiten zu arbeiten, denen sich andere Systeme nicht nähern konnten.

Das Begrenzen der Zahl von Speicherzugängen hat den Schlüssel zum Extrahieren hoher Leistung von einem modernen Computer zur Verfügung gestellt. Für Warenverarbeiter bedeutet das, einen ständig steigenden Betrag des Hochleistungsgedächtnisses des geheimen Lagers zu installieren und immer hoch entwickeltere Algorithmen zu verwenden, um "geheimes Lager Fräulein" zu vermeiden. Aber die dramatische Zunahme in der Größe der Betriebssysteme und der auf ihnen geführten Anwendungen hat allgemein diese geheimes Lager bearbeitenden Verbesserungen überwältigt. Mehrverarbeiter-Systeme machen das Problem beträchtlich schlechter. Jetzt kann ein System mehrere Verarbeiter zur gleichen Zeit namentlich hungern lassen, weil nur ein Verarbeiter auf Gedächtnis auf einmal zugreifen kann.

NUMA versucht, dieses Problem durch die Versorgung getrennten Gedächtnisses für jeden Verarbeiter, das Vermeiden des Leistungserfolgs zu richten, wenn mehrere Verarbeiter versuchen, dasselbe Gedächtnis zu richten. Für Probleme, die Ausbreitungsdaten (üblich für Server und ähnliche Anwendungen) einschließen, kann NUMA die Leistung über ein einzelnes geteiltes Gedächtnis durch einen Faktor grob der Zahl von Verarbeitern verbessern (oder Speicherbanken trennen).

Natürlich enden nicht alle Daten beschränkt auf eine einzelne Aufgabe, was bedeutet, dass mehr als ein Verarbeiter dieselben Daten verlangen kann. Um diese Fälle zu behandeln, schließen NUMA Systeme zusätzliche Hardware oder Software ein, um Daten zwischen Banken zu bewegen. Diese Operation verlangsamt die jenen Banken beigefügten Verarbeiter, so hängt die gesamte Geschwindigkeitszunahme wegen NUMA schwer von der genauen Natur von Aufgaben ab, die laufen.

Geheimes Lager zusammenhängender NUMA (ccNUMA)

Fast alle Zentraleinheitsarchitekturen verwenden einen kleinen Betrag des sehr schnellen nichtgeteilten als geheimes Lager bekannten Gedächtnisses, Gegend der Verweisung in Speicherzugängen auszunutzen. Mit NUMA, Kohärenz des geheimen Lagers über das geteilte Gedächtnis aufrechterhaltend, hat einen bedeutenden oben.

Obwohl einfacher, um zu entwickeln und "nicht geheimes Lager zu bauen, werden NUMA zusammenhängende" Systeme untersagend kompliziert für das Programm im Standard Architektur-Programmiermodell von von Neumann. Infolgedessen haben alle NUMA Computer zur Marktgebrauch-Hardware des speziellen Zwecks verkauft, um Kohärenz des geheimen Lagers, und so Klasse als "mit dem geheimem Lager zusammenhängender NUMA" oder ccNUMA aufrechtzuerhalten.

Gewöhnlich findet das durch das Verwenden der Zwischenverarbeiter-Kommunikation zwischen Kontrolleuren des geheimen Lagers statt, um ein konsequentes Speicherimage zu behalten, wenn mehr als ein geheimes Lager dieselbe Speicherposition versorgt. Deshalb kann ccNUMA schlecht leisten, wenn vielfache Verarbeiter versuchen, auf denselben Speicherbereich in rascher Folge zuzugreifen. Die Betriebssystembetreuung für NUMA versucht, die Frequenz dieser Art des Zugangs durch das Zuteilen von Verarbeitern und Gedächtnis auf NUMA-freundliche Weisen und durch das Vermeiden planend und die Blockierung von Algorithmen zu reduzieren, die NUMA-unfreundliche Zugänge notwendig machen. Wechselweise, Kohärenz-Protokolle des geheimen Lagers wie der MESIF Protokoll-Versuch, die Kommunikation zu reduzieren, die erforderlich ist, Kohärenz des geheimen Lagers aufrechtzuerhalten. Scalable Coherent Interface (SCI) ist ein IEEE Standard, der gestütztes Kohärenz-Protokoll des geheimen Lagers eines Verzeichnisses definiert, um in früheren Mehrverarbeiter-Systemen gefundene Skalierbarkeitsbeschränkungen zu vermeiden. SCI wird als Basis für die Numascale Technologie von NumaConnect verwendet.

Strom ccNUMA Systeme ist Mehrverarbeiter-Systeme, die auf dem AMD Opteron gestützt sind, der ohne Außenlogik und Intel Itanium durchgeführt werden kann, der verlangt, dass der chipset NUMA unterstützt. Beispiele von ermöglichtem chipsets von ccNUMA sind der SGI Shub (Supermittelpunkt), Intel E8870, der HP sx2000 (verwendet in den Integritäts- und Superkuppel-Servern), und diejenigen, die in neuen NEC mit Sitz in Itanium Systemen gefunden sind. Früher haben CcNUMA-Systeme wie diejenigen von der Silikongrafik auf MIPS Verarbeitern und dem Alpha im DEZ 21364 (EV7) Verarbeiter basiert.

Intel hat NUMA Einführung in seinen x86 und Server von Itanium gegen Ende 2007 mit Zentraleinheiten von Nehalem und Tukwila bekannt gegeben. Beide Zentraleinheitsfamilien teilen einen allgemeinen chipset; die Verbindung wird Intel Quick Path Interconnect (QPI) genannt.

NUMA gegen die Traube-Computerwissenschaft

Man kann NUMA als eine sehr dicht verbundene Form der Traube-Computerwissenschaft ansehen. Die Hinzufügung der virtuellen Speicherpaginierung zu einer Traube-Architektur kann die Durchführung von NUMA völlig in der Software erlauben, wo keine NUMA Hardware besteht. Jedoch bleibt die Zwischenknotenlatenz von softwarebasiertem NUMA mehrere Größenordnungen, die größer sind als dieser von Hardware-basierten NUMA.

Siehe auch

Außenverbindungen


Ne XTSTEP / Maß von Haar
Impressum & Datenschutz