A Case Study on Multi-Core Programming Using Threading Building Blocks

Conference: ARCS 2009 - 22th International Conference on Architecture of Computing Systems
03/11/2009 at Delft, The Netherlands

Proceedings: ARCS 2009

Pages: 8Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Kegel, Philipp; Schellmann, Maraike; Gorlatch, Sergei (University of Münster, Germany)

We describe the parallelization of a popular medical imaging algorithm - LM OSEM - using Intel’s Threading Building Blocks (TBB) library. We introduce and compare data- and task-parallel constructs of TBB and show code examples. Three parallel implementations of LM OSEM are created using different parallel constructs of TBB. The implementations are compared regarding runtime performance and scalability behaviour on multi-core systems. Also programming style and abstraction level of the implementations are discussed. We conclude that TBB in general is appropriate for multi-core parallelization, but that its pipeline construct has performance drawbacks.