Das Buch behandelt die praktischen Aspekte paralleler und verteilter Programmierung und stellt die zugrundeliegenden Konzepte in angemessener Tiefe dar. Wesentlich ist dabei das Zusammenspiel der parallelen Eigenschaften des jeweiligen Anwendungsproblems, der Programmierumgebung und der Architektur des Parallelrechners. Dementsprechend werden in den einzelnen Kapiteln die unterschiedlichen Typen von Parallelrechnern und parallelen Plattformen betrachtet, ein Überblick über parallele Programmierumgebungen gegeben und Charakteristika wichtiger Anwendungsalgorithmen beschrieben. Breiten Raum nehmen die Darstellung und der Vergleich portabler Programmierplattformen wie PVM und MPI ein. Das Buch enthält insbesondere einen genauen Effizienzvergleich dieser Plattformen für viele aktuelle Parallelrechner und diskutiert die Anwendung auf Probleme, die für die Praxis der Natur- und Ingenieurwissenschaften sowie des Wissenschaftlichen Rechnens relevant sind.
Durch kostengünstige Multiprozessor-Desktoprechner, Cluster von PCs und Innovationen wie die Hyperthreading-Technologie oder Multicore-Prozessoren sind parallele Rechenressourcen allgegenwärtig. Die effiziente Ausnutzung dieser parallelen Rechenleistung ist jedoch nur durch den Einsatz paralleler Programmiertechniken möglich, die sich damit in alle Bereiche der Softwareerstellung ausbreiten.
Dieses Buch stellt die parallele Programmierung für herkömmliche Parallelrechner und für die neuartigen parallelen Plattformen umfassend dar. Neben den Grundlagen der parallelen Programmierung werden portable Programmierumgebungen wie Pthreads, Java-Threads, OpenMP, MPI, PVM oder UPC und die zugehöigen Programmiermodelle ausführlich behandelt. Parallele Progammiertechniken, die zur erfolgreichen Realisierung effizienter paralleler Programme führen, werden mit einer Vielzahl von Beispielen dargestellt.
Das Buch ist für Anfänger und fortgeschrittene Programmierer geeignet.