In den letzten Jahren hat sich die Überzeugung durchgesetzt, daß nur mit (massiv-) parallelen Rechnersystemen weitere signifikante Geschwindigkeitssteigerungen ge genüber herkömmlichen Rechnern möglich sind. Derartige parallele Systeme - meist noch von bescheidener Größe - haben bereits Eingang in die Praxis gefunden. Bei getragen haben hierzu wesentlich die von der Firma Inmos angebotenen Transputer. Aus ihnen lassen sich leicht Systeme mit verschiedenen Verbindungsstrukturen auf bauen, an denen die Eigen~rten des parallelen Programmierens schön demonstriert werden können. Dieses Buch wendet…mehr
In den letzten Jahren hat sich die Überzeugung durchgesetzt, daß nur mit (massiv-) parallelen Rechnersystemen weitere signifikante Geschwindigkeitssteigerungen ge genüber herkömmlichen Rechnern möglich sind. Derartige parallele Systeme - meist noch von bescheidener Größe - haben bereits Eingang in die Praxis gefunden. Bei getragen haben hierzu wesentlich die von der Firma Inmos angebotenen Transputer. Aus ihnen lassen sich leicht Systeme mit verschiedenen Verbindungsstrukturen auf bauen, an denen die Eigen~rten des parallelen Programmierens schön demonstriert werden können. Dieses Buch wendet sich an alle, die erste Erfahrungen auf dem Ge biet der Programmierung von Parallelrechnern, insbesondere Transputersystemen, sammeln möchten. Es ist als Begleittext zu einem "Transputerpraktikum" konzi piert, in dem parallele Lösungen - formuliert in der Programmierspl"ache Occam zu unterschiedlichen Problemen erarbeitet und nach Möglichkeit auch an einem Transputersystem praktisch erprobt werden sollen. Das erste Kapitel dieses Buches führt in die im Praktikum verwendete Nomenklatur ein, beschreibt den Aufbau von' Transputern und gibt eine kurze Einstimmung auf die Programmiersprache Occam. Im zweiten Kapitel werden zwei Entwicklungs umgebungen vorgestellt, unter denen im Praktikum programmiert werden kann.
1 Parallelverarbeitung und Transputer.- 1.1 Parallelverarbeitung: Nomenklatur und Motivation.- 1.2 Einteilung von Parallelrechnern.- 1.2.1 Flynns Taxonomie.- 1.2.2 Realisierungen von MIMD-Rechnern.- 1.3 Aufbau des Transputers T800.- 1.4 Einstimmung auf Occam.- 1.4.1 Ein Beispiel kommunizierender Prozesse.- 1.4.2 Verklemmte Prozesse.- 1.4.3 Nichtdeterministische Ausführung von Prozessen.- 1.4.4 Abschließende Bemerkungen.- 2 Anleitung für das Arbeiten mit einem Transputersystem.- 2.1 Die Hardwareumgebung.- 2.1.1 Der Parsytec SuperCluster.- 2.1.2 Andere Transputerhardware.- 2.2 Die Programmierumgebung MultiTool/TDS.- 2.2.1 Bedienung von MultiTool.- 2.2.2 Programmerstellung unter MultiTool.- 2.3 Das Occam-Toolset.- 2.3.1 Programme für einen einzelnen Transputer.- 2.3.2 Programme für Transputernetzwerke.- 3 Zwei parallele Sortieralgorithmen.- 3.1 Bewertung paralleler Algorithmen.- 3.1.1 Beschleunigung und Effizienz.- 3.1.2 Eine andere Definition der Beschleunigung.- 3.1.3 Welche Beschleunigung ist erreichbar?.- 3.2 Odd-Even-Transposition-Sort.- 3.2.1 Die Theorie und der Algorithmus.- 3.2.2 Implementierung.- 3.2.3 Grundstruktur des Programms.- 3.2.4 Aufgaben.- 3.3 Merge-Splitting-Sort.- 3.3.1 Die Theorie.- 3.3.2 Das Programm.- 3.3.3 Aufgaben.- 3.3.4 Ein Beispiel für superlinearen Speedup?.- 4 Parallele Matrizenmultiplikation.- 4.1 Ein systolischer Algorithmus.- 4.1.1 Der Grundalgorithmus.- 4.1.2 Aufgaben.- 4.2 Ein erweiterter Algorithmus.- 4.2.1 Modifikation des Grundalgorithmus.- 4.2.2 Schnelle Initialisierung einer Matrix.- 4.2.3 Aufgaben.- 4.3 Was nützt die Parallelisierung?.- 4.3.1 Amdahls Gesetz.- 4.3.2 Gustafsons Interpretation.- 4.3.3 Aufgaben.- 5 Verteilte Algorithmen.- 5.1 Vorbemerkungen.- 5.2 Der Echo-Algorithmus.- 5.2.1 Das Problem und zwei Begriffe.- 5.2.2 Eine Lösung des Problems.- 5.2.3 Hinweise zur Implementierung.- 5.2.4 Aufgaben.- 5.3 Election-Algorithmen.- 5.3.1 Die Problemstellung.- 5.3.2 Eine erste Lösungsidee.- 5.3.3 Das Echo/Election-Verfahren.- 5.3.4 Das Adoptionsverfahren.- 6 Prozessorfarmen und parallele Spielbaumsuche.- 6.1 Einführung.- 6.1.1 Das Spernerspiel.- 6.1.2 Prinzip der Spielbaumsuche.- 6.1.3 Realisierung des Spernerspiels.- 6.1.4 Aufgabe.- 6.2 Einsatz von Prozessorfarmen bei der Spielbaumsuche.- 6.2.1 Eine Idee zur Parallelisierung.- 6.2.2 Aufbau beliebiger Prozessorfarmen.- 6.2.3 Folgerungen für die Implementierung.- 6.2.4 Aufgaben.- 6.3 Modifikationen des Suchalgorithmus.- 6.3.1 Der Alpha-Beta-Algorithmus.- 6.3.2 Schätzsuche.- A Bibliotheken.- A.1 names.- A.2 iolib.- A.3 procs.- A.4 sperner.names.- A.5 sperner.procs.- B Tastenkombinationen für MultiTool an Sun-Workstations.- C Tastenkombinationen für MultiTool an VT100-Terminals.- D Prozeduren des Spernerspiels.- D.1 Bemerkungen zur Implementierung.- D.2 Erweiterte Bibliothek sperner.names.- D.3 Quelltext der Prozeduren.- Abbildungsverzeichnis.- Programmverzeichnis.- Weiterführende Literatur.
1 Parallelverarbeitung und Transputer.- 1.1 Parallelverarbeitung: Nomenklatur und Motivation.- 1.2 Einteilung von Parallelrechnern.- 1.2.1 Flynns Taxonomie.- 1.2.2 Realisierungen von MIMD-Rechnern.- 1.3 Aufbau des Transputers T800.- 1.4 Einstimmung auf Occam.- 1.4.1 Ein Beispiel kommunizierender Prozesse.- 1.4.2 Verklemmte Prozesse.- 1.4.3 Nichtdeterministische Ausführung von Prozessen.- 1.4.4 Abschließende Bemerkungen.- 2 Anleitung für das Arbeiten mit einem Transputersystem.- 2.1 Die Hardwareumgebung.- 2.1.1 Der Parsytec SuperCluster.- 2.1.2 Andere Transputerhardware.- 2.2 Die Programmierumgebung MultiTool/TDS.- 2.2.1 Bedienung von MultiTool.- 2.2.2 Programmerstellung unter MultiTool.- 2.3 Das Occam-Toolset.- 2.3.1 Programme für einen einzelnen Transputer.- 2.3.2 Programme für Transputernetzwerke.- 3 Zwei parallele Sortieralgorithmen.- 3.1 Bewertung paralleler Algorithmen.- 3.1.1 Beschleunigung und Effizienz.- 3.1.2 Eine andere Definition der Beschleunigung.- 3.1.3 Welche Beschleunigung ist erreichbar?.- 3.2 Odd-Even-Transposition-Sort.- 3.2.1 Die Theorie und der Algorithmus.- 3.2.2 Implementierung.- 3.2.3 Grundstruktur des Programms.- 3.2.4 Aufgaben.- 3.3 Merge-Splitting-Sort.- 3.3.1 Die Theorie.- 3.3.2 Das Programm.- 3.3.3 Aufgaben.- 3.3.4 Ein Beispiel für superlinearen Speedup?.- 4 Parallele Matrizenmultiplikation.- 4.1 Ein systolischer Algorithmus.- 4.1.1 Der Grundalgorithmus.- 4.1.2 Aufgaben.- 4.2 Ein erweiterter Algorithmus.- 4.2.1 Modifikation des Grundalgorithmus.- 4.2.2 Schnelle Initialisierung einer Matrix.- 4.2.3 Aufgaben.- 4.3 Was nützt die Parallelisierung?.- 4.3.1 Amdahls Gesetz.- 4.3.2 Gustafsons Interpretation.- 4.3.3 Aufgaben.- 5 Verteilte Algorithmen.- 5.1 Vorbemerkungen.- 5.2 Der Echo-Algorithmus.- 5.2.1 Das Problem und zwei Begriffe.- 5.2.2 Eine Lösung des Problems.- 5.2.3 Hinweise zur Implementierung.- 5.2.4 Aufgaben.- 5.3 Election-Algorithmen.- 5.3.1 Die Problemstellung.- 5.3.2 Eine erste Lösungsidee.- 5.3.3 Das Echo/Election-Verfahren.- 5.3.4 Das Adoptionsverfahren.- 6 Prozessorfarmen und parallele Spielbaumsuche.- 6.1 Einführung.- 6.1.1 Das Spernerspiel.- 6.1.2 Prinzip der Spielbaumsuche.- 6.1.3 Realisierung des Spernerspiels.- 6.1.4 Aufgabe.- 6.2 Einsatz von Prozessorfarmen bei der Spielbaumsuche.- 6.2.1 Eine Idee zur Parallelisierung.- 6.2.2 Aufbau beliebiger Prozessorfarmen.- 6.2.3 Folgerungen für die Implementierung.- 6.2.4 Aufgaben.- 6.3 Modifikationen des Suchalgorithmus.- 6.3.1 Der Alpha-Beta-Algorithmus.- 6.3.2 Schätzsuche.- A Bibliotheken.- A.1 names.- A.2 iolib.- A.3 procs.- A.4 sperner.names.- A.5 sperner.procs.- B Tastenkombinationen für MultiTool an Sun-Workstations.- C Tastenkombinationen für MultiTool an VT100-Terminals.- D Prozeduren des Spernerspiels.- D.1 Bemerkungen zur Implementierung.- D.2 Erweiterte Bibliothek sperner.names.- D.3 Quelltext der Prozeduren.- Abbildungsverzeichnis.- Programmverzeichnis.- Weiterführende Literatur.
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Shop der buecher.de GmbH & Co. KG Bürgermeister-Wegele-Str. 12, 86167 Augsburg Amtsgericht Augsburg HRA 13309