Hardware Reference
In-Depth Information
9 Moderne Techniken zur
Parallelverarbeitung
Bereits in den einleitenden Bemerkungen in Abschnitt 1.2 zu technologi-
schen Randbedingungen haben wir gesehen, dass eine Steigerung der Takt-
frequenz die Leistungsaufnahme und dadurch die Verlustleistung der Pro-
zessoren erhoht. Es wird zunehmend schwieriger, moderne Prozessoren mit
ihren Taktfrequenzen von mehreren GHz zu kuhlen. Wir haben auch gesehen,
dass der Schlussel zur Leistungssteigerung bei Computern in der Parallelver-
arbeitung liegt. Durch Pipelining und superskalare Befehlsausfuhrung wird
Parallelverarbeitung auf Befehlsebene realisiert. Dadurch konnte etwa zwan-
zig Jahre lang die Leistung von Prozessoren kontinuierlich gesteigert und
optimiert werden. Diese Techniken erlauben es allerdings nur, einen einzel-
nen Befehsstrom auszufuhren, also Befehle eines einzelnen Prozesses bzw.
Threads.
Daneben wurden Konzepte entwickelt, die es erlauben, zwei Prozesse parallel
auszufuhren. Dazu kann man Prozessoren koppeln oder innerhalb eines Pro-
zessors Moglichkeiten zur parallelen Bearbeitung mehrerer Prozesse schaffen.
In diesem Kapitel besprechen wir solche Techniken.
9.1
9.1 Prozessorkopplung (Mehrprozessorsysteme)
Wir beginnen mit der Kopplung mehrerer Prozessoren, die uber einen ge-
meinsamen Bus auf einen gemeinsamen Hauptspeicher zugreifen. Man spricht
von symmetrischem Multiprocessing , kurz SMP. Diese Situation ist in Abbil-
dung 9.1 dargestellt.
Eines der Hauptprobleme dabei ist, dass die Prozessoren jeweils einen eigenen
Cache besitzen, der fur alle anderen Prozessoren nicht einsehbar ist. Es muss
sichergestellt werden, dass jeder Prozessor, der auf Daten aus dem Speicher
zugreift, immer die aktuellen Daten bekommt, auch wenn sich diese nur im
Cache eines anderen Prozessors befinden und noch nicht in den Hauptspeicher
zuruckgeschrieben wurden.
9.2
9.2 Das MESI-Protokoll
Eine Moglichkeit, fur diese so genannte Cachekoharenz zu sorgen, ist das
MESI-Protokoll [33]. Dieses Protokoll ist nach den vier Zustanden benannt,
die es fur jede Speicheradresse verwaltet (Aneinanderreihung der ersten Buch-
staben der Zustandsnamen):
Search WWH ::




Custom Search