ICS 252 Introduction to Computer Design

Slides:



Advertisements
Similar presentations
1 LP, extended maxflow, TRW OR: How to understand Vladimirs most recent work Ramin Zabih Cornell University.
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Introduction to Algorithms
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.
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.
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
Tirgul 12 Algorithm for Single-Source-Shortest-Paths (s-s-s-p) Problem Application of s-s-s-p for Solving a System of Difference Constraints.
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.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
ECE Synthesis & Verification - Lecture 3 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Approximation Algorithms
Chapter 10: Iterative Improvement
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.
SCHEDULING SOURCES- Mark Manwaring Kia Bazargan Giovanni De Micheli Gupta Youn-Long Lin M. Balakrishnan Camposano, J. Hofstede, Knapp, MacMillen Lin.
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
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
Fall 2006EE VLSI Design Automation I VII-1 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part VII: High Level Synthesis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
DATA MINING LECTURE 13 Pagerank, Absorbing Random Walks Coverage Problems.
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
High-Level Synthesis-II Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
CS 3343: Analysis of Algorithms Lecture 19: Introduction to Greedy Algorithms.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Introduction to NP Instructor: Neelima Gupta 1.
ICS 252 Introduction to Computer Design Lecture 8- Heuristics for Two-level Logic Synthesis Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
Approximation Algorithms based on linear programming.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Scheduling Determines the precise start time of each task.
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design
ECE 565 – VLSI Design Automation
The minimum cost flow problem
Basic Project Scheduling
Approximation algorithms
Basic Project Scheduling
CS137: Electronic Design Automation
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
ICS 252 Introduction to Computer Design
ICS 353: Design and Analysis of Algorithms
CS 3343: Analysis of Algorithms
Sungho Kang Yonsei University
Scheduling Algorithms
ICS 252 Introduction to Computer Design
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
ICS 252 Introduction to Computer Design
EE5900 Advanced Embedded System For Smart Infrastructure
ICS 252 Introduction to Computer Design
CSE 417: Algorithms and Computational Complexity
Chapter 10: Iterative Improvement
Chapter 6. Large Scale Optimization
Reconfigurable Computing (EN2911X, Fall07)
CS137: Electronic Design Automation
Linear Constrained Optimization
Presentation transcript:

ICS 252 Introduction to Computer Design Lecture 6 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI

ICS 252-Intro to Computer Design References Lecture notes by Kia Bazargan on High level Synthesis [©Bazargan] http://www.ece.umn.edu/users/kia/Courses/EE5301 Lecture note by Rajesh Gupta on scheduling [©Gupta] http://www.ics.uci.edu/~rgupta/ics280.html Chapter 6 of the textbook Winter 2004 ICS 252-Intro to Computer Design

