Gridsat: a distributed large scale satisfiability solver for the computational grid

Grid Computing is an emerging field in computer science. Research in this area aims at aggregating distributed, heterogenous and federated resources and make it available to Grid applications. In the past two types of applications have been deployed with varying degrees of success. The first type of applications is embarrassingly parallel (a bag of independent tasks). This category adapts well to a computational grid environment. The second category of applications includes mainly scientific code which is tightly coupled in nature. This type of applications is very hard to deploy in a grid environment. In this thesis we present GridSAT, a new grid application. GridSAT is a distributed complete Boolean satisfiability sower based on the sequential solver Chaff [70]. In addition to its theoretical significance, the satisfiability problem has numerous practical applications. SAT solvers are used in many engineering and scientific fields including circuit design and model checking. GridSAT is able to achieve new results by solving faster those problems that were previously solved by other solvers. Moreover, it was able to solve problems which were left unsolved by other solvers. GridSAT accomplishes these results by achieving two goals. The first is parallelizing the sequential solver in a manner which allows it to run efficiently on a large collection of resources. GridSAT also uses techniques to enable information sharing between the parallel components to avoid redundant work. The second goal is to design and implement the application so that it can adapt to the dynamic conditions of a computational grid environment. The techniques and design used to realize GridSAT can be deployed with other application to achieve new results. In addition, we show how multiple GridSAT instances can cooperate to run efficiently on a common set of resources without explicit synchronization. These experiments represent realistic scenarios where many grid applications share a common resource pool. We have also developed a web portal which accepts problem instances through a standard web browser and returns status and results while shielding users from complexities of running the application manually.

[1]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[2]  Marco Platzner,et al.  Instance-Specific Accelerators for Minimum Covering , 2004, The Journal of Supercomputing.

[3]  Richard Wolski,et al.  Predicting the CPU availability of time‐shared Unix systems on the computational grid , 2004, Cluster Computing.

[4]  Gil Utard,et al.  Parallelizing Satz Using Dynamic Workload Balancing , 2001, Electron. Notes Discret. Math..

[5]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Francine Berman,et al.  The AppLeS Parameter Sweep Template: User-Level Middleware for the Grid , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[7]  Micah Beck,et al.  IBP: The Internet Backplane Protocol , 1999 .

[8]  Richard Wolski,et al.  GridSAT: Design and Implementation of a Computational Grid Application , 2006, Journal of Grid Computing.

[9]  R. Wolski,et al.  GridSAT Portal : A Grid Web-based Portal for Solving Satisfiability Problems Using National Cyberinfrastrcture ∗ † , 2022 .

[10]  Michael H. Schulz,et al.  Improved deterministic test pattern generation with applications to redundancy identification , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[12]  Bart Selman,et al.  Planning as Satisfiability , 1992, ECAI.

[13]  Gregor von Laszewski,et al.  A Java commodity grid kit , 2001, Concurr. Comput. Pract. Exp..

[14]  Stefan Saroiu,et al.  A Measurement Study of Peer-to-Peer File Sharing Systems , 2001 .

[15]  Warren Smith,et al.  A Resource Management Architecture for Metacomputing Systems , 1998, JSSPP.

[16]  John Shalf,et al.  The Cactus Worm: Experiments with Dynamic Resource Discovery and Allocation in a Grid Environment , 2001, Int. J. High Perform. Comput. Appl..

[17]  Ian T. Foster,et al.  Performance Predictions for a Numerical Relativity Package in Grid Environments , 2001, Int. J. High Perform. Comput. Appl..

[18]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

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

[20]  Iouliia Skliarova,et al.  Reconfigurable hardware SAT solvers: a survey of systems , 2003, IEEE Transactions on Computers.

[21]  Guy Eddon,et al.  Inside Distributed COM , 1998 .

