Beschreibung
Moderne Anwendungen in vielen Bereichen der Wissenschaft und Technik erfordern den Einsatz massiver Parallelität. Die Probleme reichen von einfachen bis zu den "grand challenges" der Wissenschaft. Das Prinzip "Parallelität" durchdringt heute bereits in hohem Maße Forschung und Lehre in vielen Fachdisziplinen und immer mehr Anwender, die keine Hochleistungsrechner-Experten sind, wollen und werden diese Möglichkeiten für ihre Anwendung nutzen. Das vorliegende Lehrbuch deckt das Gebiet der Parallelrechner durch ein sehr breites Spektrum ab, das von den Architekturen über Algorithmen, Programmiersprachen bis zu den Werkzeugen reicht. Fünfzehn namhafte Parallelrechner-Experten haben als Autoren das heute hochaktuelle und wichtige Gebiet der Parallel-Architekturen bearbeitet. Dieses Werk vermittelt sowohl die Grundlagen als auch den Stand der Forschung auf diesem Gebiet in umfassender, leicht verständlicher Darstellung. Dieses Standardwerk kann daher als Lehrbuch und als Handbuch für Studierende, Lehrende oder Anwender dienen.
Autorenportrait
Inhaltsangabe1 Einleitung.- 1.1 Einige Meilensteine auf dem Weg zum parallelen Rechner.- 1.2 Die Probleme mit parallelen Rechnern.- 2 Klassifikation paralleler Architekturen.- 2.1 Einführung.- 2.2 Varianten und Ebenen der Parallelität.- 2.3 Parallele Anwendungen.- 2.4 Parallele Programmiersprachen.- 2.5 Parallele Betriebssysteme.- 2.6 Parallele Hardware.- 2.6.1 Parallele Verarbeitungseinheiten.- 2.6.2 Verbindungsstrukturen.- 2.6.3 Speicherstruktur.- 2.6.4 Peripheriestruktur.- 2.7 Klassifikationen.- 2.7.1 Übersicht über Klassifikationen paralleler Architekturen.- 2.7.2 Integrierte Klassifikation von Hardware und Software paralleler Architekturen.- 3 Grundbegriffe der Leistungsbewertung.- 3.1 Die Notwendigkeit frühzeitiger Leistungsabschätzung.- 3.2 Methodisches Vorgehen.- 3.3 Leistungsgrößen: Problemstellungen und Definitionen.- 3.3.1 Globale Verkehrsprobleme und Leistungsmaße.- 3.3.2 Lokale Verkehrsprobleme und Leistungsmaße.- 3.3.3 Populäre Leistungsmaße.- 3.3.4 Spezielle Maße für Parallelrechner.- 4 Grundlagen paralleler Architekturen.- 4.1 Einleitung.- 4.2 Die Ebenen der Parallelität.- 4.3 Unterscheidung der Parallelrechner nach dem Operationsprinzip.- 4.4 SIMD-Architekturen.- 4.5 MIMD-Architekturen.- 4.5.1 Einteilung der MIMD-Architekturen.- 4.5.2 Gemeinsamer Speicher.- 4.5.3 Verteilter Speicher.- 4.5.4 Kommunikation und Synchronisation.- 4.6 Datenflußarchitekturen.- 4.6.1 Das Datenflußprinzip.- 4.6.2 Datenflußarchitekturen.- 4.7 Mehrfädige Architekturen.- 4.8 Verbindungsnetzwerke.- 4.8.1 Systematik.- 4.8.2 Die Verbindungsarten.- 4.8.3 Verbindungsaufbau.- 4.8.4 Arbeitsweise.- 4.8.5 Topologie der Verbindungsnetzwerke.- 4.8.6 Statische Verbindungsnetzwerke.- 4.8.7 Dynamische Verbindungsnetzwerke.- 5 Parallelität auf Block- und Instruktionsebene.- 5.1 Einführung.- 5.1.1 Mikrobefehlsebene.- 5.1.2 Instruktionsebene.- 5.1.3 Blockebene.- 5.1.4 Taskebene.- 5.2 Optimierungsverfahren.- 5.2.1 Datenflußanalyse.- 5.2.2 Kontrollflußanalyse.- 5.2.3 Optimierung von Schleifen.- 5.3 Hardwareeinflüsse.- 5.3.1 Parallelitätspotentiale.- 5.3.2 Ausnutzung von Parallelität auf Instruktionsebene.- 5.3.3 Dynamisches Scheduling.- 5.3.4 Konsistenzprobleme bei Pufferspeichern.- 5.3.5 Beispiele für Mikroprozessoren mit Parallelität auf Instruktionsebene.- 5.3.6 Beispiele für Parallelität auf Instruktionsebene.- 5.3.7 Profiling-Ergebnisse von Beispielanwendungen.- 5.4 Aktuelle Forschungsarbeiten und Ausblick.- 5.4.1 Neue Compiler- und Softwarekonzepte.- 5.4.2 Programmiermodelle für parallele Programmierung.- 5.4.3 Automatische Parallelisierung.- 5.5 Zusammenfassung.- 6 Assoziative Architekturen.- 6.1 Das assoziative Operationsprinzip.- 6.1.1 Assoziative Operationen.- 6.1.2 Die Selektionsphase ?.- 6.1.3 Die Aktionsphase ?.- 6.1.4 Das assoziative Speicherproblem.- 6.1.5 Das assoziative Verarbeitungsproblem.- 6.1.6 Parallelismus in assoziativen Funktionen.- 6.2 Implementierungsformen.- 6.2.1 Die vollparallele Implementierungsform.- 6.2.2 Bit-parallele Wort-sequentielle Implementierungsform.- 6.2.3 Bit-sequentielle Wort-parallele Implementierungsform.- 6.2.4 Die sequentielle Implementierungsform.- 6.2.5 Mischformen.- 6.3 Assoziative Speicher und Prozessoren.- 6.3.1 Prinzipieller Aufbau inhaltsadressierbarer Speicher mit lokaler Speicherung.- 6.3.2 Implementierungen und Konzepte assoziativer Speicher und Prozessoren.- 6.4 Die Programmierung assoziativer Architekturen.- 6.4.1 Assoziative Sprachen.- 6.4.2 Modifizierte Standardsprachen.- 6.4.3 Assoziative Punktionsbibliotheken.- 6.4.4 Unterstützung spezieller Konstrukte höherer Programmiersprachen.- 7 Realisierungen paralleler Architekturen.- 7.1 Einleitung.- 7.1.1 SIMD-Rechner.- 7.1.2 MIMD-Rechner.- 7.1.3 Verbindungsnetze.- 7.2 SIMD-Rechner.- 7.3 MIMD-Maschinen mit verteiltem Adreßraum.- 7.3.1 Topologien.- 7.3.2 Hypercube-Systeme.- 7.3.3 Zweidimensionale Topologien.- 7.3.4 Dreidimensionale Topologien.- 7.3.5 Mehrstufige Verbindungsnetze.- 7.4 MIMD-Maschinen mit globalem Adreßraum.- 7.4.1 Ring-Topologien.- 7.4.2 Dreidimensi