parallel_dp: the parallel dynamic programming design pattern as an Intel® threading building blocks algorithm template

  • Authors:
  • Doug Serfass;Peiyi Tang

  • Affiliations:
  • University of Arkansas at Little Rock, Little Rock, Arkansas;University of Arkansas at Little Rock, Little Rock, Arkansas

  • Venue:
  • Proceedings of the 51st ACM Southeast Conference
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Intel Threading Building Blocks (TBB) is an ideal environment for implementation of the parallel dynamic programming design pattern. The task-based parallelism of TBB readily lends itself to the realization of the participants and participant collaboration of this design pattern. We propose the parallel_dp algorithm template, an implementation of the parallel dynamic programming design pattern using TBB. We define the participants and the participant collaboration of this design pattern and describe how the design pattern is implemented by parallel_dp. We analyze the performance of our solution by applying parallel_dp to create four TBB programs that are parallel versions of the four types of dynamic programming algorithms. Our experimental results prove that parallel_dp provides speedup to all of our TBB programs and near linear speedup to one of our TBB programs. We conclude that parallel_dp will improve the performance of many TBB programs that include a dynamic programming algorithm.