Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.

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

NP-Completeness.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Predicate Abstraction of ANSI-C Programs using SAT Edmund Clarke Daniel Kroening Natalia Sharygina Karen Yorav (modified by Zaher Andraus for presentation.
The Theory of NP-Completeness
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
ENEE 6441 On Quine-McCluskey Method > Goal: find a minimum SOP form > Why We Need to Find all PIs? f(w,x,y,z) = x’y’ +wxy+x’yz’+wy’z = x’y’+x’z’+wxy+wy’z.
Data Partitioning for Reconfigurable Architectures with Distributed Block RAM Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Chapter 11: Limitations of Algorithmic Power
Modeling the Covering Test Problem Brahim Hnich, Steven Prestwich, and Evgeny Selensky Cork Constraint Computation Center UCC Supported by SFI.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
CDCTree: Novel Obstacle-Avoiding Routing Tree Construction based on Current Driven Circuit Model Speaker: Lei He.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
Advanced Computer Architecture, CSE 520 Generating FPGA-Accelerated DFT Libraries Chi-Li Yu Nov. 13, 2007.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Mehdi Kargar Aijun An York University, Toronto, Canada Keyword Search in Graphs: Finding r-cliques.
Richard Jensen, Andrew Tuson and Qiang Shen Qiang Shen Aberystwyth University, UK Richard Jensen Aberystwyth University, UK Andrew Tuson City University,
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module Logic Representations.
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
An Efficient Linear Time Triple Patterning Solver Haitong Tian Hongbo Zhang Zigang Xiao Martin D.F. Wong ASP-DAC’15.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Hardware Accelerator for Combinatorial Optimization Fujian Li Advisor: Dr. Areibi.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
Boolean Satisfiability Present and Future
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
28.
CSC 413/513: Intro to Algorithms
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
SAT Encodings for Sudoku Bug Catching in 2006 Fall Sep. 26, 2006 Gi-Hwon Kwon.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
CS 721 Project Implementation of Hypergraph Edge Covering Algorithms By David Leung ( )
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
The NP class. NP-completeness
Finite state machine optimization
Finite state machine optimization
Hybrid BDD and All-SAT Method for Model Checking
Hard Problems Some problems are hard to solve.
Hardware Acceleration of A Boolean Satisfiability Solver
Inference and search for the propositional satisfiability problem
Dr. Rachel Ben-Eliyahu – Zohary
A Boolean Paradigm in Multi-Valued Logic Synthesis
Canonical Computation without Canonical Data Structure
Branch and Bound.
Canonical Computation Without Canonical Data Structure
Chapter 11 Limitations of Algorithm Power
Canonical Computation without Canonical Data Structure
CSE 6408 Advanced Algorithms.
Modeling Sudoku as a CNF Formula
Canonical Computation without Canonical Data Structure
Our old list of problems
Presentation transcript:

Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002 Presentation By Greg Jackson 1

Overview Introduction to the Problem Current Solutions Proposed Reconfigurable Architecture Implementation Experimentation Results 2

The Problem Boolean Satisfiability (SAT) ◦ A discrete decision problem whereby variables are found such that a boolean expression in Conjunctive Normal Form(CNF) is evaluated true. CNF? ◦ Given Expression – (A and B) or C ◦ CNF Equivalent – (A or C) and (A or B) 3

The Problem The Set Covering Problem is a Minimum Cost SAT Problem “Given a set U of elements and a set S of subsets ti of U, i = 1... |S|, find the smallest subset T, that contains all elements of U” 4

The Problem Often in Expressed in Matrix Form The Matrix A is a subset of columns with at least one entry for all the variables (A, B, C, D) 5

The Problem The Set Covering problem is often associated with the Synthesis of Reconfigurable Designs Logic Optimization that occurs during synthesis is a Set Covering Problem ◦ e.g. Two-level logic minimization, state minimization 6

Current Solutions Software - Mini & Espresso ◦ Utilizes a technique called Branch and Bound ◦ Heuristic Methods  Variable Order, Order of Value Assignments etc. Branch and Bound ◦ The software creates search trees and iterates over all values, trimming the trees as possible solutions are ruled out 7

Branch and Bound A – Matrix Defining the Set Covering Problem V – Current Variable Assignment B – Current Low Cost Solution Heuristics can be applied to Algorithm ◦ Variable Order ◦ Value Assignments Algorithm can be Bounded by Cost 8

Why Did They Do It? Faster ◦ Speedups in the order of several magnitudes to solve more problems Evaluation of Heuristics ◦ Need fast solvers to evaluate the performance of heuristics and approximations Development of New Heuristics ◦ New methods = New Heuristics 9

Proposed Architecture Basic Accelerator - Four Blocks ◦ An Array of finite state machines (FSMs) ◦ Checker Modules ◦ Cost Counter ◦ Controller Architecture utilizes 3-valued Logic ◦ {1,0,X} 10

Proposed Architecture FSM ◦ Implementation of the Branch and Bound in Hardware 11

Search Heuristics Two Things Affecting Efficiency ◦ Variable Order  Index Order – Variables are placed in order of their index  Frequency Order – Variables that appear frequently are placed at the top of the array ◦ Assignment Order  0 – 1 – FSM assigns a 0 first to the CNF  1 – 0 – FSM assigns a 1 first to the CNF  Random 12

Cost Bound Limit on the amount of assignments This limits the length of the search 13

Hardware Reductions 3 Ways ◦ Don’s Cares ◦ Essentials ◦ Dominated Columns This Creates a New State Machine 14

Implementation Implemented 4 Architectures ◦ CE – Basic ◦ CEDC – Don’t Cares ◦ CEDCES – Essentials ◦ CEDCESDCOL – All 3 forms of Hardware reduction Used Xilinx Virtex XCV1000 and simulated the system using ModelSim 15

Experiments Used two sources for test problems ◦ Two-level logic minimization ◦ Steiner triple system Selected 21 problems from Espresso distribution for testing Test Problems Have 4-62 Variables and 4-70 clauses (i.e. A or B) Would then compare the accelerator to the software implementation 16

Results – Raw Speedup Compared the runtimes to that of the Software Did not take into account delays i.e. Code generation, synthesis, etc. Using the CEDCESDCOL accelerator, achieved orders of magnitude speed up Average Speedup – 4 orders of magnitude over the Software 17

Results – Relative Speedup Compared the architectures to each other in terms of speed up For the graph, used best performance heuristics The CEDCESDCOL architecture was the fastest 18

Results – Heuristic Performance Used the four different architectures and determined which heuristics worked best for each Example: CEDCES ◦ Variable Order – Frequency Variable Order ◦ Variable Assignment – Random 19

Conclusions Speedups were promising but... ◦ The tested problems were too small and can be solved in seconds in software (5ms – 1.3s) ◦ The synthesis time of the designs were in the order of minutes ◦ Reducing the hardware made the accelerators slower with larger problems when compared to the software. Suggest a Hardware/Software Accelerator ◦ Speed up of Hardware + Sophistication of Software 20

Final Thoughts Extensive Paper It was a Continuation of a Previous Paper Useful application Hardware Reductions not Explained Well 21