On scalable parallel recursive backtracking

Faisal Abu Khzam, K Daudjee, A.E. Mouawad, N Nishimura

Research output: Contribution to journalArticlepeer-review

1 Downloads (Pure)


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 approach for transforming almost any recursive backtracking algorithm into a parallel one. Our approach 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 our approach is the use of efficient traversal operations on an indexed search tree that is oblivious to the problem being solved. We test our approach with parallel implementations of algorithms for the well-known Vertex Cover and Dominating Set problems. On sufficiently hard instances, experimental results show nearly linear speedups for thousands of cores, reducing running times from days to just a few minutes.
Original languageEnglish
Pages (from-to)65-75
Number of pages11
JournalJournal of Parallel and Distributed Computing
Issue number8 August 2015
Publication statusPublished - 2015
Externally publishedYes


Dive into the research topics of 'On scalable parallel recursive backtracking'. Together they form a unique fingerprint.

Cite this