Download presentation
Presentation is loading. Please wait.
Published byMaeve Rose Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.