Information Technology Reference
In-Depth Information
hen. Da die Querverbindungen zwischen den Verarbeitungseinheiten hierbei nicht
benötigt werden, ist dies keine physikalische, sondern eine logische Verkettung, die
tatsächlich der dynamischen Parallelisierung superskalarer Prozessoren entspricht.
Für eine genaue Abhandlung des hier angedeuteten Verfahrens sei erneut auf
Abschnitt 3.2 verwiesen (siehe auch [40, 42, 95]).
Ein Nachteil der statischen und dynamischen Verkettung von Verarbeitungseinhei-
ten ist der recht komplizierte Umgang mit Ausnahmeanforderungen (interrupts bzw.
exceptions). Falls z.B. während der Verarbeitung der in Bild 3.6c dargestellten Ope-
rationsfolgen beim Lesen des letzten Elements von Y ein Seitenfehler ausgelöst
wird, muss nicht nur die Ladeoperation, sondern auch die von Y abhängige Additi-
ons- und Speichereoperation abgebrochen werden. Das spätere Wiederaufsetzen all
dieser Vektoroperationen gestaltet sich sehr aufwendig, weshalb man die drei Ope-
rationen nach Bearbeitung des Seitenfehlers am einfachsten vollständig wiederholt.
Dies ist jedoch problematisch, weil ein Teil des Ergebnisvektors Z vor dem Seiten-
fehler bereits geschrieben worden sein kann und prinzipiell z.B. Y und Z identische
Adressen aufweisen können, weshalb einer der benötigten Operanden nicht mehr
vollständig zur Verfügung steht. Eine Möglichkeit zur Lösung des Problems besteht
darin, Ergebnisse zwischenzuspeichern und sie erst sichtbar zu machen, wenn die
jeweiligen Berechnungen fehlerfrei abgeschlossen sind. Beachtenswert ist, dass der
hierzu erforderliche Aufwand mit der Anzahl der parallel erzeugten Ergebnisse
steigt. Während bei statischer Verkettung nur ein einzelner Ergebnisvektor erzeugt
wird, sind dies bei dynamischer Verkettung fünf Ergebnisvektoren (je ein Ergebnis
pro Operation).
In Superrechnern überlässt man die Verarbeitung von Unterbrechungen oft den peri-
pheren Ein-/Ausgabeprozessoren . Dies ist sinnvoll, weil die jeweiligen Ausnahme-
behandlungen i.Allg. zeitaufwendig sind und daher in einem auf hohe Ausführungs-
geschwindigkeit optimierten Vektorrechner möglichst nicht auftreten sollten. Sei-
tenfehler bilden hier jedoch einen Sonderfall. Zwar lassen sie sich prinzipiell durch
einen Ein-/Ausgabeprozessor bearbeiten, der Vektorprozessor müsste in der Zwi-
schenzeit jedoch passiv warten. Aus diesem Grund wird in Superrechnern meist auf
einen virtuell adressierbaren Speicher verzichtet, was wegen der erheblichen realen
Speicherkapazitäten unproblematisch möglich ist (z.B. bis zu 2 TByte beim
VPP5000 von Fujitsu bzw. 16 GByte bei dem mit nur einem Vektorprozessor ausge-
statteten VPP5000U).
Falls Ausnahmeanforderungen nicht bearbeitet werden können, sind natürlich auch
keine Prozesswechsel durchführbar. Dies ist ebenfalls tolerierbar, weil Superrechner
für Aufgabenstellungen konzipiert sind, die höchste Anforderungen an die
Geschwindigkeit stellen und nicht, um eine große Anzahl von Aufgabenstellungen
mit durchschnittlicher Geschwindigkeit zu bearbeiten. - Vektorprozessoren, die
auch mit Ausnahmeanforderungen umzugehen vermögen, gewinnen seit einiger
Zeit jedoch deutlich an Bedeutung. Einerseits sollen die Möglichkeiten moderner
Betriebssysteme ausgeschöpft werden, andererseits finden Vektoreinheiten zuneh-
mend in herkömmlichen Prozessoren Verwendung. Dies zeichnet sich z.B. mit der
für den Alpha EV8 von Compaq geplanten Erweiterung Tarantula ab [40].
 
Search WWH ::




Custom Search