Description

Task-based libraries such as Intel’s Threading Building Blocks (TBB) provide higher levels of abstraction than threads for parallel programming. Work remains, however, to determine how straightforward it is to use these libraries to express various patterns of parallelism. This case study focuses on a particular pattern: pipeline parallelism. We attempted to transform three representative applications – content-based image retrieval, compression and video encoding – to pipelines using TBB. We successfully converted two of the three applications. In the successful cases we discuss our transformation process and contrast the expressivity and performance of our implementations to existing Pthreads versions; in the unsuccessful case, we detail what the challenges were and propose potential solutions.

Issue Date:

2010-08-05

Citation Info:

Submitted for publication at the Workshop on Transitioning to Multicore (TMC 2011) in SPLASH 2011.