An Easy-to-use Scalable Framework for Parallel Recursive Backtracking

Supercomputers are equipped with an increasingly large number of cores to use computational power as a way of solving problems that are otherwise intractable. Unfortunately, getting serial algorithms to run in parallel to take advantage of these computational resources remains a challenge for several application domains. Many parallel algorithms can scale to only hundreds of cores. The limiting factors of such algorithms are usually communication overhead and poor load balancing. Solving NP-hard graph problems to optimality using exact algorithms is an example of an area in which there has so far been limited success in obtaining large scale parallelism. Many of these algorithms use recursive backtracking as their core solution paradigm. In this paper, we propose a lightweight, easy-to-use, scalable framework for transforming almost any recursive backtracking algorithm into a parallel one. Our framework incurs minimal communication overhead and guarantees a load-balancing strategy that is implicit, i.e., does not require any problem-specific knowledge. The key idea behind this framework is the use of an indexed search tree approach that is oblivious to the problem being solved. We test our framework with parallel implementations of algorithms for the well-known Vertex Cover and Dominating Set problems. On sufficiently hard instances, experimental results show linear speedups for thousands of cores, reducing running times from days to just a few minutes.

[1]  Amer E. Mouawad,et al.  A Decentralized Load Balancing Approach for Parallel Search-Tree Optimization , 2012, 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies.

[2]  Message P Forum,et al.  MPI: A Message-Passing Interface Standard , 1994 .

[3]  Laxmikant V. Kalé,et al.  An Adaptive Framework for Large-Scale State Space Search , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[4]  Ge Xia,et al.  Improved upper bounds for vertex cover , 2010, Theor. Comput. Sci..

[5]  Matthew J. Saltzman,et al.  A Library Hierarchy for Implementing Scalable Parallel Search Algorithms , 2004, The Journal of Supercomputing.

[6]  Michael R. Fellows,et al.  Parameterized Complexity , 1998 .

[7]  Gerhard J. Woeginger,et al.  Exact Algorithms for NP-Hard Problems: A Survey , 2001, Combinatorial Optimization.

[8]  Gerhard J. Woeginger,et al.  Exact (Exponential) Algorithms for the Dominating Set Problem , 2004, WG.

[9]  Ke Xu,et al.  A Simple Model to Generate Hard Satisfiable Instances , 2005, IJCAI.

[10]  Laxmikant V. Kalé,et al.  Comparing the Performance of Two Dynamic Load Distribution Methods , 1988, ICPP.

[11]  Weijia Jia,et al.  Vertex Cover: Further Observations and Further Improvements , 1999, J. Algorithms.

[12]  Udi Manber,et al.  DIB—a distributed implementation of backtracking , 1987, TOPL.

[13]  Patrick W. Fowler,et al.  Maximum independent sets of the 120-cell and other regular polytopes , 2012, Ars Math. Contemp..

[14]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[15]  Ching-Hsing Yu,et al.  SciNet: Lessons Learned from Building a Power-efficient Top-20 System and Data Centre , 2010 .

[16]  Amer E. Mouawad,et al.  A Hybrid Graph Representation for Recursive Backtracking Algorithms , 2010, FAW.

[17]  Giuseppe Di Fatta,et al.  Decentralized Load Balancing for Highly Irregular Search Problems , 2006, ISCC.

[18]  Thomas C. van Dijk,et al.  Inclusion/Exclusion Meets Measure and Conquer , 2013, Algorithmica.

[19]  Faisal N. Abu-Khzam,et al.  Scalable Parallel Algorithms for FPT Problems , 2006, Algorithmica.

[20]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[21]  Michael A. Langston,et al.  Parallel vertex cover: a case study in dynamic load balancing , 2011 .

[22]  Nagiza F. Samatova,et al.  The Buffered Work-Pool Approach for Search-Tree Based Optimization Algorithms , 2007, PPAM.

[23]  Fabrizio Grandoni,et al.  Measure and Conquer: Domination - A Case Study , 2005, ICALP.

[24]  Weijia Jia,et al.  Vertex Cover: Further Observations and Further Improvements , 2001, J. Algorithms.

[25]  Vipin Kumar,et al.  Scalable Load Balancing Techniques for Parallel Computers , 1994, J. Parallel Distributed Comput..