Resource Constraint Scheduling Constrained scheduling General case NP-complete Minimize latency given constraints on area or the resources (ML-RCS) Minimize resources subject to bound on latency (MR-LCS) Exact solution methods: Integer linear programming (ILP) model Hu’s algorithm Heuristics: List scheduling Force-directed scheduling [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

ILP model for scheduling problem Binary variable xil xil=1 if start time of operation i is at time l xil=0 otherwise Constraints: set of linear inequalities Uniqueness of start time for each operation ∑xil = 1 i =0,1…,n How to compute ti , start time of operation i? Sequencing relation Winter 2004 ICS 252-Intro to Computer Design

Start Time vs. Execution Time For each operation vi , only one start time If di=1, then the following questions are the same: Does operation vi start at step l? Is operation vi running at step l? But if di>1, then the two questions should be formulated as: Does xil = 1 hold? Does the following hold? ? [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

Operation vi Still Running at Step l ? Is v9 running at step 6? Is x9,6 + x9,5 + x9,4 = 1 ? Note: Only one (if any) of the above three cases can happen To meet resource constraints, we have to ask the same question for ALL steps, and ALL operations of that type v9 4 5 6 x9,6=1 v9 4 5 6 x9,5=1 v9 4 5 6 x9,4=1 [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

Operation vi Still Running at Step l ? Is vi running at step l ? Is xi,l + xi,l-1 + ... + xi,l-di+1 = 1 ? vi l l-1 l-di+1 ... xi,l=1 vi l l-1 l-di+1 ... xi,l-1=1 vi l l-1 l-di+1 ... xi,l-di+1=1 . . . [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

ICS 252-Intro to Computer Design ILP Model (cont’d) Constraints (cont’d) Resource bound at each time step of scheduling Objective Minimize cTt t = vector of start time of operations Winter 2004 ICS 252-Intro to Computer Design

ICS 252-Intro to Computer Design ILP Example Assume l = 4 First, perform ASAP and ALAP (we can write the ILP without ASAP and ALAP, but using ASAP and ALAP will simplify the inequalities) + NOP  < - 1 2 3 4 + NOP  < - 1 2 3 4 v1 v1 v2 v6 v8 v10 v2 v3 v7 v9 v11 v6 v3 v4 v4 v8 v7 v10 v5 v5 v9 v11 vn [©Bazargan] vn Winter 2004 ICS 252-Intro to Computer Design

ILP Example: Unique Start Times Constraint Without using ASAP and ALAP values: Using ASAP and ALAP: [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

ILP Example: Dependency Constraints Using ASAP and ALAP, the non-trivial inequalities are: (assuming unit delay for + and *) [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

ILP Example: Resource Constraints Resource constraints (assuming 2 adders and 2 multipliers) Objective: Since l=4 and sink has no mobility, any feasible solution is optimum, but we can use the following anyway: [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

ILP Formulation of MR-LCS Dual problem to ML-RCS Objective: Goal is to optimize total resource usage, a. Objective function is cTa , where entries in c are respective area costs of resources Constraints: Same as ML-RCS constraints, plus: Latency constraint added: Note: unknown ak appears in constraints. [©Gupta] Winter 2004 ICS 252-Intro to Computer Design

ICS 252-Intro to Computer Design Hu’s Algorithm Simple case of the scheduling problem Operations of unit delay Operations (and resources) of the same type Hu’s algorithm Greedy Polynomial AND optimal Computes lower bound on number of resources for a given latency OR: computes lower bound on latency subject to resource constraints Basic idea: Label operations based on their distances from the sink Try to schedule nodes with higher labels first (i.e., most “critical” operations have priority) [©Gupta] Winter 2004 ICS 252-Intro to Computer Design

ICS 252-Intro to Computer Design Hu’s Algorithm HU (G(V,E), a) { Label the vertices // label = length of longest path passing through the vertex l = 1 repeat { U = unscheduled vertices in V whose predecessors have been scheduled (or have no predecessors) Select S  U such that |S|  a and labels in S are maximal Schedule the S operations at step l by setting ti=l, i: vi  S. l = l + 1 } until vn is scheduled. } [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

Hu’s Algorithm: Example [©Gupta] Winter 2004 ICS 252-Intro to Computer Design

ICS 252-Intro to Computer Design List Scheduling Greedy algorithm for ML-RCS and MR-LCS Does NOT guarantee optimum solution Similar to Hu’s algorithm Operation selection decided by criticality O(n) time complexity More general input Resource constraints on different resource types [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

List Scheduling Algorithm: ML-RCS LIST_L (G(V,E), a) { l = 1 repeat { for each resource type k { Ul,k = available vertices in V. Tl,k = operations in progress. Select Sk  Ul,k such that |Sk| + |Tl,k|  ak Schedule the Sk operations at step l } l = l + 1 } until vn is scheduled. [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

List Scheduling Example [©Gupta] Winter 2004 ICS 252-Intro to Computer Design

List Scheduling Algorithm: MR-LCS LIST_R (G(V,E), l’) { a = 1, l = 1 Compute the ALAP times tL. if t0L < 0 return (not feasible) repeat { for each resource type k { Ul,k = available vertices in V. Compute the slacks { si = tiL - l,  vi Ul,k }. Schedule operations with zero slack, update a Schedule additional Sk  Ul,k under a constraints } l = l + 1 } until vn is scheduled. [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

Force-Directed Scheduling Similar to list scheduling Can handle ML-RCS and MR-LCS For ML-RCS, schedules step-by-step BUT, selection of the operations tries to find the globally best set of operations Idea: Find the mobility mi = tiL – tiS of operations Look at the operation type probability distributions Try to flatten the operation type distributions Definition: operation probability density pi ( l ) = Pr { vi starts at step l }. Assume uniform distribution: [©Gupta] Winter 2004 ICS 252-Intro to Computer Design

Force-Directed Scheduling: Definitions Operation-type distribution (NOT normalized to 1) Operation probabilities over control steps: Distribution graph of type k over all steps: qk ( l ) can be thought of as expected operator cost for implementing operations of type k at step l. [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

ICS 252-Intro to Computer Design Example + NOP  < - 1 2 3 4 1 2 1.66 0.33 2.83 2.33 .83 [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design

Force-Directed Scheduling Algorithm: Idea Very similar to LIST_L(G(V,E), a) Compute mobility of operations using ASAP and ALAP Computer operation probabilities and type distributions Select and schedule operations Update operation probabilities and type distributions Go to next control step Difference with list scheduling in selecting operations Select operations with least force Consider the effect on the type distribution Consider the effect on successor nodes and their type distributions [©Bazargan] Winter 2004 ICS 252-Intro to Computer Design