Towards Generic Scalable Parallel Combinatorial Search

ARCHIBALD, Blair, MAIER, Patrick, STEWART, Robert, TRINDER, Phil and DE BEULE, Jan (2017). Towards Generic Scalable Parallel Combinatorial Search. In: PASCO 2017 : Proceedings of the International Workshop on Parallel Symbolic Computation. ACM, 1-10.

PASCO2017-accepted_version-143158.pdf - Accepted Version
All rights reserved.

Download (687kB) | Preview
Official URL:
Link to published version:: 10.1145/3115936.3115942


Combinatorial search problems in mathematics, e.g. in finite geometry, are notoriously hard; a state-of-the-art backtracking search algorithm can easily take months to solve a single problem. There is clearly demand for parallel combinatorial search algorithms scaling to hundreds of cores and beyond. However, backtracking combinatorial searches are challenging to parallelise due to their sensitivity to search order and due to the their irregularly shaped search trees. Moreover, scaling parallel search to hundreds of cores generally requires highly specialist parallel programming expertise. This paper proposes a generic scalable framework for solving hard combinatorial problems. Key elements are distributed memory task parallelism (to achieve scale), work stealing (to cope with irregularity), and generic algorithmic skeletons for combinatorial search (to reduce the parallelism expertise required). We outline two implementations: a mature Haskell Tree Search Library (HTSL) based around algorithmic skeletons and a prototype C++ Tree Search Library (CTSL) that uses hand coded applications. Experiments on maximum clique problems and on a problem in finite geometry, the search for spreads in H(4,2^2), show that (1) CTSL consistently outperforms HTSL on sequential runs, and (2) both libraries scale to 200 cores, e.g. speeding up spreads search by a factor of 81 (HTSL) and 60 (CTSL), respectively. This demonstrates the potential of our generic framework for scaling parallel combinatorial search to large distributed memory platforms.

Item Type: Book Section
Departments: Arts, Computing, Engineering and Sciences > Computing
Identification Number: 10.1145/3115936.3115942
Depositing User: Patrick Maier
Date Deposited: 16 Feb 2018 12:05
Last Modified: 16 Feb 2018 12:14

Actions (login required)

View Item View Item


Downloads per month over past year

View more statistics