Towards Generic Scalable Parallel Combinatorial Search

Blair Archibald, Patrick Maier, Robert Stewart, Phil Trinder, Jan De Beule

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)
76 Downloads (Pure)


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, 22), 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.
Original languageEnglish
Title of host publicationPASCO 2017 Proceedings of the International Workshop on Parallel Symbolic Computation
PublisherAssociation for Computing Machinery
ISBN (Print)9781450352888
Publication statusPublished - 23 Jul 2017


Dive into the research topics of 'Towards Generic Scalable Parallel Combinatorial Search'. Together they form a unique fingerprint.

Cite this