157,720 research outputs found
Design, implementation and evaluation of a distributed CDCL framework
The primary subject of this dissertation is practically solving instances of the Boolean satisfiability problem (SAT) that arise from industrial applications. The invention of the conflict-driven clause-learning (CDCL) algorithm led to enormous progress in this field. CDCL has been augmented with effective pre- and inprocessing techniques that boost its effectiveness. While a considerable amount of work has been done on applying shared-memory parallelism to enhance the performance of CDCL, solving SAT on distributed architectures is studied less thoroughly.
In this work, we develop a distributed, CDCL-based framework for SAT solving. This framework consists of three main components: 1. An implementation of the CDCL algorithm that we have written from scratch, 2. a
novel, parallel SAT algorithm that builds upon this CDCL implementation and 3. a collection of parallel simplification techniques for SAT instances. We call our resulting framework satUZK; our parallel solving algorithm is called the distributed divide-and-conquer (DDC) algorithm.
The DDC algorithm employs a parallel lookahead procedure to dynamically partition the search space. Load balancing is used to ensure that all computational resources are utilized during lookahead. This procedure results in a divide-and-conquer tree that is distributed over all processors. Individual threads are routed through this tree until they arrive at unsolved leaf vertices. Upon arrival, the lookahead procedure is invoked again or the leaf vertex is solved via CDCL. Several extensions to the DDC algorithm are proposed. These include clause sharing and a scheme to locally adjust the LBD score relative to the current search tree vertex. LBD is a measure for the usefulness of clauses that participate in a CDCL search. We evaluate our DDC algorithm empirically and benchmark it against the best distributed SAT algorithms. In this experiment, our DDC algorithm is faster than other distributed, state-of-the-art solvers and solves at least as many instances.
In addition to running a parallel algorithm for SAT solving we also consider parallel simplifcation. Here, we first develop a theoretical foundation that allows us to prove the correctness of parallel simplification techniques. Using this as a basis, we examine established simplification algorithms for their parallelizability. It turns out that several well-known simplification techniques can be parallelized efficiently. We provide parallel implementation of the techniques and test their effectiveness in empirical experiments. This evaluation finds several combinations of simplification techniques that can solve instances which could not be solved by the DDC algorithm alone
Satisfiability Test with Synchronous Simulated Annealing on the Fujitsu AP1000 Massively-Parallel Multiprocessor
Solving the hard Satisfiability Problem is time consuming even for modest-sized problem instances. Solving the Random L-SAT Problem is especially difficult due to the ratio of clauses to variables. This report presents a parallel synchronous simulated annealing method for solving the Random L-SAT Problem on a large-scale distributed-memory multiprocessor. In particular, we use a parallel synchronous simulated annealing procedure, called Generalized Speculative Computation, which guarantees the same decision sequence as sequential simulated annealing. To demonstrate the performance of the parallel method, we have selected problem instances varying in size from 100-variables/425-clauses to 5000-variables/21,250-clauses. Experimental results on the AP1000 multiprocessor indicate that our approach can satisfy 99.9 percent of the clauses while giving almost a 70-fold speedup on 500 processors
Grid based propositional satisfiability solving
This work studies how grid and cloud computing can be applied to efficiently solving propositional satisfiability problem (SAT) instances. Propositional logic provides a convenient language for expressing real-world originated problems such as AI planning, automated test pattern generation, bounded model checking and cryptanalysis. The interest in SAT solving has increased mainly due to improvements in the solving algorithms, which recently have increasingly focused on using parallelism offered by multi-CPU computers. Partly orthogonally to these improvements this work studies several novel approaches to parallel solving of SAT instances in a grid of widely distributed "virtual" computers instead of workstations or supercomputers.
Two types of parallel SAT solving approaches are analyzed and used as building blocks for more complex systems: using several solvers which compete to solve a given instance in parallel, and splitting the search space of the instance and solving the resulting partitions in parallel. The work presents several efficient partitioning functions, critical in successful splitting according to an analytical result, and presents novel solving systems that are less dependent on the partitioning function efficiency. Finally, the work studies combining clause learning, a key technique in modern SAT solvers, with the novel types of parallel solvers. Different heuristics are studied for filtering clauses learned in parallel, and the work proposes techniques which allow exchanging the clauses between different splits.
The practical significance of the results are studied using large, standard benchmark sets from SAT competitions. Some of the approaches are able to solve several instances that have either not been solved at all by any other solver, or which are significantly slower to solve with other solvers
Distributed Domain Propagation
This is the final version. Available on open access from the publisher via the DOI in this record16th International Symposium on Experimental Algorithms (SEA 2017), 21-23 June 2017, London, UKPortfolio parallelization is an approach that runs several solver instances in parallel and terminates when one of them succeeds in solving the problem. Despite itâs simplicity portfolio parallelization has been shown to perform well for modern mixed-integer programming (MIP) and boolean satisfiability problem (SAT) solvers. Domain propagation has also been shown to be a simple technique in modern MIP and SAT solvers that effectively finds additional domain reductions after a variables domain has been reduced. This paper investigates the impact of distributed domain propagation in modern MIP solvers that employ portfolio parallelization. Computational experiments were conducted for two implementations of this parallelization approach. While both share global variable bounds and solutions they communicate differently. In one implementation the communication is performed only at designated points in the solving process and in the other it is performed completely asynchronously. Computational experiments show a positive performance impact of communicating global variable bounds and provide valuable insights in communication strategies for parallel solvers.German Federal Ministry of Education and Researc
Tarmo: A Framework for Parallelized Bounded Model Checking
This paper investigates approaches to parallelizing Bounded Model Checking
(BMC) for shared memory environments as well as for clusters of workstations.
We present a generic framework for parallelized BMC named Tarmo. Our framework
can be used with any incremental SAT encoding for BMC but for the results in
this paper we use only the current state-of-the-art encoding for full PLTL.
Using this encoding allows us to check both safety and liveness properties,
contrary to an earlier work on distributing BMC that is limited to safety
properties only.
Despite our focus on BMC after it has been translated to SAT, existing
distributed SAT solvers are not well suited for our application. This is
because solving a BMC problem is not solving a set of independent SAT instances
but rather involves solving multiple related SAT instances, encoded
incrementally, where the satisfiability of each instance corresponds to the
existence of a counterexample of a specific length. Our framework includes a
generic architecture for a shared clause database that allows easy clause
sharing between SAT solver threads solving various such instances.
We present extensive experimental results obtained with multiple variants of
our Tarmo implementation. Our shared memory variants have a significantly
better performance than conventional single threaded approaches, which is a
result that many users can benefit from as multi-core and multi-processor
technology is widely available. Furthermore we demonstrate that our framework
can be deployed in a typical cluster of workstations, where several multi-core
machines are connected by a network
Distributed Random Convex Programming via Constraints Consensus
This paper discusses distributed approaches for the solution of random convex
programs (RCP). RCPs are convex optimization problems with a (usually large)
number N of randomly extracted constraints; they arise in several applicative
areas, especially in the context of decision under uncertainty, see [2],[3]. We
here consider a setup in which instances of the random constraints (the
scenario) are not held by a single centralized processing unit, but are
distributed among different nodes of a network. Each node "sees" only a small
subset of the constraints, and may communicate with neighbors. The objective is
to make all nodes converge to the same solution as the centralized RCP problem.
To this end, we develop two distributed algorithms that are variants of the
constraints consensus algorithm [4],[5]: the active constraints consensus (ACC)
algorithm, and the vertex constraints consensus (VCC) algorithm. We show that
the ACC algorithm computes the overall optimal solution in finite time, and
with almost surely bounded communication at each iteration. The VCC algorithm
is instead tailored for the special case in which the constraint functions are
convex also w.r.t. the uncertain parameters, and it computes the solution in a
number of iterations bounded by the diameter of the communication graph. We
further devise a variant of the VCC algorithm, namely quantized vertex
constraints consensus (qVCC), to cope with the case in which communication
bandwidth among processors is bounded. We discuss several applications of the
proposed distributed techniques, including estimation, classification, and
random model predictive control, and we present a numerical analysis of the
performance of the proposed methods. As a complementary numerical result, we
show that the parallel computation of the scenario solution using ACC algorithm
significantly outperforms its centralized equivalent
Survey-propagation decimation through distributed local computations
We discuss the implementation of two distributed solvers of the random K-SAT
problem, based on some development of the recently introduced
survey-propagation (SP) algorithm. The first solver, called the "SP diffusion
algorithm", diffuses as dynamical information the maximum bias over the system,
so that variable nodes can decide to freeze in a self-organized way, each
variable making its decision on the basis of purely local information. The
second solver, called the "SP reinforcement algorithm", makes use of
time-dependent external forcing messages on each variable, which let the
variables get completely polarized in the direction of a solution at the end of
a single convergence. Both methods allow us to find a solution of the random
3-SAT problem in a range of parameters comparable with the best previously
described serialized solvers. The simulated time of convergence towards a
solution (if these solvers were implemented on a distributed device) grows as
log(N).Comment: 18 pages, 10 figure
- âŠ