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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Custom Computing Custom Computing Machines for the Set Machines for the Set

Covering ProblemCovering ProblemPaper Written By: Christian Plessl and

Marco PlatznerSwiss Federal Institute of Technology, 2002

Presentation By Greg Jackson

1

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

OverviewOverviewIntroduction to the ProblemCurrent SolutionsProposed Reconfigurable

ArchitectureImplementation ExperimentationResults

2

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

The ProblemThe ProblemBoolean 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

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

The ProblemThe ProblemThe 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

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

The ProblemThe ProblemOften 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

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

The ProblemThe ProblemThe 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

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

Current SolutionsCurrent SolutionsSoftware - 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

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

Branch and BoundBranch and BoundA – 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

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

Why Did They Do It?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

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

Proposed ArchitectureProposed ArchitectureBasic Accelerator -

Four Blocks◦ An Array of finite

state machines (FSMs)

◦ Checker Modules◦ Cost Counter◦ Controller

Architecture utilizes 3-valued Logic◦ {1,0,X}

10

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

Proposed ArchitectureProposed ArchitectureFSM

◦ Implementation of the Branch and Bound in Hardware

11

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

Search HeuristicsSearch HeuristicsTwo 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

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

Cost BoundCost BoundLimit on the amount of

assignments

This limits the length of the search

13

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

Hardware ReductionsHardware Reductions3 Ways

◦ Don’s Cares◦ Essentials◦ Dominated

ColumnsThis Creates a

New State Machine

14

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

ImplementationImplementationImplemented 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

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

ExperimentsExperimentsUsed 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

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

Results – Raw SpeedupResults – Raw SpeedupCompared the runtimes to that of the SoftwareDid not take into account delays i.e. Code

generation, synthesis, etc.Using the CEDCESDCOL accelerator, achieved

orders of magnitude speed upAverage Speedup – 4 orders of magnitude over

the Software

17

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

Results – Relative Results – Relative SpeedupSpeedupCompared the architectures to each other in

terms of speed upFor the graph, used best performance

heuristicsThe CEDCESDCOL architecture was the fastest

18

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

Results – Heuristic Results – Heuristic PerformancePerformanceUsed the four different

architectures and determined which heuristics worked best for each

Example: CEDCES◦Variable Order – Frequency Variable

Order◦Variable Assignment – Random

19

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

ConclusionsConclusionsSpeedups 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

Software20

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

Final ThoughtsFinal ThoughtsExtensive Paper

It was a Continuation of a Previous Paper

Useful application

Hardware Reductions not Explained Well

21