Empfehlenswert als Nachschlagewerk

February 23, 2012

“Patterns for Parallel Programming” ist ein wichtiges Werk für ‘parallele Programmierer’.

Die Autoren haben sich die Mühe gemacht, eine Art umfassende Anleitung für die Erstellung von paralleler Software zu entwickeln. Dieses ist ein schwieriges Unterfangen, weil bei der Erstellung von parallelen Programmen sehr viele Punkte berücksichtigt werden müssen. Dementsprechend können auch nicht alle Aspekte berücksichtigt werden. Aber im Großen und Ganzen ist das Buch sehr nützlich.

Ausgangspunkt ist ein sequentielles Programm, das in vier Schritten in ein Paralleles umgeformt wird. Als Plattformen werden OpenMP, MPI und Java 2 1.5 benutzt. Jede Platform wird in einem eigenen Kapitel im Anhang kurz vorgestellt. Dass das Buch schon ein wenig älter ist, ist nicht so schlimm.

Die Autoren haben eine praktische Sammlung von Patterns zusammengestellt. Es tauchen auch evtl. schon bekannte Patterns, wie Master/Worker oder Fork/Join auf. Aufgrund des Umfangs gibt es aber höchstwahrscheinlich auch für fortgeschrittene parallele Programmierer viel Neues zu entdecken.

Das Buch hat allerdings ein Problem: Es ist nicht einfach, es von Anfang bis Ende durchzulesen. Dieses hat seinen Grund in der Anordnung des Stoffes. Jeder der vier Schritte wird in einem eigenen Kapitel behandelt. Jedes dieser Kapitel enthält dann alle Teilschritte, Möglichkeiten und Beispiele. Jedes Beispiel wird also nur Schritt-für-Schritt mit Unterbrechungen behandelt. Dieses stört den Lesefluss.

Das Buch ist nicht für Anfänger der parallelen Programmierung geeignet. Man sollte schon ein paar Erfahrungen gemacht haben, um die Patterns nachvollziehen zu können.

Als Nachschlagewerk ist das Buch allerdings hervorragend geeignet. Jeder parallele Programmierer sollte den Inhalt des Buches kennen.

  • Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill
  • Patterns for Parallel Programming
  • Addison Wesley
  • 2004

Siehe auch die Renzension bei Amazon