Ansätze der Optimierung per Hardware (Fortsetzung)
OnChip Multi-Processing
Das onChip Multi-Processing (kurz CMP) kombiniert zwei voneinander unabhängige
Prozessoren auf einem einzelnen Die. Ähnlich wie beim im noch zu erläuternden
Simultaneous Multi-Threading, werden beim CMP verschiedene Ressourcen gemeinsam
benutzt, andere wiederum stehen exklusiv zur Verfügung. Da in der x86-Welt
(noch) kein CMP-System existiert, werde ich meine folgenden Ausführungen
auf den Power4 Serverprozessor von IBM beziehen.
Der Power4 ist
ein solcher CMP-fähiger Mikroprozessor, der auf einem Die zwei Prozessoren
unterbringt. Im Unterschied zu einem Computer mit zwei physikalischen Mikroprozessoren
müssen sich die beiden des Power4 unter anderem die Caches teilweise teilen.
Teilweise bedeutet in diesem Fall, dass jeder der beiden onChip Prozessoren
über einen eigenen L1-Cache verfügt, der L2-Cache (~ 1.5MB) sowie
L3-Cache (32 - 128 MB) jedoch gemeinsam genutzt werden.
Dies muss jedoch nicht zwingend einen Nachteil darstellen, so kann beispielsweise
bei angepasster Software ein Prozessor bereits die benötigten Daten in
den L2-Cache schaufeln, die der andere in Kürze benötigen wird. Durch
optimale Programmierung ist hier also tatsächlich nahezu optimale Ausnutzung
der Ressourcen möglich. Dennoch darf nicht verschwiegen werden, dass bei
gemeinsam genutzten Speichern immer die Gefahr des Konflikts besteht.
Der Nachteil einer
solchen Umsetzung liegt jedoch auf der Hand: In Desktop-Prozessoren ist CMP
unpraktikabel, da sowohl die Kosten für die Herstellung, als auch der Energieverbrauch
sehr hoch sind. Ob dieser Gründe ist stark anzunehmen, dass CMP für
den Markt der Heimcomputer auch weiterhin eine untergeordnete Rolle spielen
wird.
Diesen Artikel bookmarken oder senden an ...