Definition

Von-Neumann-Flaschenhals

Der Begriff von-Neumann-Engpass beschreibt eine Einschränkung des Durchsatzes, die mit der Standardarchitektur von Personalcomputern einhergeht. Das Phänomen ist nach John von Neumann benannt, der die Theorie hinter der Architektur moderner Computer entwickelte.

1945 schlug von Neumann ein Computerkonzept vor, das auf dem Konzept des speicherprogrammierten Computers basierte, bei dem Programmanweisungen und Daten im Speicher gehalten werden. Dieses als von-Neumann-Architektur – oder manchmal auch Princeton-Architektur – bekannte Modell wurde zum Standard für viele nachfolgende Computer und wird auch heute noch für viele Systeme verwendet.

Bei der von-Neumann-Architektur bestehen die Hauptkomponenten eines Computers aus der Zentraleinheit (CPU), der Speichereinheit und den Ein- und Ausgabegeräten. Die CPU enthält die Steuereinheit, die Arithmetisch-Logische Einheit und die Register. Der Prozessor und der Speicher sind separate Komponenten, zwischen denen die Daten über den Systembus ausgetauscht werden. Die Speichereinheit, die oft als Hauptspeicher oder Primärspeicher bezeichnet wird, speichert sowohl die Programmanweisungen als auch die Daten.

Diagramm von Aufbau der von-Neumann-Architektur
Abbildung 1: Dieses Diagramm zeigt den Aufbau der klassischen Von-Neumann-Architektur.

Über den Systembus werden alle Daten zwischen den Komponenten der von-Neumann-Architektur übertragen, was mit der Veränderung der Workloads und der Zunahme der Datenmengen zu einem zunehmenden Engpass geworden ist. Im Laufe der Jahre haben sich die Computerkomponenten weiterentwickelt, um den neuen Anforderungen gerecht zu werden. So sind beispielsweise die Prozessorgeschwindigkeiten erheblich gestiegen, und der Speicher unterstützt eine höhere Dichte, so dass mehr Daten auf weniger Platz gespeichert werden können.

Im Gegensatz zu diesen Verbesserungen sind die Übertragungsraten zwischen CPU und Speicher nur geringfügig gestiegen. Der Prozessor verbringt daher einen Großteil seiner Zeit im Leerlauf, weil er darauf wartet, dass Daten aus dem Speicher geholt werden. Unabhängig davon, wie schnell ein bestimmter Prozessor arbeiten kann, ist er durch die vom Systembus erlaubte Übertragungsrate begrenzt. Ein schnellerer Prozessor bedeutet in der Regel, dass er mehr Zeit im Leerlauf verbringt.

Vermeiden des von-Neumann-Flaschenhalses

Lange galt die Annahme, dass sich der von-Neumann-Flaschenhals nur durch erhebliche Änderungen der Computer- oder Prozessorarchitekturen überwinden ließe. Doch es gibt weitere Strategien, um die Grenzen der bestehenden Struktur zu überwinden:

  • Caching. Caches sind der gängigste Weg, um den non-Neumann-Flaschenhalt zu umgehen. In einer typischen Cache-Konfiguration befinden sich die L1-, L2- und L3-Cache-Ebenen zwischen dem Prozessorkern und dem Hauptspeicher, um die Abläufe zu beschleunigen. Der L1-Cache ist der kleinste, schnellste und teuerste Cache. Der L3-Cache, der von mehreren Prozessorkernen gemeinsam genutzt wird, ist der größte, langsamste und günstigste. Der L2-Cache liegt irgendwo dazwischen.

Diagramm, das verschiedene Chachespeicher im Kontext zeigt
Abbildung 2: In diesem Diagramm sehen sie, wie verschieden Cachespeicher die Verarbeitung beschleunigen.
  • Befehle und Daten, die üblicherweise als erstes drankommen, werden im Voraus in den Cache geholt, damit sie bei Bedarf sofort zur Verfügung stehen.
  • Spekulative Ausführung. Der Prozessor führt bestimmte Aufgaben aus, bevor er dazu aufgefordert wird, so dass die Informationen sofort Verfügung stehen. Die spekulative Ausführung nutzt die Verzweigungsvorhersage, um abzuschätzen, welche Anweisungen wahrscheinlich zuerst benötigt werden.
  • Multithreading. Der Prozessor bearbeitet mehrere Anfragen gleichzeitig und wechselt dabei zwischen verschiedenen Threads. Der Multithreading-Prozess läuft in der Regel so schnell ab, dass es scheint, als würden die Threads gleichzeitig ablaufen.
  • Neue Arten von RAM. Die aktuellen Entwicklungen bei den RAM-Technologien versprechen, zumindest einen Teil der Engpässe zu beseitigen, indem die Daten schneller in den Bus gelangen. Zu den aufkommenden Entwicklungsbereichen gehören resistiver RAM, magnetischer RAM, ferroelektrischer RAM und Spin-Transfer-Torque-RAM.
  • Datennahe Verarbeitung. Bei der datennahen Verarbeitung (NDP) werden Arbeitsspeicher und Speicher um Verarbeitungsfunktionen erweitert, welche die Leistung verbessern und gleichzeitig die Abhängigkeit vom Systembus verringern. Eine Art von NDP ist die Verarbeitung im Speicher, bei der ein Prozessor und ein Speicher in einem einzigen Mikrochip integriert sind.
  • Hardware-Beschleunigung. Die Verarbeitung wird auf andere Hardwaregeräte verlagert, um die Belastung der CPU und die Abhängigkeit vom Systembus zu verringern. Zu den gängigen Arten der Hardware-Beschleunigung gehören GPUs, anwendungsspezifische integrierte Schaltungen und feldprogrammierbare Gate-Arrays.
  • System-on-a-Chip (SoC). Ein einzelner Chip enthält Verarbeitungs-, Speicher- und andere Systemressourcen, wodurch ein Großteil der Datenübertragung über den Systembus entfällt. Mobile Geräte und eingebettete Systeme nutzen die SoC-Technologie in großem Umfang. Die Technologie hält nun aber auch Einzug in die Computerindustrie, wobei Apple-Silizium den Weg weist.
Diese Definition wurde zuletzt im November 2022 aktualisiert

Erfahren Sie mehr über Serverhardware

ComputerWeekly.de
Close