[22]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[23]  Chandra Krintz,et al.  Running EveryWare on the Computational Grid , 1999, ACM/IEEE SC 1999 Conference (SC'99).

[24]  Ian T. Foster,et al.  Grid information services for distributed resource sharing , 2001, Proceedings 10th IEEE International Symposium on High Performance Distributed Computing.

[25]  Dennis Gannon,et al.  Java RMI performance and object model interoperability: experiments with Java/HPC++ , 1998, Concurr. Pract. Exp..

[26]  Sharad Malik,et al.  Accelerating Boolean satisfiability through application specific processing , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[27]  Richard Wolski,et al.  Building Performance Topologies for Computational Grids , 2004, Int. J. High Perform. Comput. Appl..

[28]  Jörg Widmer,et al.  End-to-end congestion control for TCP-friendly flows with variable packet size , 2004, CCRV.

[29]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[30]  Laurence T. Yang,et al.  Engineering the grid - status and perspective , 2006 .

[31]  Wei Cai,et al.  GRIDKIT: Pluggable Overlay Networks for Grid Computing , 2004, CoopIS/DOA/ODBASE.

[32]  Chu Min Li,et al.  A Constraint-Based Approach to Narrow Search Trees for Satisfiability , 1999, Inf. Process. Lett..

[33]  Tracy Larrabee Efficient generation of test patterns using Boolean difference , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.

[34]  Alessandro Armando,et al.  Abstraction-Driven SAT-based Analysis of Security Protocols , 2003, SAT.

[35]  Chao Wang,et al.  Abstraction refinement in symbolic model checking using satisfiability as the only decision procedure , 2005, International Journal on Software Tools for Technology Transfer.

[36]  Richard Wolski,et al.  Predicting bounds on queuing delay for batch-scheduled parallel machines , 2006, PPoPP '06.

[38]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[39]  Wahid Chrabakh,et al.  GrADSAT: A Parallel SAT Solver for the Grid , 2003 .

[40]  Daniel Jackson,et al.  Finding bugs with a constraint solver , 2000, ISSTA '00.

[41]  M. Bonacina,et al.  Cumulating search in a distributed computing environment: a case study in parallel satisfiability , 1994 .

[42]  Richard Wolski,et al.  Writing Programs that Run EveryWare on the Computational Grid , 2001, IEEE Trans. Parallel Distributed Syst..

[43]  Ramón Béjar,et al.  Solving the Round Robin Problem Using Propositional Logic , 2000, AAAI/IAAI.

[44]  Dale Schuurmans,et al.  Local search characteristics of incomplete SAT procedures , 2000, Artif. Intell..

[45]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[46]  R. Wolski,et al.  GridSAT: A Chaff-based Distributed SAT Solver for the Grid , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[47]  Ian T. Foster,et al.  Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems , 2002, IPTPS.

[48]  Wolfgang Küchlin,et al.  PaSAT - Parallel SAT-Checking with Lemma Exchange: Implementation and Applications , 2001, Electron. Notes Discret. Math..

[49]  Klara Nahrstedt,et al.  A distributed resource management architecture that supports advance reservations and co-allocation , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[50]  Dean Sutherland,et al.  A resource query interface for network-aware applications , 2004, Cluster Computing.

[51]  Viktor K. Prasanna,et al.  Run-time performance optimization of an FPGA-based deduction engine for SAT solvers , 2001, TODE.

[52]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[53]  Francine Berman,et al.  The GrADS Project: Software Support for High-Level Grid Application Development , 2001, Int. J. High Perform. Comput. Appl..

[54]  Paul R. Schumacher,et al.  A single program multiple data parallel processing platform for FPGAs , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[55]  Richard Wolski,et al.  The network weather service: a distributed resource performance forecasting service for metacomputing , 1999, Future Gener. Comput. Syst..

[56]  S. Minato Binary Decision Diagrams and Applications for VLSI CAD , 1995 .

[57]  Edward A. Hirsch,et al.  UnitWalk: A new SAT solver that uses local search guided by unit clause elimination , 2005, Annals of Mathematics and Artificial Intelligence.

[58]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[59]  Tracy Larrabee,et al.  A scalable, loadable custom programmable logic device for solving Boolean satisfiability problems , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[60]  Wolfgang Küchlin,et al.  ZetaSAT - Boolean SATisfiability solving on Desktop Grids , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[61]  Kazuo Iwama,et al.  CNF Satisfiability Test by Counting and Polynomial Average Time , 1989, SIAM J. Comput..

[62]  Sean Forman NagSAT; A Randomized Complete, Parallel Solver for 3-SAT , 2002 .

[63]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[64]  Rob A. Rutenbar,et al.  A comparative study of two Boolean formulations of FPGA detailed routing constraints , 2001, IEEE Transactions on Computers.

[65]  M. Lanzagorta,et al.  Early Experience with Scientific Programs on the Cray MTA-2 , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[66]  Joao Marques-Silva,et al.  Search Algorithms for Satisfiability Problems in Combinational Switching Circuits , 1995 .

[67]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

[68]  David Abramson,et al.  High performance parametric modeling with Nimrod/G: killer application for the global grid? , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[69]  Ben Y. Zhao,et al.  Tapestry: a resilient global-scale overlay for service deployment , 2004, IEEE Journal on Selected Areas in Communications.

[70]  Sherief Reda,et al.  Combinational equivalence checking using Boolean satisfiability and binary decision diagrams , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[71]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[72]  Jiming Liu,et al.  Multiagent SAT (MASSAT): Autonomous Pattern Search in Constrained Domains , 2002, IDEAL.

[73]  Guillaume Urvoy-Keller,et al.  Root cause analysis for long-lived TCP connections , 2005, CoNEXT '05.

[74]  Henri E. Bal,et al.  TOPOMON: A Monitoring Tool for Grid Network Topology , 2002, International Conference on Computational Science.

[75]  John Shalf,et al.  Enabling Applications on the Grid: A Gridlab Overview , 2003, Int. J. High Perform. Comput. Appl..

[76]  Neil Spring,et al.  Application level scheduling of gene sequence comparison on metacomputers , 1998 .

[77]  Sathish S. Vadhiyar,et al.  GrADSolve a grid-based RPC system for parallel computing with application-level scheduling , 2004, J. Parallel Distributed Comput..

[78]  H. Casanova,et al.  GridSpeed: a Web-based grid portal generation server , 2004, Proceedings. Seventh International Conference on High Performance Computing and Grid in Asia Pacific Region, 2004..

[79]  Jason Novotny,et al.  The Grid Portal Development Kit , 2002, Concurr. Comput. Pract. Exp..

[80]  Francine Berman,et al.  Overview of the Book: Grid Computing – Making the Global Infrastructure a Reality , 2003 .

[81]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[82]  Michael Stal,et al.  An architectural view of distributed objects and components in CORBA, Java RMI and COM/DCOM , 1998, Softw. Concepts Tools.

[83]  David F. Heidel,et al.  An Overview of the BlueGene/L Supercomputer , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[84]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[85]  Patrick Prosser,et al.  HYBRID ALGORITHMS FOR THE CONSTRAINT SATISFACTION PROBLEM , 1993, Comput. Intell..

[86]  Iouliia Skliarova,et al.  A software/reconfigurable hardware SAT solver , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.