HordeSat: A Massively Parallel Portfolio SAT Solver

  title={HordeSat: A Massively Parallel Portfolio SAT Solver},
  author={Tom{\'a}s Balyo and Peter Sanders and Carsten Sinz},
A simple yet successful approach to parallel satisfiability (SAT) solving is to run several different (a portfolio of) SAT solvers on the input problem at the same time until one solver finds a solution. The SAT solvers in the portfolio can be instances of a single solver with different configuration settings. Additionally the solvers can exchange information usually in the form of clauses. In this paper we investigate whether this approach is applicable in the case of massively parallel SAT… 

Tuning Parallel SAT Solvers

New implementation details and benchmarking results for the authors' parallel portfolio solver \topo are presented, and the impact of diversifying the solver by using different restart- , branching- and clause database management heuristics are discussed.

Distributed Domain Propagation

Portfolio parallelization is an approach that runs several solver instances in parallel and terminates when one of them succeeds in solving the problem. Despite its simplicity, portfolio

Dissolve: A Distributed SAT Solver Based on Stalmarck's Method

A novel approach for solving SAT problems in parallel based on the combination of traditional CDCL with St̊almarck’s Dilemma Rule to partition the search space between solvers and merge their results.

Memory Efficient Parallel SAT Solving with Inprocessing

  • M. IserTomás BalyoC. Sinz
  • Computer Science
    2019 IEEE 31st International Conference on Tools with Artificial Intelligence (ICTAI)
  • 2019
A parallel portfolio SAT solver that is based on several totally different branching heuristics and configurations, and how to asynchronously manage concurrent access to a shared clause database in a parallel portfolio of solvers that can also perform inprocessing is presented.

Parallelizing a SAT-Based Product Configurator

This paper presents how state-of-the-art parallel algorithms designed to solve the Satisfiability (SAT) problem can be applied in the domain of product configuration and proposes five new deterministic parallel algorithms and experimentally compare them.

SAT and CP - Parallelisation and Applications

This thesis considers the parallelisation and application of SAT and CP solvers, and considers the question how many parallel sorting steps are needed to sort some inputs, and presents both lower and upper bounds for several cases.

Design, implementation and evaluation of a distributed CDCL framework

A distributed, CDCL-based framework for SAT solving, and several combinations of simplification techniques that can solve instances which could not be solved by the DDC algorithm alone.

HordeQBF: A Modular and Massively Parallel QBF Solver

The QCDCL-based quantified Boolean formula (QBF) solver DepQBF is integrated in HordeSAT to obtain a massively parallel QBF solver---HordeQBF, which achieves superlinear average and median speedup on the hard application instances of the 2014 QBF Gallery.



Designing Scalable Parallel SAT Solvers

It is proved, under certain natural assumptions on the partitioning function, that search-space partitioning can always result in an increased expected run time, justifying the success of the portfolio approaches.

ManySAT: a Parallel SAT Solver

In this paper, ManySAT a new portfolio-based parallel SAT solver is thoroughly described. The design of ManySAT benefits from the main weaknesses of modern SAT solvers: their sensitivity to parameter

An overview of parallel SAT solving

This paper presents an overview of parallel SAT solving, namely, different approaches and a variety of clause sharing strategies, and an evaluation of multicore SAT solvers is presented, showing the evolution of multicores over the last years.

GridSAT: A Chaff-based Distributed SAT Solver for the Grid

It is shown how the large number of computational resources that are available from a Grid can be managed effectively for the application by an automatic scheduler and effective implementation and how GridSAT has solved previously unsolved satisfiability problems and the domain science contribution these results make.

Grid-Based SAT Solving with Iterative Partitioning and Clause Learning

An abstract framework is presented which extends a previously presented iterative partitioning approach with clause learning, a key technique applied in modern SATsolvers, and two techniques that alter the clause learning of modern SAT solvers to fit the framework are presented.

c-sat: A Parallel SAT Solver for Clusters

A SAT Solver c-sat is described, a parallelization of MiniSat using MPI, which employs a layered master-worker architecture, where the masters handle lemma exchange, deletion of redundant lemmas and the dynamic partitioning of search trees, while the workers do search using different decision heuristics and random number seeds.

Incorporating Clause Learning in Grid-Based Randomized SAT Solving

The paper presents an algorithmic framework for learning-enhanced randomized SAT solving in Grid environments and demonstrates that this approach enables a form of clause learning which is not directly available in the underlying sequential SAT solver.

Parallel SAT Solving on Peer-to-Peer Desktop Grids

Satciety is a distributed parallel satisfiability (SAT) solver which focuses on tackling the domain-specific problems inherent to one of the most challenging environments for parallel

Lazy Clause Exchange Policy for Parallel SAT Solvers

A simple parallel version of Glucose is proposed that uses a lazy policy to exchange clauses between cores that does not send a clause when it is learnt, but later, when it has a chance to be useful locally.

Inprocessing Rules

The formal underpinnings of inprocessing SAT solving are established via an abstract inprocessing framework that covers a wide range of modern SAT solving techniques.