Gradual Relaxation Techniques with Applications to Behavioral Synthesis Zhiru Zhang, Yiping Fan, Miodrag Potkonjak, Jason Cong Department of Computer Science.

Slides:



Advertisements
Similar presentations
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
COE 561 Digital System Design & Synthesis Scheduling Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides.
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Application Specific Instruction Generation for Configurable Processor Architectures VLSI CAD Lab Computer Science Department, UCLA Led by Jason Cong Yiping.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Bogdan Tanasa, Unmesh D. Bordoloi, Petru Eles, Zebo Peng Department of Computer and Information Science, Linkoping University, Sweden December 3, 2010.
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
Utrecht, february 22, 2002 Applications of Tree Decompositions Stan van Hoesel KE-FdEWB Universiteit Maastricht
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
ECE Synthesis & Verification - Lecture 4 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Allocation:
ICS 252 Introduction to Computer Design
1 of 16 June 21, 2000 Schedulability Analysis for Systems with Data and Control Dependencies Paul Pop, Petru Eles, Zebo Peng Department of Computer and.
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
Constrained Pattern Assignment for Standard Cell Based Triple Patterning Lithography H. Tian, Y. Du, H. Zhang, Z. Xiao, M. D.F. Wong Department of ECE,
Carmine Cerrone, Raffaele Cerulli, Bruce Golden GO IX Sirmione, Italy July
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
Scheduling for Synthesis of Embedded Hardware
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Soner Yaldiz, Alper Demir, Serdar Tasiran Koç University, Istanbul, Turkey Paolo Ienne, Yusuf Leblebici Swiss Federal Institute of Technology (EPFL), Lausanne,
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Baoxian Zhao Hakan Aydin Dakai Zhu Computer Science Department Computer Science Department George Mason University University of Texas at San Antonio DAC.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
ECE Synthesis & Verification - Lecture 5 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
CMPE 511 Computer Architecture A Faster Optimal Register Allocator Betül Demiröz.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
1 Variable Elimination Graphical Models – Carlos Guestrin Carnegie Mellon University October 11 th, 2006 Readings: K&F: 8.1, 8.2, 8.3,
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
1 ER UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh.
Gradual Relaxation Techniques with Applications to Behavioral Synthesis Zhiru Zhang, Yiping Fan, Miodrag Potkonjak, Jason Cong Department of Computer Science.
L12 : Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
Performance of Distributed Constraint Optimization Algorithms A.Gershman, T. Grinshpon, A. Meisels and R. Zivan Dept. of Computer Science Ben-Gurion University.
Static Process Scheduling
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
Different Local Search Algorithms in STAGE for Solving Bin Packing Problem Gholamreza Haffari Sharif University of Technology
Introduction to Real-Time Systems
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 3.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jason Cong , Computer Science Department , UCLA Presented.
Global Clustering-Based Performance-Driven Circuit Partitioning Jason Cong University of California Los Angeles Chang Wu Aplus Design.
Scheduling Determines the precise start time of each task.
Design and Analysis of Algorithm
The story of distributed constraint optimization in LA: Relaxed
ESE535: Electronic Design Automation
Steve Dai, Gai Liu, Zhiru Zhang
Algorithms for Budget-Constrained Survivable Topology Design
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
Richard Anderson Autumn 2016 Lecture 7
ICS 252 Introduction to Computer Design
Optimization of Real-Time Systems with Deadline Miss Ratio Constraints
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

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

Outline Motivations & objectives Motivations & objectives Gradual relaxation techniques Gradual relaxation techniques –Driver example: Time-Constrained Scheduling Other driver examples Other driver examples –Maximum Independent Set (MIS) –Soft Real-Time Scheduling Experimental results Experimental results Conclusions Conclusions

Motivations & Objectives Motivations: Motivations: –Many synthesis problems are computational intractable SAT, scheduling, graph coloring, … SAT, scheduling, graph coloring, … –Lack of systematical way to develop effective heuristics Objectives: Objectives: –Development of a new general heuristic paradigm Gradual Relaxation Gradual Relaxation –Applications to a wide range of synthesis problems

