SAT Over BOINC: An Application-Independent Volunteer Grid Project

BOINC is a well-known middleware application for distributing projects over a volunteer grid. Most popular BOINC projects are designed for a specific research problem. Lacking is a general-purpose project that allows researchers, with no experience with the BOINC API and little means of hosting a server, to dispatch their own parallel computations to the volunteer grid. This paper describes a BOINC boolean satisfiability (SAT) solver that accepts equations submitted by external contributers via a Python module or a web interface. It parallelizes the SAT equation, dispatches sub problems to volunteer clients, assembles the result, and returns it to the researcher. The solver is shown scale with the number of nodes, and outperforms serial SAT solvers, even with the BOINC overhead, for SAT equations of 40 variables or more. The project uses a flexible framework so that future solvers can be built with it.

[1]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[2]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[3]  Rosa M. Badia,et al.  GRID superscalar and SAGA : forming a high-level and platform-independent Grid programming environment , 2005 .

[4]  Ariel Shamir,et al.  Cryptanalysis of the oil and vinegar signature scheme , 1998 .

[5]  Paulo F. Flores,et al.  PMSat: a parallel version of MiniSAT , 2008, J. Satisf. Boolean Model. Comput..

[6]  Niklas Een,et al.  MiniSat v1.13 - A SAT Solver with Conflict-Clause Minimization , 2005 .