Massive Parallelization of SAT Solvers

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
SE-292 High Performance Computing
Program Analysis and Tuning The German High Performance Computing Centre for Climate and Earth System Research Panagiotis Adamidis.
Introductions to Parallel Programming Using OpenMP
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
The Energy Case for Graph Processing on Hybrid Platforms Abdullah Gharaibeh, Lauro Beltrão Costa, Elizeu Santos-Neto and Matei Ripeanu NetSysLab The University.
Understanding Application Scaling NAS Parallel Benchmarks 2.2 on NOW and SGI Origin 2000 Frederick Wong, Rich Martin, Remzi Arpaci-Dusseau, David Wu, and.
Graph Analysis with High Performance Computing by Bruce Hendrickson and Jonathan W. Berry Sandria National Laboratories Published in the March/April 2008.
Clause Deletion Strategy in a Satisfiability Solver Presented by Colin Southwood For CMPS 217, Logic in Computer Science Tuesday, December 11 th, 2007.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
Modeling the Covering Test Problem Brahim Hnich, Steven Prestwich, and Evgeny Selensky Cork Constraint Computation Center UCC Supported by SFI.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
A Grid-enabled Branch and Bound Algorithm for Solving Challenging Combinatorial Optimization Problems Authors: M. Mezmaz, N. Melab and E-G. Talbi Presented.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Knight’s Tour Distributed Problem Solving Knight’s Tour Yoav Kasorla Izhaq Shohat.
The Asynchronous Dynamic Load-Balancing Library Rusty Lusk, Steve Pieper, Ralph Butler, Anthony Chan Mathematics and Computer Science Division Nuclear.
Performance Evaluation of Hybrid MPI/OpenMP Implementation of a Lattice Boltzmann Application on Multicore Systems Department of Computer Science and Engineering,
Parallel Performance of Hierarchical Multipole Algorithms for Inductance Extraction Ananth Grama, Purdue University Vivek Sarin, Texas A&M University Hemant.
Work Stealing and Persistence-based Load Balancers for Iterative Overdecomposed Applications Jonathan Lifflander, UIUC Sriram Krishnamoorthy, PNNL* Laxmikant.
Performance Tuning on Multicore Systems for Feature Matching within Image Collections Xiaoxin Tang*, Steven Mills, David Eyers, Zhiyi Huang, Kai-Cheung.
Large-scale Hybrid Parallel SAT Solving Nishant Totla, Aditya Devarakonda, Sanjit Seshia.
UPC Applications Parry Husbands. Roadmap Benchmark small applications and kernels —SPMV (for iterative linear/eigen solvers) —Multigrid Develop sense.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
P, NP, and Exponential Problems Should have had all this in CS 252 – Quick review Many problems have an exponential number of possibilities and we can.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 Basic Parallel Programming Concepts Computational.
Computer Science and Engineering Parallelizing Defect Detection and Categorization Using FREERIDE Leonid Glimcher P. 1 ipdps’05 Scaling and Parallelizing.
FREERIDE: System Support for High Performance Data Mining Ruoming Jin Leo Glimcher Xuan Zhang Ge Yang Gagan Agrawal Department of Computer and Information.
A New Parallel Debugger for Franklin: DDT Katie Antypas User Services Group NERSC User Group Meeting September 17, 2007.
Fig.1. Flowchart Functional network identification via task-based fMRI To identify the working memory network, each participant performed a modified version.
Template This is a template to help, not constrain, you. Modify as appropriate. Move bullet points to additional slides as needed. Don’t cram onto a single.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Processor Level Parallelism. Improving the Pipeline Pipelined processor – Ideal speedup = num stages – Branches / conflicts mean limited returns after.
Quality of LP-based Approximations for Highly Combinatorial Problems Lucian Leahu and Carla Gomes Computer Science Department Cornell University.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Lawrence Livermore National Laboratory BRdeS-1 Science & Technology Principal Directorate - Computation Directorate How to Stop Worrying and Learn to Love.
Template This is a template to help, not constrain, you. Modify as appropriate. Move bullet points to additional slides as needed. Don’t cram onto a single.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
Computer Organization CS224 Fall 2012 Lesson 52. Introduction  Goal: connecting multiple computers to get higher performance l Multiprocessors l Scalability,
Scaling Conway’s Game of Life. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
Monte Carlo Linear Algebra Techniques and Their Parallelization Ashok Srinivasan Computer Science Florida State University
Presented by Jeremy S. Meredith Sadaf R. Alam Jeffrey S. Vetter Future Technologies Group Computer Science and Mathematics Division Research supported.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
ICS 353: Design and Analysis of Algorithms Backtracking King Fahd University of Petroleum & Minerals Information & Computer Science Department.
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
Processor Level Parallelism 2. How We Got Here Developments in PC CPUs.
Kriging for Estimation of Mineral Resources GISELA/EPIKH School Exequiel Sepúlveda Department of Mining Engineering, University of Chile, Chile ALGES Laboratory,
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Getting the Most out of Scientific Computing Resources
Getting the Most out of Scientific Computing Resources
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Hybrid BDD and All-SAT Method for Model Checking
Hardware Acceleration of A Boolean Satisfiability Solver
R. Rastogi, A. Srivastava , K. Sirasala , H. Chavhan , K. Khonde
Inference and search for the propositional satisfiability problem
Case Study 2- Parallel Breadth-First Search Using OpenMP
The University of Adelaide, School of Computer Science
Parallel Density-based Hybrid Clustering
Artificial Intelligence
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
CSC-682 Advanced Computer Security
Department of Computer Science, University of Tennessee, Knoxville
ICS 353: Design and Analysis of Algorithms
FREERIDE: A Framework for Rapid Implementation of Datamining Engines
Presentation transcript:

