Gradual Relaxation Techniques with Applications to Behavioral Synthesis Zhiru Zhang, Zhiru Zhang, Yiping Fan Yiping Fan , , Miodrag Potkonjak, Jason Co Miodrag Potkonjak, Jason Co ng ng Department of Computer Science University of California, Los Angeles Partially supported by NSF under reward CCR-0096383
27
Embed
Gradual Relaxation Techniques with Applications to Behavioral Synthesis
Gradual Relaxation Techniques with Applications to Behavioral Synthesis. Zhiru Zhang, Yiping Fan , Miodrag Potkonjak, Jason Cong. Department of Computer Science University of California, Los Angeles. Partially supported by NSF under reward CCR-0096383. Outline. Motivations & objectives - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Gradual Relaxation Techniques with
Applications to Behavioral Synthesis
Gradual Relaxation Techniques with
Applications to Behavioral Synthesis
Zhiru Zhang, Zhiru Zhang, Yiping FanYiping Fan, , Miodrag Potkonjak, Jason Cong Miodrag Potkonjak, Jason Cong
Department of Computer Science
University of California, Los Angeles
Partially supported by NSF under reward CCR-0096383
(1) A CDFG (1) A CDFG G(V, E)G(V, E) (2) A time constraint (2) A time constraint TT
– Objective:Objective: Schedule the operations of V into T cycles Schedule the operations of V into T cycles
so that the resource usage is minimized so that the resource usage is minimized and all precedence constraints in and all precedence constraints in GG are are satisfiedsatisfied
Driver Example: Time-Constrained Scheduling (2)Driver Example: Time-Constrained Scheduling (2) Related workRelated work
– M. C. McFarland, A. C. Parker, and R. M. C. McFarland, A. C. Parker, and R. Camposano, Proc. of IEEE, 1990Camposano, Proc. of IEEE, 1990
– G. D. Micheli, 1994G. D. Micheli, 1994– E. A. Lee and D. G. Messerschmitt, Proc. of E. A. Lee and D. G. Messerschmitt, Proc. of
SchedulingScheduling– P. G. Paulin and J. P. Knight, DAC 1987P. G. Paulin and J. P. Knight, DAC 1987– Exploit schedule freedom (slack) to Exploit schedule freedom (slack) to
minimize the hardware resourcesminimize the hardware resources– Iterative approach: schedule one Iterative approach: schedule one
– Slack based heuristicsSlack based heuristics Davis, Tindell, and Burns, 1993; Gldwasser, 2003Davis, Tindell, and Burns, 1993; Gldwasser, 2003
– Force-directed schedulingForce-directed scheduling Paulin and Knight, 1989Paulin and Knight, 1989
Most Constrained PrincipleMost Constrained Principle
Most Constrained Principle: Time-Constrained SchedulingMost Constrained Principle: Time-Constrained Scheduling Operation Operation Op,Op, at control step at control step ii, targeting control step , targeting control step tt
– Force(Op, i, t) = Force(Op, i, t) = DG(i) * x(Op, i, t)DG(i) * x(Op, i, t)– x(Op, i, t): the Prob change in i when Op is scheduled to tx(Op, i, t): the Prob change in i when Op is scheduled to t
The The self forceself force of operation of operation OpOp w.r.t control step w.r.t control step tt – Self Force(Op, t) = Self Force(Op, t) = iitime frametime frame Force(Op, i, t) Force(Op, i, t)
0 1 2 3 4
1
2
3
4
1/3
C-step 1
C-step 2
C-step 3
C-step 41/2
d* h
+i<
e+
c*
a*
j-
b*
f*
k-
g*
c*
0 1 2 3 4
1
2
3
4
C-step 1
C-step 2
C-step 3
C-step 4
1/3
d* h
+i<
e+
a*
j-
b*
f*
k-
g*
c*d*
Minimal Freedom Reduction / Negative Thinking (1)Minimal Freedom Reduction / Negative Thinking (1) Minimal Freedom Reduction Minimal Freedom Reduction – – key of a key of a
good heuristic: good heuristic: – To avoid the greedy behavior of optimizationTo avoid the greedy behavior of optimization– Make a small gradual atomic decision Make a small gradual atomic decision – Evaluate its individual impact before Evaluate its individual impact before
committing to large decisionscommitting to large decisions
Negative Thinking Negative Thinking – – way to realize way to realize Minimal Minimal Freedom ReductionFreedom Reduction– Traditional heuristics resolve a specific Traditional heuristics resolve a specific
component of the solutioncomponent of the solution
– Negative thinkingNegative thinking determines what will not be determines what will not be considered as a component of the solutionconsidered as a component of the solution
Similar ideas:Similar ideas:– Improved Force-Directed scheduling:Improved Force-Directed scheduling:
W. F. J. Verhaegh, P. E. R. Lippens, E. H. L. Aarts, W. F. J. Verhaegh, P. E. R. Lippens, E. H. L. Aarts, J. H. M. Korst, J. L. van Meerbergen, and A. van J. H. M. Korst, J. L. van Meerbergen, and A. van der Werf, der Werf, IEEE Trans. on Computer-Aided Design IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems,of Integrated Circuits and Systems, 1995 1995
Gradually shrink operations’ time famesGradually shrink operations’ time fames
– Standard cell global routing: Standard cell global routing: J. Cong and Patrick H. Madden, ISPD, 1997J. Cong and Patrick H. Madden, ISPD, 1997 Iterative deletion method – from the complete Iterative deletion method – from the complete
routing graph, delete edges one by one to get an routing graph, delete edges one by one to get an optimum routing treeoptimum routing tree
– For the problems where variables can be For the problems where variables can be assigned only to binary valuesassigned only to binary values
– Combine several variables togetherCombine several variables together Simultaneous steps considerationSimultaneous steps consideration
– Consider a small negative decision on a set of Consider a small negative decision on a set of variables simultaneouslyvariables simultaneously
Example: a SAT instanceExample: a SAT instance– Compound Compound xx11 and and xx22, there are 4 assignment , there are 4 assignment
optionsoptions– Evaluate their impacts to the maximum Evaluate their impacts to the maximum
constraintsconstraints– Negative thinking: remove one option, keep the Negative thinking: remove one option, keep the
other three other three promisingpromising options options
CalibrationCalibration
Heuristics conduct the optimization Heuristics conduct the optimization – Keep the options for Keep the options for importantimportant variables variables – Discard the options for Discard the options for unimportantunimportant variables variables
Example:Example:– In resource-minimization scheduling:In resource-minimization scheduling:
Multipliers are much more expensive than addersMultipliers are much more expensive than adders Preserve Preserve maximum slacks for maximum slacks for the multiplicationsthe multiplications Lower the priority to minimize required addersLower the priority to minimize required adders
C-step 1
C-step 2
C-step 3
C-step 41/2
1/3
*h+
<
+*
*
-
*
*
-
*d* h
+
C-step 1
C-step 2
C-step 3
C-step 41/2
1/3
<
+*
*
-
*
*
-
*
d*
Probabilistic ModelingProbabilistic Modeling
Options of every variable are non-uniformly Options of every variable are non-uniformly distributed distributed
Probabilistic modelingProbabilistic modeling– A non-uniform function of all constraints A non-uniform function of all constraints
imposed on a particular variableimposed on a particular variable
When is Gradual Relaxation Most Effective?When is Gradual Relaxation Most Effective?
Minimal freedom reduction / Negative thinkingMinimal freedom reduction / Negative thinking – A large number of variables have significant A large number of variables have significant
slack slack – Variables have complex interactions among a Variables have complex interactions among a
large number of constraintslarge number of constraints Compounding variables / simultaneous stepsCompounding variables / simultaneous steps
considerationconsideration– Each variable has a small set of potential Each variable has a small set of potential
valuesvalues CalibrationCalibration
– The final solution only involves relatively few The final solution only involves relatively few types of resourcestypes of resources
Probabilistic modelingProbabilistic modeling– Effective for large and complex instancesEffective for large and complex instances
Driver Example: Maximum Independent Set (1)Driver Example: Maximum Independent Set (1) Problem: Maximum Independent SetProblem: Maximum Independent Set
– Given: Given: G (V, E)G (V, E)– Objective: find a maximum-size Objective: find a maximum-size
independent set independent set V’V’ V, V, such that for such that for uu V’V’ and and vv V’V’, , (u, v) (u, v) E. E.
Related workRelated work– A popular generic NP-Complete problemA popular generic NP-Complete problem
M. R. Garey and D. S. Johnson, 1979M. R. Garey and D. S. Johnson, 1979– Useful for efficient graph coloringUseful for efficient graph coloring
D. Kirovski and M. Potkonjak, DAC 1998D. Kirovski and M. Potkonjak, DAC 1998
Driver Example: Maximum Independent Set (2)Driver Example: Maximum Independent Set (2)
Reasoning: Reasoning: – In practice, MIS size is much smaller than the total graph In practice, MIS size is much smaller than the total graph
sizesize A smaller decision:A smaller decision:
– To select a most constrained vertex not to be in the MISTo select a most constrained vertex not to be in the MIS– Simple heuristic: Simple heuristic:
hh11(v) = Number of Neighbors of v(v) = Number of Neighbors of v
– Look-forward heuristic: Look-forward heuristic: hh22 (v) = (v) = uuNeighbors (v) Neighbors (v) (1 / Number of Neighbors of u)(1 / Number of Neighbors of u)
– Given: Given: (1) (1) A set of non-preemptive tasks A set of non-preemptive tasks ={={1 1 ,,2 2 ,,……nn} } and each taskand each task ii=(a=(ai i ,, d di i , , eeii) ) is characterized by an arrival timeis characterized by an arrival time a aii, , a a deadlinedeadline d dii and an execution time and an execution time eeii
(2)(2) A single processorA single processor P P (3)(3) A timing constraintA timing constraint T T
– Objective:Objective: Schedule a subset of tasks in Schedule a subset of tasks in on on
processor processor PP within the available time within the available time TT so so that the number of tasks scheduled is that the number of tasks scheduled is maximizedmaximized
– B. Kao and H. Garcia-Molina, 1994B. Kao and H. Garcia-Molina, 1994– B. Adelberg, H. Garcia-Molina, and B. Kao, 1994;B. Adelberg, H. Garcia-Molina, and B. Kao, 1994;
Video and WWW serversVideo and WWW servers– M. Jones, D. Rosu, M.-C Rosu, 1997M. Jones, D. Rosu, M.-C Rosu, 1997
Formal definitionFormal definition– P. D’Argenio, J.-P Katoen, and E. Brinksma, 1999P. D’Argenio, J.-P Katoen, and E. Brinksma, 1999
CAD and embedded systemsCAD and embedded systems D. Ziegenbein, J. Uerpmann, and R. Ernst, ICCAD D. Ziegenbein, J. Uerpmann, and R. Ernst, ICCAD
20002000 D. Verkest, P. Yang, C. Wong, and P. Marchal, D. Verkest, P. Yang, C. Wong, and P. Marchal,
ICCAD 2001ICCAD 2001 K. Richter, D. Ziegenbein, M. Jersak, and R. Ernst, K. Richter, D. Ziegenbein, M. Jersak, and R. Ernst,
– Minimize the Minimize the number of number of conflictsconflicts
Repeat until all Repeat until all tasks are lockedtasks are locked– Update Update distribution distribution
graphgraph– Compute forces for Compute forces for
every tasks at the every tasks at the start start and and cutoff cutoff time slotstime slots
– Select the Select the maximummaximum forceforce (T, t)(T, t), , removeremove time time slot slot tt from task from task TT’s ’s time frametime frame
Time Slot
Task.Prob
Time Slot
Task.Prob
Experimental Results: Maximum Independent SetExperimental Results: Maximum Independent Set Apply to DIMACS benchmark graphs for the Apply to DIMACS benchmark graphs for the
CliqueClique problem challenge problem challenge
Compare to a state-of-theCompare to a state-of-the--art iterative art iterative algorithmalgorithm– MIS algorithm used in D. Kirovski and M. MIS algorithm used in D. Kirovski and M.
Potkonjak, DAC 1998Potkonjak, DAC 1998– Similar quality Similar quality – Much faster: Much faster: 50X50X using using hh11, , 30X30X using using hh22
Look-forward heuristic outperforms the simple Look-forward heuristic outperforms the simple versionversion
Scheduling results comparison under time Scheduling results comparison under time constraint with 1.5x critical path lengthconstraint with 1.5x critical path length