In this paper, we make a research on a widely-used SAT solver, Minisat, aiming to improve its performance using coarse-grained parallel method on multi-core and multi-platform. Firstly, we parallel the Minisat by mean of OpenMP and test its performance with different threads by running a test set consisting of 2000 SAT problems on an X86 computer. Besides, a scheduling strategy with time sequence is added to the process and achieves a better speed-up ratio. Then, we move the algorithm to an ARM computer and repeat the same process, finding that the performance of Minisat on X86 is better than that on ARM, but ARM platform has a better scale effect than X86 platform when running at full load and is able to perform better than X86 when they have the same hardware configuration. Introduction As the first proved NP-complete problem [1], satisfiability problem (SAT problem for short) has an important theoretical and application value in mathematical logic, computer science, IC design and verification, artificial intelligence, etc. It is the core problem of computer theory and application. The design and implement of efficient algorithms to solve this problem is of great significance. However, there doesn't exist such an algorithm whose computational complexity in the worst case can reach polynomial level, thus the solving speed is a big problem restricting the development of the SAT algorithms. As one of the most popular SAT solvers, Minisat [2] is based on DPLL [3] algorithm, which is a kind of classic SAT complete algorithms. Minisat is added into some techniques like confliction clause learning and watched literal, achieving a good performance. Nowadays, there are many parallel algorithms of SAT, such as GrADSAT [4], NAGSAT [5], Satz [6] and PSATO [7]. There also exist parallel algorithms of Minisat like PMSat [8]. But most of them are faced to clusters and grids consisting of multiple computers, which means these algorithms are not fittable to reach an ideal performance on one computer. Our paper tries to improve Minisat performance on one computer by applying coarse-grained parallel technique and proper dynamic scheduling strategy. Nowadays, most of the SAT studies are based on X86 platforms, but there is another efficient platform. The ARM architecture is a 32-bit reduced instruction set (RISC) processor architecture with high performance, low cost and low energy consumption. It is widely used in consumer electronics, industrial control, communication system, network system and military industrial project. However, there are few researches about Minisat on this platform. In our paper, we apply the Minisat coarse-grained parallel algorithm to ARM platform, and compare its performance with that on X86 platform, so that we can know if ARM platform is more suitable to solve SAT problems than X86 platform, which is of great significance to a deep study on SAT. Methodology Minisat is a kind of complete SAT solver, it can theoretically solve all SAT problems. Comparing with the incomplete solver, its structure is more complex and the solving process is 5th International Conference on Machinery, Materials and Computing Technology (ICMMCT 2017) Copyright © 2017, the Authors. Published by Atlantis Press. This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/). Advances in Engineering, volume 126
[1]
Gil Utard,et al.
A Parallelization Scheme Based on Work Stealing for a Class of SAT Solvers
,
2005,
Journal of Automated Reasoning.
[2]
Wahid Chrabakh,et al.
GrADSAT: A Parallel SAT Solver for the Grid
,
2003
.
[3]
Paulo F. Flores,et al.
PMSat: a parallel version of MiniSAT
,
2008,
J. Satisf. Boolean Model. Comput..
[4]
Stephen A. Cook,et al.
The complexity of theorem-proving procedures
,
1971,
STOC.
[5]
Kevin Leyton-Brown,et al.
Algorithm runtime prediction: Methods & evaluation
,
2012,
Artif. Intell..
[6]
Maria Paola Bonacina,et al.
PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems
,
1996,
J. Symb. Comput..
[7]
Sean Forman.
NagSAT; A Randomized Complete, Parallel Solver for 3-SAT
,
2002
.
[8]
Niklas Sörensson,et al.
An Extensible SAT-solver
,
2003,
SAT.