Symmetrisches Multiprozessorsystem


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 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 Anwendungsdomänen (z. B. Regelungstechnik mit harten Echtzeitanforderungen), bei denen eine statische Zuordnung der Prozesse auch auf einer SMP-Architektur vorteilhafter ist.

Werden keine Aufteilungen der Hardware in Partitionen oder CPU-Sets genutzt, wird ein SMP-System auch als “Single System Image” (SSI) bezeichnet – nur ein Betriebssystemkern steuert die gesamte Maschine.

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 Leistungsgewinn, 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 Architecture) 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 Speichercontroller 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 Multiprozessorsystem — symmetrisches Multiprozessorsystem,   Multiprozessorsystem …   Universal-Lexikon

  • Multiprozessorsystem — Mehrprozessorsysteme sind Computer, die zwei oder mehr Prozessoren haben. Sie werden meist als Server genutzt. Die einzelnen Aufgaben werden dann vom Betriebssystem je nach Bedarf einzelnen Prozessen zugeteilt. In wissenschaftlichen Einrichtungen …   Deutsch Wikipedia

  • 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… …   Deutsch Wikipedia

  • 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

  • Asymmetrisches Multiprozessorsystem — Ein Asymmetrisches Multiprozessorsystem ist eine Multiprozessor Architektur, bei der ein bestimmter Prozessor das Betriebssystem ausführt und Prozesse an sich selbst und die übrigen Prozessoren verteilt. Es können allerdings auch mehrere… …   Deutsch Wikipedia

  • Athlon MP — AMD Athlon MP Produktion: 2001 bis 2003 Produzent: AMD Prozessortakt: 1,0 GHz bis 2,1 GHz …   Deutsch Wikipedia

  • Free BSD — FreeBSD Bildschirmfoto …   Deutsch Wikipedia

  • Freebsd — Bildschirmfoto …   Deutsch Wikipedia

  • MPCore — Mehrprozessorsysteme sind Computer, die zwei oder mehr Prozessoren haben. Sie werden meist als Server genutzt. Die einzelnen Aufgaben werden dann vom Betriebssystem je nach Bedarf einzelnen Prozessen zugeteilt. In wissenschaftlichen Einrichtungen …   Deutsch Wikipedia

  • Mehrprozessor — Mehrprozessorsysteme sind Computer, die zwei oder mehr Prozessoren haben. Sie werden meist als Server genutzt. Die einzelnen Aufgaben werden dann vom Betriebssystem je nach Bedarf einzelnen Prozessen zugeteilt. In wissenschaftlichen Einrichtungen …   Deutsch Wikipedia