Symmetrisches Multiprocessing

Symmetrisches Multiprocessing

Ein Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur, bei der zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen. Dies bedeutet, dass jeder Prozessor mit derselben (physikalischen) Adresse dieselbe Speicherzelle oder dasselbe Peripherieregister adressiert. Die meisten Mehrprozessorsysteme heute sind SMP-Architekturen.

Eine SMP-Architektur erlaubt es, die laufenden Prozesse dynamisch auf alle verfügbaren Prozessoren zu verteilen – dagegen muss beim asymmetrischen Multiprocessing jeder CPU eine Aufgabe fest zugewiesen werden (z. B. führt CPU0 Betriebssystemaufrufe und CPU1 Benutzerprozesse aus), da nicht alle Aufgaben auf jedem Prozessor durchgeführt werden können. Es gibt aber auch Anwendungendomänen (z. B. Regelungstechnik mit harten Echtzeitanforderungen), bei denen eine statische Zuordnung der Prozesse auch auf einer SMP-Architektur vorteilhafter ist.

Details

Symmetrisches Multiprocessing ist seit Ende der 1980er Jahre die Standard-Architektur für Multiprozessor-Maschinen mit bis zu 16 CPUs.

Die Forderung, dass jede CPU jeden Prozess ausführen können muss, führt jedoch bei größeren Systemen dazu, dass der Speicherbus zum Flaschenhals wird. Mit jeder zusätzlichen CPU sinkt der relative Leistungs-Gewinn, da die Speichersubsysteme die Daten nicht mehr schnell genug liefern können, um alle vorhandenen CPUs auszulasten.

Ein weiteres Problem bei SMP ist das CPU Hopping, bei dem Prozesse ständig zwischen den einzelnen CPUs wechseln. Normalerweise wäre dies kein Problem, aber da in SMP-Systemen häufig CPUs mit sehr großen und mehrfach gestaffelten Caches zum Einsatz kommen, um die bereits geschilderte Auslastung des Speichersystems zu vermindern, führt der schnelle Wechsel der laufenden Prozesse zusätzlich zu einer Leistungsverminderung durch sogenanntes Cache Thrashing. Darunter versteht man den ständigen Wechsel der Cache-Inhalte durch unterschiedliche Prozesse, welche in der Regel auf unterschiedliche Datenbereiche zugreifen. Man kann dem Effekt jedoch durch Zuweisen einer höheren Affinität der Prozesse zu der jeweils ausführenden CPU entgegenwirken.

Bei Weiterentwicklungen wie zum Beispiel der NUMA (Non Uniform Memory Access) werden diese Probleme vermindert.

Prinzipiell eignen sich alle modernen CPU-Architekturen mehr oder weniger gut für den Einsatz in SMP-Systemen. Unterschiede gibt es allein in der benötigten Zusatzhardware und der zu erwartenden Leistungssteigerung pro CPU. Während mit einigen CPU-Varianten bereits relativ einfach 2- oder 4-fach-Systeme gebaut werden können, da im CPU-Bus bereits Teile der benötigten Funktionalität implementiert sind (z. B. alle Intel-Systeme mit GTL+ Bus), sind bei anderen Systemen relativ aufwändige Punkt-zu-Punkt-Verbindungen notwendig (AMD K7 und DEC/Compaq/HP Alpha mit EV6-Bus). Zur Zeit gehen die Hersteller aus Gründen der Leistungsfähigkeit dazu über, auch die benötigten Memorycontroller in die CPU zu integrieren. Dadurch wiederum ist es sinnvoll, auf dem Chip mehrere CPU-Kerne zu integrieren, da ein einziger Kern die zur Verfügung stehende Bandbreite des Speichersystems nicht immer auslasten kann. Solche Multicore-Prozessoren sollten nicht mit Hyper-Threading-fähigen Prozessoren verwechselt werden, da es sich hierbei um komplett eigenständige Kerne mit zugehöriger Infrastruktur (L1/L2 Caches, FPU, etc.) handelt.


Wikimedia Foundation.

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

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

  • Symmetrisches Multiprozessing — Ein Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor Architektur, bei der zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen. Dies bedeutet, dass jeder Prozessor mit derselben (physikalischen) Adresse… …   Deutsch Wikipedia

  • Symmetrisches Multiprozessorsystem — Ein symmetrisches Multiprozessorsystem (SMP) ist in der Informationstechnologie eine Multiprozessor Architektur, bei der zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen. Dies bedeutet, dass jeder Prozessor mit… …   Deutsch Wikipedia

  • 80586 — Pentium 66 (P5) Der Pentium ist ein 1993 von Intel vorgestellter Prozessor (CPU). Er war der Nachfolger der erfolgreichen i486 CPU Baureihe aus demselben Hause. Als der Pentium angekündigt wurde, rechnete die Fachwelt mit der Fortsetzung des bis… …   Deutsch Wikipedia

  • I586 — Pentium 66 (P5) Der Pentium ist ein 1993 von Intel vorgestellter Prozessor (CPU). Er war der Nachfolger der erfolgreichen i486 CPU Baureihe aus demselben Hause. Als der Pentium angekündigt wurde, rechnete die Fachwelt mit der Fortsetzung des bis… …   Deutsch Wikipedia

  • Intel Pentium I — Pentium 66 (P5) Der Pentium ist ein 1993 von Intel vorgestellter Prozessor (CPU). Er war der Nachfolger der erfolgreichen i486 CPU Baureihe aus demselben Hause. Als der Pentium angekündigt wurde, rechnete die Fachwelt mit der Fortsetzung des bis… …   Deutsch Wikipedia

  • Intel Pentium MMX — Pentium 66 (P5) Der Pentium ist ein 1993 von Intel vorgestellter Prozessor (CPU). Er war der Nachfolger der erfolgreichen i486 CPU Baureihe aus demselben Hause. Als der Pentium angekündigt wurde, rechnete die Fachwelt mit der Fortsetzung des bis… …   Deutsch Wikipedia

  • Pentium MMX — Pentium 66 (P5) Der Pentium ist ein 1993 von Intel vorgestellter Prozessor (CPU). Er war der Nachfolger der erfolgreichen i486 CPU Baureihe aus demselben Hause. Als der Pentium angekündigt wurde, rechnete die Fachwelt mit der Fortsetzung des bis… …   Deutsch Wikipedia

  • Nichtsequentielle Programmierung — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Parallele Programmierung ist ein Programmierparadigma. Damit ist… …   Deutsch Wikipedia

  • Nichtsequenzielle Programmierung — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Parallele Programmierung ist ein Programmierparadigma. Damit ist… …   Deutsch Wikipedia

  • Apple Mac OS X — Mac OS X Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia

Share the article and excerpts

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