Gradual Relaxation Techniques Most constrained principle Most constrained principle Minimal freedom reduction Minimal freedom reduction Negative thinking Negative thinking Compounding variables Compounding variables Simultaneous step consideration Simultaneous step consideration Calibration Calibration Probabilistic modeling Probabilistic modeling

Driver Example: Time-Constrained Scheduling (1) Problem: Time-constrained scheduling Problem: Time-constrained scheduling –Given: (1) A CDFG G(V, E) (1) A CDFG G(V, E) (2) A time constraint T (2) A time constraint T –Objective: Schedule the operations of V into T cycles so that the resource usage is minimized and all precedence constraints in G are satisfied Schedule the operations of V into T cycles so that the resource usage is minimized and all precedence constraints in G are satisfied

Driver Example: Time-Constrained Scheduling (2) Related work Related work –M. C. McFarland, A. C. Parker, and R. Camposano, Proc. of IEEE, 1990 –G. D. Micheli, 1994 –E. A. Lee and D. G. Messerschmitt, Proc. of IEEE, 1987, SDF scheduling Classical approach – Force-Directed Scheduling Classical approach – Force-Directed Scheduling –P. G. Paulin and J. P. Knight, DAC 1987 –Exploit schedule freedom (slack) to minimize the hardware resources –Iterative approach: schedule one operation per iteration

Driver Example: Time-Constrained Scheduling (3) Determine ASAP & ALAP Schedules Determine Time Frame of each operation – –Length of box : Possible execution cycles – –Width of box: Probability of assignment – –Uniform distribution, Area assigned = 1 Create Distribution Graphs – –Sum of probabilities of each Op type – –Indicates concurrency of similar Ops DG(i) =  Prob(Op, i) DG for Multiply DG for Add, Sub, Comp C-step 1 C-step 2 C-step 3 C-step 4 Time Frames 1/2 1/3 * + < + * * - * * - * **** ** ASAP +< ALAP ** * * * * +< +- -

Principle: Principle: –First resolve the most constrained components –Minimally impact the difficulty of still unresolved constraints Related work: Related work: –General technique Bitner and Reigold, 1975; Brelaz, 1979, for graph coloring Bitner and Reigold, 1975; Brelaz, 1979, for graph coloring Pearl, 1984, intelligent search Pearl, 1984, intelligent search –Slack based heuristics Davis, Tindell, and Burns, 1993; Gldwasser, 2003 Davis, Tindell, and Burns, 1993; Gldwasser, 2003 –Force-directed scheduling Paulin and Knight, 1989 Paulin and Knight, 1989 Most Constrained Principle

Most Constrained Principle: Time-Constrained Scheduling Operation Op, at control step i, targeting control step t Operation Op, at control step i, targeting control step t –Force(Op, i, t) = DG(i) * x(Op, i, t) –x(Op, i, t): the Prob change in i when Op is scheduled to t The self force of operation Op w.r.t control step t The self force of operation Op w.r.t control step t –Self Force(Op, t) =  i  time frame Force(Op, i, t) /3 C-step 1 C-step 2 C-step 3 C-step 4 1/2 d*d* h+h+ i<i< e+e+ c*c* a* j- b* f* k- g*g* c*c* C-step 1 C-step 2 C-step 3 C-step 4 1/3 d*d* h+h+ i<i< e+e+ a* j- b* f* k- g* c* d*d*

Minimal Freedom Reduction / Negative Thinking (1) Minimal Freedom Reduction – key of a good heuristic: Minimal Freedom Reduction – key of a good heuristic: –To avoid the greedy behavior of optimization –Make a small gradual atomic decision –Evaluate its individual impact before committing to large decisions Negative Thinking – way to realize Minimal Freedom Reduction Negative Thinking – way to realize Minimal Freedom Reduction –Traditional heuristics resolve a specific component of the solution –Negative thinking determines what will not be considered as a component of the solution

