Towards Generic Scalable Parallel Combinatorial Search

Archibald, B. , Maier, P., Stewart, R., Trinder, P. and De Beule, J. (2017) Towards Generic Scalable Parallel Combinatorial Search. In: PASCO 2017, Kaiserslautern, Germany, 23-24 July 2017, ISBN 9781450352888 (doi: 10.1145/3115936.3115942)

143158.pdf - Accepted Version



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.

Item Type:Conference Proceedings
Glasgow Author(s) Enlighten ID:Archibald, Dr Blair and Maier, Dr Patrick and Trinder, Professor Phil
Authors: Archibald, B., Maier, P., Stewart, R., Trinder, P., and De Beule, J.
College/School:College of Science and Engineering > School of Engineering
College of Science and Engineering > School of Computing Science
Copyright Holders:Copyright © 2017 Association for Computing Machinery
Publisher Policy:Reproduced in accordance with the copyright policy of the publisher
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
644791Adaptive Just-In-Time Parallelisation (AJITPar)Phil TrinderEngineering and Physical Sciences Research Council (EPSRC)EP/L000687/1COM - COMPUTING SCIENCE
608951Engineering and Physical Sciences Doctoral Training Grant 2012-16Mary Beth KneafseyEngineering and Physical Sciences Research Council (EPSRC)EP/K503058/1VPO VICE PRINCIPAL RESEARCH & ENTERPRISE
700861MaRIONet: Manycore Research Interaction and Opportunities NetworkJeremy SingerEngineering and Physical Sciences Research Council (EPSRC)EP/P006434/1COM - COMPUTING SCIENCE