Was ist symmetrisches Multiprocessing?
Symmetric Multiprocessing (SMP) ist eine Art Computerarchitektur, bei der zwei oder mehr Zentraleinheiten (CPUs) eine gemeinsame Verbindung zum gleichen Speicher haben. Es wurde ursprünglich in den 1960er Jahren entwickelt und seitdem in verschiedenen Konfigurationen eingesetzt. Jeder Prozessor in einem SMP-System kann von jedem Teil des gemeinsam genutzten Speichers aus auf Software zugreifen und diese ausführen. Die Popularität dieses Aufbaus schwankte im Laufe des Jahres, als sich die Technologie weiterentwickelte und sich die Marktplätze veränderten, aber es ist immer noch eine der häufigsten Formen von Multiprozessor-Technologien.
SMP wurde in den frühen 1960er Jahren entwickelt, um mehrere Prozessoren über eine Hochgeschwindigkeitsverbindung miteinander zu verbinden und ihnen den Zugriff auf denselben Satz von Speichermodulen zu ermöglichen. Da der Speicher von den Prozessoren gemeinsam genutzt wird, kann SMP-Hardware billiger sein als andere Technologien, die möglicherweise jedem Prozessor Speicher zuweisen. Es wurden viele Variationen dieses Aufbaus verwendet, wobei einige eine einfache Kreuzschiene zum Verbinden von zwei Prozessoren verwendeten, während andere komplexere Verbindungen zwischen bis zu 32 Prozessoren verwendeten. Jedes symmetrische Multiprozessorsystem kann durch die Geschwindigkeit und Kapazität dieser Verbindung zurückgehalten werden. Ein System mit 32 Prozessoren ist nicht unbedingt 32-mal schneller, da die gemeinsame Verbindung zwischen diesen Prozessoren und dem Systemspeicher überlastet werden kann.
Ein wesentlicher Vorteil der symmetrischen Mehrfachverarbeitung gegenüber anderen Techniken besteht darin, dass ein SMP-System mehr oder weniger alle seine Prozessoren gleich behandelt und so jedem die gleiche Zugriffsqualität auf andere Computerhardware gewährt. Dies bedeutet, dass jeder Prozessor im System Anweisungen von Softwareprogrammen lesen und ausführen kann, unabhängig davon, wo sich diese Programme im Speicher des Computers befinden. Viele Softwareprogramme sind jetzt in kleinere Abschnitte unterteilt, die als Threads bezeichnet werden. Wenn diese Programme auf einem SMP-System ausgeführt werden, kann jeder Prozessor einen Thread des Programms ausführen, wodurch die Gesamtleistung weiter erhöht wird. Software auf Benutzerebene muss nicht geändert werden, um auf einem System ausgeführt zu werden, das symmetrisches Multiprocessing unterstützt, aber das zugrunde liegende Betriebssystem muss die Technologie unterstützen.
Die Popularität der symmetrischen Mehrfachverarbeitung hat im Laufe der Jahre abgenommen und zugenommen, da andere Techniken entwickelt und neue Architekturen erforscht wurden. Die Öffentlichkeitsarbeit über die möglichen Auswirkungen der Technologie auf das Computing begann Anfang der neunziger Jahre. Eine Reihe von Unternehmen, insbesondere Sequent Computer Systems, spezialisierte sich auf den Bau von High-End-SMP-Systemen. Sequent, das 1999 von IBM übernommen wurde, wurde für sein Design gelobt, konnte sich jedoch nie mit den Größen der Computerindustrie messen. Neuere Multiprozessor-Techniken wie der ungleichmäßige Speicherzugriff (NUMA) haben SMP in High-End-Systemen teilweise verdrängt.
Computerhersteller haben im Laufe der Jahre mit symmetrischer Mehrfachverarbeitung von Hardware auf Verbraucherebene experimentiert. Abgesehen von teurer Hardware für Enthusiasten fehlt den meisten PCs jedoch die Technologie. Neue Techniken, um Single-CPU-Systeme effizienter zu machen, wie zum Beispiel simultanes Multithreading oder „Hyperthreading“, zusammen mit dem Aufstieg der Multicore-Technologie, haben die Leistung von Computern ohne die zusätzlichen Kosten von SMP erhöht. Es ist jedoch möglich, diese Technologien zu kombinieren, und die leistungsstärksten Desktop-Computer können mehrere Multicore-Prozessoren enthalten, die über SMP verbunden sind, wodurch ein System mit einer enormen Rechenleistung entsteht.