Archibald, B. , Maier, P., Stewart, R. and Trinder, P. (2020) YewPar: Skeletons for Exact Combinatorial Search. In: 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming Proceedings, San Diego, CA, USA, 22-26 Feb 2020, pp. 292-307. ISBN 9781450368186 (doi: 10.1145/3332466.3374537)
|
Text
206497.pdf - Accepted Version 993kB |
Abstract
Combinatorial search is central to many applications, yet the huge irregular search trees and the need to respect search heuristics make it hard to parallelise. We aim to improve the reuse of intricate parallel search implementations by providing the first general purpose scalable parallel framework for exact combinatorial search, YewPar. We make the following contributions. (1) We present a novel formal model of parallel backtracking search, covering enumeration, decision, and optimisation search. (2) We introduce Lazy Node Generators as a uniform API for search tree generation. (3) We present the design and implementation of 12 widely applicable algorithmic skeletons for tree search on shared and distributed memory architectures. (4) Uniquely in the field we demonstrate how a wide range of parallel search applications can easily be constructed by composing Lazy Node Generators and the search skeletons. (5) We report a systematic performance analysis of all 12 YewPar skeletons on standard instances of 7 search applications, investigating skeleton overheads and scalability up to 255 workers on 17 distributed locations.
Item Type: | Conference Proceedings |
---|---|
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Archibald, Dr Blair and Maier, Dr Patrick and Trinder, Professor Phil |
Authors: | Archibald, B., Maier, P., Stewart, R., and Trinder, P. |
College/School: | College of Science and Engineering > School of Computing Science |
ISBN: | 9781450368186 |
Copyright Holders: | Copyright © 2020 Association for Computing Machinery |
Publisher Policy: | Reproduced in accordance with the copyright policy of the publisher |
University Staff: Request a correction | Enlighten Editors: Update this record