Minimal Freedom Reduction / Negative Thinking (2) Similar ideas: Similar ideas: –Improved Force-Directed scheduling: W. F. J. Verhaegh, P. E. R. Lippens, E. H. L. Aarts, J. H. M. Korst, J. L. van Meerbergen, and A. van der Werf, IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, 1995 W. F. J. Verhaegh, P. E. R. Lippens, E. H. L. Aarts, J. H. M. Korst, J. L. van Meerbergen, and A. van der Werf, IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, 1995 Gradually shrink operations’ time fames Gradually shrink operations’ time fames –Standard cell global routing: J. Cong and Patrick H. Madden, ISPD, 1997 J. Cong and Patrick H. Madden, ISPD, 1997 Iterative deletion method – from the complete routing graph, delete edges one by one to get an optimum routing tree Iterative deletion method – from the complete routing graph, delete edges one by one to get an optimum routing tree

Negative Thinking: Time-Constrained Scheduling Traditional FDS: Traditional FDS: –Select minimum force (Op, t), schedule Op to t Negative thinking FDS: Negative thinking FDS: –Select maximum force (Op, t), remove t from Op’s time frame DG for Multiply DG for Add, Sub, Comp C-step 1 C-step 2 C-step 3 C-step 4 Time Frames 1/2 1/3 d*d* h+h+ i<i< e+e+ c*c* a* j- b* f* k- g*g* d*d* DG for Multiply DG for Add, Sub, Comp Time Frames d*d* h+h+ C-step 1 C-step 2 C-step 3 C-step 4 1/2 1/3 i<i< e+e+ c*c* a* j- b* f* k- g*g*

Compounding Variables / Simultaneous Steps Consideration (1) Compounding variables Compounding variables –For the problems where variables can be assigned only to binary values –Combine several variables together Simultaneous steps consideration Simultaneous steps consideration –Consider a small negative decision on a set of variables simultaneously Example: a SAT instance Example: a SAT instance –Compound x 1 and x 2, there are 4 assignment options –Evaluate their impacts to the maximum constraints –Negative thinking: remove one option, keep the other three promising options

Calibration Heuristics conduct the optimization Heuristics conduct the optimization –Keep the options for important variables –Discard the options for unimportant variables Example: Example: –In resource-minimization scheduling: Multipliers are much more expensive than adders Multipliers are much more expensive than adders Preserve maximum slacks for the multiplications Preserve maximum slacks for the multiplications Lower the priority to minimize required adders Lower the priority to minimize required adders C-step 1 C-step 2 C-step 3 C-step 4 1/2 1/3 * h+h+ < + * * - * * - * d*d* h+h+ C-step 1 C-step 2 C-step 3 C-step 4 1/2 1/3 < + * * - * * - * d*d*

Probabilistic Modeling Options of every variable are non-uniformly distributed Options of every variable are non-uniformly distributed Probabilistic modeling Probabilistic modeling –A non-uniform function of all constraints imposed on a particular variable prob(1,1) = 0.6prob(1,1) = 0.6 prob(1,2) = 0.3prob(1,2) = 0.3 prob(1,3) = 0.1prob(1,3) = c-step1 c-step2 c-step3 c-step4 c-step C-step 1 C-step 2 C-step 3 C-step

When is Gradual Relaxation Most Effective? Minimal freedom reduction / Negative thinking Minimal freedom reduction / Negative thinking –A large number of variables have significant slack –Variables have complex interactions among a large number of constraints Compounding variables / simultaneous steps consideration Compounding variables / simultaneous steps consideration –Each variable has a small set of potential values Calibration Calibration –The final solution only involves relatively few types of resources Probabilistic modeling Probabilistic modeling –Effective for large and complex instances

Driver Example: Maximum Independent Set (1) Problem: Maximum Independent Set Problem: Maximum Independent Set –Given: G (V, E) –Objective: find a maximum-size independent set V ’  V, such that for u  V ’ and v  V ’, (u, v)  E. Related work Related work –A popular generic NP-Complete problem M. R. Garey and D. S. Johnson, 1979 M. R. Garey and D. S. Johnson, 1979 –Useful for efficient graph coloring D. Kirovski and M. Potkonjak, DAC 1998 D. Kirovski and M. Potkonjak, DAC 1998

