Presentation is loading. Please wait.

Presentation is loading. Please wait.

IBM Labs in Haifa Generation Core: IBM's Systematic Constraint Solver.

Similar presentations


Presentation on theme: "IBM Labs in Haifa Generation Core: IBM's Systematic Constraint Solver."— Presentation transcript:

1 IBM Labs in Haifa Generation Core: IBM's Systematic Constraint Solver

2 IBM Haifa Labs © 2008 IBM Corporation 2 Outline  Introduction to constraint satisfaction problems (CSP)  Constraint satisfaction at IBM Haifa  Solving approaches  Generation Core (GEC): IBM’s systematic CSP solver  Special features –Large domains –Specialized propagators –Random solutions –Hierarchical soft constraints –Conditional sub-problems

3 IBM Haifa Labs © 2008 IBM Corporation 3 A CSP consists of:  A set of Variables v 1, v 2,..., v n finite domain  A finite domain for each variable: for each v i, v i є D i  Constraints  Constraints A set of relations between the variables

4 IBM Haifa Labs © 2008 IBM Corporation 4 The round-table problem  King Arthur would like to seat all his knights around the round table  Each knight must sit between two knights he knows Lancelot knows Galahad Ector knows Kay Percival knows Lancelot Gareth knows Gawain Gareth knows Lionel Galahad knows Percival Pellinore knows Kay...

5 IBM Haifa Labs © 2008 IBM Corporation 5 Every variable is assigned a value from its domain, such that all constraints are satisfied All solutions are created equal Solution for a CSP

6 IBM Haifa Labs © 2008 IBM Corporation 6 Constraint satisfaction at IBM Haifa Research Labs  Two state-of-the-art solving engines – systematic and stochastic  Major application: test generation for hardware verification  Other applications –Workforce management –Truck configuration –Floor planning

7 IBM Haifa Labs © 2008 IBM Corporation 7 Generation Core (GEC)  IBM’s systematic CSP engine  On a par with leading tools in the industry (ILOG, SICStus)  Generic  Dozens of engineers involved in development, modeling, and applications of CSP  15 years of development experience  Research activity

8 IBM Haifa Labs © 2008 IBM Corporation 8 GEC solution algorithm MAC Instantiation MAC Instantiation MAC Instantiation MAC Systematic approach Based on Maintain Arc Consistency (MAC) [Mackworth 1977] backtrack

9 IBM Haifa Labs © 2008 IBM Corporation 9 MAC Example R2: {(y,z): ygz} R1: {(x,y,z): x=y+z} X: {1,2,3} Y: {1,2,3} Z: {1,2,3} AC instantiation Don’t give up yet AC

10 IBM Haifa Labs © 2008 IBM Corporation 10 MAC example - backtracking R2: {(y,z): ygz} R1: {(x,y,z): x=y+z} X: {1,2,3} Y: {1,2,3} Z: {1,2,3} instantiation AC

11 IBM Haifa Labs © 2008 IBM Corporation 11 GEC algorithm summary  Make all constraints locally consistent  Through reducing the variable domains  Iteratively until a fixed-point is achieved  Backtrack if a domain is reduced to an empty set  If backtracking is exhausted problem is unsolvable Repeat until all variables are reduced to a single value or failure occurs  Choose a variable (which was not yet assigned)  Choose and assign a value for the selected variable  Choose a soft constraint and activate it

12 IBM Haifa Labs © 2008 IBM Corporation 12 Main Application: Simulation-Based Functional Verification of Processors Functional Specification Design Simulator Expected Behavior Actual Behavior Stimuli (test-cases) Stimuli Generator

13 IBM Haifa Labs © 2008 IBM Corporation 13 How GEC fits into the test generation process Stimuli Generator Architecture specification Expert knowledge defining corner cases Constraint solver GEC constraint solver Stimuli (test-cases) Model Used to verify all PowerPC designs in IBM over the last seven years : i/p series servers, Cell, Xbox™

14 IBM Haifa Labs © 2008 IBM Corporation 14 Example of constraints add R1  R2, R3 load Rx  1000 (Ry) ???? ??  Rz mult Rz  ??, ?? Quality: sum zero Validity: x != y Input scenario: same register

15 IBM Haifa Labs © 2008 IBM Corporation 15 Special features: Large number domains Represented as masks: 0X0X = {0000, 0100, 0001, 0101} Length of numbers often 64 or 128 bits long Domains can have sizes of 2 64

16 IBM Haifa Labs © 2008 IBM Corporation 16 Special Features: Specialized propagators  For arithmetic operations: +, *, /,...  For logical expressions: and, or, implies,...  For bit operations: shift, rotate, concatenate,... Rich expression language to represent constraints But users also have the option of defining their own propagators in C++ code!

17 IBM Haifa Labs © 2008 IBM Corporation 17 Special Features: Random Solutions  Every operation of the solver on a given problem produces a different solution  Strive toward uniformity of solutions (sometimes difficult)  Guarantee not to ‘lose’ solutions  Essential for testing because of unpredictability of bugs User preferences allowed by  Allowing hierarchy of soft constraints  Value ordering  Variable ordering User preferences allowed by  Allowing hierarchy of soft constraints  Value ordering  Variable ordering All solutions are created equal

18 IBM Haifa Labs © 2008 IBM Corporation 18 Special Features: Conditional Sub-problems  Existence variables control the existence of certain sub-problems {true,false}false

19 IBM Haifa Labs © 2008 IBM Corporation 19  CSP is a dynamic field used to solve ‘hard’ problems (non-polynomial, non-linear)  Haifa Research Labs have a large group working on research and development in CSP  Haifa CSP tools are already in usage as a critical link in the chain of processor development  Also used in other applications within and outside of IBM Summary


Download ppt "IBM Labs in Haifa Generation Core: IBM's Systematic Constraint Solver."

Similar presentations


Ads by Google