Lock-free parallel dynamic programming

  • Authors:
  • Alex Stivala;Peter J. Stuckey;Maria Garcia de la Banda;Manuel Hermenegildo;Anthony Wirth

  • Affiliations:
  • Department of Computer Science and Software Engineering, University of Melbourne, 3010, Australia;Department of Computer Science and Software Engineering, University of Melbourne, 3010, Australia and NICTA Victoria Research Laboratories, Australia;School of Information Technology, Monash University, 6800, Australia;IMDEA Software, Madrid, Spain and Universidad Politecnica de Madrid (UPM), Madrid, Spain;Department of Computer Science and Software Engineering, University of Melbourne, 3010, Australia

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We show a method for parallelizing top down dynamic programs in a straightforward way by a careful choice of a lock-free shared hash table implementation and randomization of the order in which the dynamic program computes its subproblems. This generic approach is applied to dynamic programs for knapsack, shortest paths, and RNA structure alignment, as well as to a state-of-the-art solution for minimizing the maximum number of open stacks. Experimental results are provided on three different modern multicore architectures which show that this parallelization is effective and reasonably scalable. In particular, we obtain over 10 times speedup for 32 threads on the open stacks problem.