Zur Zeit beste Darstellung von Patterns für Shared-Mutability

March 11, 2014

Wenn man ein wenig Systematik in seine parallelen Programmierkünste bringen will, ist “Structured Parallel Programming: Patterns for Efficient Computation”
das Buch zum Einsteigen.

Die Autoren behandeln die wichtigsten Pattern der thread-basierten Programmierung mit geteiltem Speicher (Shared-Mutability). Andere parallele Modelle, wie z. B. nachrichtenbasierte oder aktor-basierte Architekturen werden nicht behandelt. Das ist nicht unbedingt ein Nachteil, denn die Darstellung der Pattern ist Weltklasse. Die Autoren zeigen, dass sie da sehr kompetent sind und lange selber mit diesen Pattern gearbeitet haben.

Schön an diesem Buch ist, dass sie genau die richtige Mischung zwischen Theorie und Praxis gefunden haben: Für jedes Pattern wird Beispielcode gegeben aber auch asymptotisch analysiert und die möglichen Performancegewinne durch die Parallelisierung abgeschätzt. Sehr gut finde ich die Erklärung mit den vielen einfachen Diagrammen.

Die Autoren arbeiten irgendwie alle für Intel und konzentrieren sich daher auf die Thread Building Blocks (TBB) und auf Cilk Plus. OpenMP und OpenCL werden nur am Rande behandelt. Letzteres ist einer der Gründe dafür, nur vier Sterne für dieses Buch zu geben. Es ist noch verbesserbar. Z. B. werden die denormalized floats am Rande versteckt in Abschnitt 8.12. In Kapitel 6.3 fehlt eine Erklärung oder ein Beispiel für die Konvertierung von Scatter zu Gather.

Ich persönlich kann stark von diesem Buch profitieren. Auch wenn ich viele Pattern schon kannte, hat mich die klare Darstellung beeindruckt. Ich werde die Pattern und Diagramme in meinen Projekten einsetzen.

  • Michael McCool
  • Structured Parallel Programming: Patterns for Efficient Computation
  • Morgan Kaufmann
  • 2012

Siehe auch die Renzension bei Amazon.