© Leonid Shcheglov, 123RF.com
Intel Threading Building Blocks 3.0
Besser parallelisiert
Michael Uelschen
Intels Bibliothek Threading Building Blocks hilft dem C++-Programmierer, die Rechenarbeit parallel auf die vielen Prozessoren oder Kerne moderner Computer zu verteilen. Dabei ersetzt das elegante Task-Konzept die leidige Verwaltung von Threads.
Die Threading Building Blocks (TBB) von Intel helfen bereits seit 2006 bei der Programmierung für Multicore- und SMP-Systeme. Die Bibliothek enthält eine Sammlung verschiedener Mechanismen zum Schreiben paralleler Programme in der Programmiersprache C++. Die TBB orientieren sich in vielen Konzepten an der Standard Template Library (STL). Sie sind inzwischen in Version 3.0 und auch als GPLv2-lizenzierte Ausgabe erhältlich, die funktional identisch zur kommerziellen Version ist [1]. Als Plattformen unterstützt die Bibliothek Linux, Windows und Mac OS X.
Die aktuelle TBB-Version 3.0 berücksichtigt die Erfahrungen der vergangenen Jahre, orientiert sich insbesondere am kommenden C+ÓStandard [2] und unterstützt beispielsweise die dort eingeführten Lambda-Funktionen. Dieser Artikel stellt die Neuerungen seit dem Linux-Magazin-Beitrag zu Version 1 [3] vor und vertieft einige der Konzepte, die dem Entwickler dabei helfen, skalierbaren Code für Mehrprozessor- und Mehrkern-Computer zu schreiben.
Abstraktion
Die zugrunde liegende Philosophie der Bibliothek ist es, dem Programmierer eine abstraktere Schnittstelle als beispielsweise die Pthreads von Linux bereitzustellen und ihn von sehr Betriebssystem-naher Programmierung zu befreien. Die Template-Funktionen zum Parallelisieren von Schleifen hat Intel um »parallel_invoke()«
erweitert, das im Unterschied zu den Varianten von »parallel_for()«
auch verschiedene Funktionen parallel ausführt, nicht immer nur dieselbe.
[...]
Das Linux-Magazin Online veröffentlicht erstmals alle Print-Artikel,
die in den vergangenen sechs Jahren im Linux-Magazin erschienen sind.
Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen
der aktuellen Ausgabe online zur Verfügung. Die über 1200 Artikel sind
größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der
jüngsten zehn Linux-Magazine ist eine Gebühr von jeweils 99 Cent fällig.
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.