Massive Parallelization of SAT Solvers Aditya Devarakonda, Nishant Totla (Advised by: James Demmel, Sanjit Seshia) Motivation Existing Solvers Evaluation Boolean Satisfiability forms the basis of modern constraint solving SAT Solvers have had immense gains in efficiency during the last decade – yet many instances are still beyond the reach of modern solvers At the same time, multicore hardware is more easily accessible, even in standard PCs Parallel SAT Solvers present a potential for additional speedups and the ability to solve previously intractable instances Plingeling: A shared memory parallel SAT solver that uses Pthreads as the threading model ManySAT2.0: A shared memory parallel SAT solver that uses OpenMP as the threading model Plingeling exhibits poor scaling when compared to Manysat2.0. We use this as motivation for using Manysat2.0 as our base solver for our MPI version Neither solver can efficiently scale to 24 threads on a single node. Therefore, an efficient parallelization strategy is necessary to scale beyond a single node MPI ManySAT2.0 can solve this SAT instance deterministically whereas ManySAT2.0 never finishes for deterministic and rarely finishes for non-deterministic Hard SAT Instance (deterministic, 12 OpenMP threads) MPI ManySAT 2.0 Speedup # of cores Time (sec) ~1.9x between parallel runs. Meaning our search space pruning effectively reduces work per processor. 384 1984.0 768 511.0 Hard SAT Instance (non-det.) ManySAT2.0 Note # of threads Time (sec) Non-deterministic running times are highly variable. ManySAT2.0 only rarely solves this SAT instance. 12 2067.0 24 1730.0 Objectives Demonstrating parallel scaling: Does adding more cores make the solver faster? Speedups over existing solvers: Can we do better than existing parallel solvers? Solving intractable instances: Can we solve instances that other solvers cannot? Scale to large number of cores: How many cores can we scale to, while still seeing gains? Add new feed options Set the parameters - Time out - Number of retrials Challenges Experimental Setup Solver Layout Future Work The memory footprint of parallel solvers is fairly large. One big challenge is parallelizing across nodes while keeping the memory usage under check A second challenge is to have an efficient search space division strategy to ensure fast exploration on sub-spaces All of our experiments were run on the Hopper system at the NERSC Center Hopper is a Cray XE6 system with 153,216 processors, 217 Terabytes of memory with a peak performance of 1.28 Petaflops/sec Each node of Hopper contains 24 cores partitioned into 4 NUMA regions each with 2 sockets Optimizing the choice of guiding paths using higher level information about the instance Analysis of how our scaling technique affects solver parameters (propagations, restarts, decisions etc.) Experimenting with more diversification in individual solver parameters Work stealing OpenMP proc1 OpenMP proc2 OpenMP proc3 OpenMP proc4 The search space is divided using “guiding paths” Each process is a parallel portfolio for its own “path” Acknowledgement This research used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231