Kategorie

A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
Z 0      

symmetrisches multiprozessing

sa sb sc sd se sf sg sh si sj sk sl sm
sn so sp sq sr ss st su sv sw sx sy sz

Symmetrisches Multiprozessing

Symmetrisches Multiprozessing (SMP) ist eine Multiprozessor-Architektur, bei der die laufenden Prozesse auf alle Prozessoren verteilt werden können. Im Gegensatz zum asymmetrischen Multiprozessing, bei dem jede beteiligte CPU eine fest zugewiesene Aufgabe erhält (z.B. CPU0 führt Betriebssystemaufrufe aus, CPU1 führt Benutzerprozesse aus). Symmetrisches Multiprozessing ist seit Ende der 80er Jahre die Standard-Architektur für Multiprozessor-Maschinen mit bis zu 16 CPUs, während asymmetrisches Multiprozessing praktisch nicht mehr zum Einsatz kommt. Die Möglichkeit, dass jede CPU jeden Prozess ausführen können muss, führt jedoch bei größeren Systemen dazu, dass der Speicherbus zum Performance Engpass wird. Mit jeder zusätzlichen CPU sinkt der relative Performancegewinn, 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. Der schnelle Wechsel der laufenden Prozesse führt außerdem zu einer Leistungsverminderung durch so genanntes Cache Trashing. Darunter versteht man den ständigen Wechsel der Cache Inhalte da unterschiedliche Prozesse, welche in der Regel auf unterschiedliche Datenbereiche zugreifen. Man kann dem jedoch Effekt durch Zuweisen einer höheren Affinität der Prozesse zu der jeweils ausführenden CPU entgegen wirken.

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

Impressum

Datenschutzerklärung