A Parallel and Distributed Framework for Constraint Solving - Pedro, Vasco (2011)
With the increased availability of affordable parallel and dis- tributed hardware, programming models for these architectures has be- come the focus of significant attention. Constraint programming, which can be seen as the encoding of processes as a Constraint Satisfaction Problem, because of its data-driven and control-insensitive approach is a prime candidate to serve as the basis for a framework which effectively exploits parallel architectures. To effectually apply the power of distributed computational systems, there must be an effective sharing of the work involved in the search for a solution to a Constraint Satisfaction Problem (CSP) between all the participating agents, and it must happen dynamically, as it is hard to predict the effort associated with the exploration of some part of the search space. We describe and provide an initial experimental assessment of an imple- mentation of a work stealing-based approach to distributed CSP solving, which relies on multiple back-ends for the distributed computing mecha- nisms – from the multicore CPU to supercomputer clusters running MPI or other interprocess communication platforms.