### Abstract

Original language | English |
---|---|

Pages (from-to) | 65-75 |

Number of pages | 11 |

Journal | Journal of Parallel and Distributed Computing |

Volume | 84 |

Issue number | 8 August 2015 |

DOIs | |

Publication status | Published - 2015 |

Externally published | Yes |

### Fingerprint

### Cite this

*Journal of Parallel and Distributed Computing*,

*84*(8 August 2015), 65-75. https://doi.org/10.1016/j.jpdc.2015.07.006

}

*Journal of Parallel and Distributed Computing*, vol. 84, no. 8 August 2015, pp. 65-75. https://doi.org/10.1016/j.jpdc.2015.07.006

**On scalable parallel recursive backtracking.** / Abu Khzam, Faisal; Daudjee, K; Mouawad, A.E.; Nishimura, N.

Research output: Contribution to journal › Article › Research › peer-review

TY - JOUR

T1 - On scalable parallel recursive backtracking

AU - Abu Khzam, Faisal

AU - Daudjee, K

AU - Mouawad, A.E.

AU - Nishimura, N

PY - 2015

Y1 - 2015

N2 - 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.

AB - 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.

U2 - 10.1016/j.jpdc.2015.07.006

DO - 10.1016/j.jpdc.2015.07.006

M3 - Article

VL - 84

SP - 65

EP - 75

JO - Journal of Parallel and Distributed Computing

JF - Journal of Parallel and Distributed Computing

SN - 0743-7315

IS - 8 August 2015

ER -