Driver Example: Maximum Independent Set (2) Reasoning: Reasoning: –In practice, MIS size is much smaller than the total graph size A smaller decision: A smaller decision: –To select a most constrained vertex not to be in the MIS –Simple heuristic: h 1 (v) = Number of Neighbors of v –Look-forward heuristic: h 2 (v) =  u  Neighbors (v) (1 / Number of Neighbors of u)

Driver Example: Soft Real-Time Scheduling (1) Problem: Soft real-time scheduling Problem: Soft real-time scheduling –Given: (1) A set of non-preemptive tasks  ={  1,  2, …  n } and each task  i =(a i, d i, e i ) is characterized by an arrival time a i, a deadline d i and an execution time e i (1) A set of non-preemptive tasks  ={  1,  2, …  n } and each task  i =(a i, d i, e i ) is characterized by an arrival time a i, a deadline d i and an execution time e i (2) A single processor P (2) A single processor P (3) A timing constraint T (3) A timing constraint T –Objective: Schedule a subset of tasks in  on processor P within the available time T so that the number of tasks scheduled is maximized Schedule a subset of tasks in  on processor P within the available time T so that the number of tasks scheduled is maximized

Driver Example: Soft Real-Time Scheduling (2) Multimedia applications Multimedia applications –B. Kao and H. Garcia-Molina, 1994 –B. Adelberg, H. Garcia-Molina, and B. Kao, 1994; Video and WWW servers Video and WWW servers –M. Jones, D. Rosu, M.-C Rosu, 1997 Formal definition Formal definition –P. D’Argenio, J.-P Katoen, and E. Brinksma, 1999 CAD and embedded systems CAD and embedded systems D. Ziegenbein, J. Uerpmann, and R. Ernst, ICCAD 2000 D. Ziegenbein, J. Uerpmann, and R. Ernst, ICCAD 2000 D. Verkest, P. Yang, C. Wong, and P. Marchal, ICCAD 2001 D. Verkest, P. Yang, C. Wong, and P. Marchal, ICCAD 2001 K. Richter, D. Ziegenbein, M. Jersak, and R. Ernst, DAC 2002 K. Richter, D. Ziegenbein, M. Jersak, and R. Ernst, DAC 2002

Driver Example: Soft Real-Time Scheduling (3) Two phase heuristic: Two phase heuristic: –Conflict minimization Gradually shrink the time frame for every task Gradually shrink the time frame for every task –Legalization Probabilistic modeling: Probabilistic modeling: –Trapezoid shape Task Probability Distribution sisi s i +e i c i -e i cici t prob(  i,t)

Driver Example: Soft Real-Time Scheduling (4) Objective: Objective: –Minimize the number of conflicts Repeat until all tasks are locked Repeat until all tasks are locked –Update distribution graph –Compute forces for every tasks at the start and cutoff time slots –Select the maximum force (T, t), remove time slot t from task T’s time frame Time Slot Task. Prob Time Slot Task. Prob

Experimental Results: Maximum Independent Set Apply to DIMACS benchmark graphs for the Clique problem challenge Apply to DIMACS benchmark graphs for the Clique problem challenge Compare to a state-of-the-art iterative algorithm Compare to a state-of-the-art iterative algorithm –MIS algorithm used in D. Kirovski and M. Potkonjak, DAC 1998 –Similar quality –Much faster: 50X using h 1, 30X using h 2 Look-forward heuristic outperforms the simple version Look-forward heuristic outperforms the simple version

Experimental Results: Time-Constrained Scheduling (1) Scheduling results comparison under critical-path time constraint Scheduling results comparison under critical-path time constraint

Experimental Results: Time-Constrained Scheduling (2) Scheduling results comparison under time constraint with 1.5x critical path length Scheduling results comparison under time constraint with 1.5x critical path length

Experimental Results: Soft Real-Time Scheduling Soft real-time scheduling results Soft real-time scheduling results

Conclusions Development of gradual relaxation techniques Development of gradual relaxation techniques Most constrained principle Most constrained principle Minimal freedom reduction Minimal freedom reduction Negative thinking Negative thinking Compounding variables Compounding variables Simultaneous step consideration Simultaneous step consideration Calibration Calibration Probabilistic modeling Probabilistic modeling Applications to: Applications to: –Maximum independent set –Time-constrained scheduling –Soft real-time scheduling