ECE 667 - Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

Integer Optimization Basic Concepts Integer Linear Program(ILP): A linear program except that some or all of the decision variables must have integer.
ECE 667 Synthesis and Verification of Digital Circuits
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Linear Programming (LP) (Chap.29)
1 Chapter 11 Here we see cases where the basic LP model can not be used.
Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.
COE 561 Digital System Design & Synthesis Scheduling Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
Dragan Jovicic Harvinder Singh
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
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.
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.
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
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
UNC Chapel Hill Lin/Manocha/Foskey Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
ECE LP Duality 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality.
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
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
Fall 2006EE VLSI Design Automation I VII-1 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part VII: High Level Synthesis.
Scheduling for Synthesis of Embedded Hardware
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Max-flow/min-cut theorem Theorem: For each network with one source and one sink, the maximum flow from the source to the destination is equal to the minimal.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
Decision Procedures An Algorithmic Point of View
Chapter 3 Linear Programming Methods 高等作業研究 高等作業研究 ( 一 ) Chapter 3 Linear Programming Methods (II)
ENCI 303 Lecture PS-19 Optimization 2
© J. Christopher Beck Lecture 5: Project Planning 2.
ECE Synthesis & Verification - Lecture 5 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
High-Level Synthesis-II Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject to some constraints. (There may.
C&O 355 Lecture 19 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.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Searching a Linear Subspace Lecture VI. Deriving Subspaces There are several ways to derive the nullspace matrix (or kernel matrix). ◦ The methodology.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Scheduling Determines the precise start time of each task.
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
Algorithm Design Methods
Integer Programming (정수계획법)
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
Integer Programming (정수계획법)
Algorithm Design Methods
Flow Feasibility Problems
Algorithm Design Methods
ICS 252 Introduction to Computer Design
Chapter 1. Formulations.
Prepared by Po-Chuan on 2016/05/24
Algorithm Design Methods
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach - ILP

ECE Synthesis & Verification - LP Scheduling 2 Scheduling – a Combinatorial Optimization Problem NP-complete Problem Optimal solutions for special cases and for ILP – –Integer linear program (ILP) – –Branch and bound Heuristics – –iterative Improvements, constructive Various versions of the problem Minimum latency, unconstrained (ASAP) Latency-constrained scheduling (ALAP) Minimum latency under resource constraints (ML-RC) Minimum resource schedule under latency constraint (MR-LC) If all resources are identical, problem is reduced to multiprocessor scheduling (Hu’s algorithm) In general, minimum latency multiprocessor problem is intractable under resource constraint Under certain constraints (G(VE) is a tree), greedy algorithm gives optimum solution

ECE Synthesis & Verification - LP Scheduling 3 Integer Linear Programming (ILP) Given : – –integer-valued matrix A m x n – –variables: x = ( x 1, x 2, …, x n ) T – –constants: b = ( b 1, b 2, …, b m ) T and c = ( c 1, c 2, …, c n ) T Minimize: c T x subject to: A x  b x = ( x 1, x 2, …, x n ) is an integer-valued vector If all variables are continuous, the problem is called linear (LP) Problem is called Integer LP (ILP) if some variables x are integer – –special case: 0,1 (binary) ILP

ECE Synthesis & Verification - LP Scheduling 4 Linear Programming – example Variables: x = [x 1, x 2 ] T Objective function: max F = -x 1 + x 2 = [-1 1] [x 1, x 2 ] T Constraints: -2x 1 + x 2  1 x 1 + 2x 2  5 x1x1 x2x F * = 1.6 (x 1 =0.6, x 2 =2.2) F=0 F=1 F * =1.6

ECE Synthesis & Verification - LP Scheduling 5 ILP Model of Scheduling Binary decision variables x il x i l = 1 if operation v i starts in step l, otherwise x i l = 0 i = 0, 1, …, n (operations) l = 1, 2, …  +1 (steps, with limit ) Start time of each operation vi is unique:  l x i l =  x i l l =t i S l =t i L where: t i S = time of operation I computed with ASAP t i L = time of operation I computed with ALAP Note:

ECE Synthesis & Verification - LP Scheduling 6 ILP Model of Scheduling - constraints Start time for v i : Precedence relationships must be satisfied Resource constraints must be met – –let upper bound on number of resources of type k be a k

ECE Synthesis & Verification - LP Scheduling 7 Latency Minimization - Objective Function Function to be minimized: F = c T t, where Minimum latency schedule: c = [0, 0, …, 1] T – –F = t n =  l l x nl – –if sink has no mobility (x n,s = 1), any feasible schedule is optimum ASAP: c = [1, 1, …, 1] T – –finds earliest start times for all operations  i  l x i l – –or equivalently:

ECE Synthesis & Verification - LP Scheduling 8 Minimum-Latency Scheduling under Resource Constraints (ML-RC) Let t be the vector whose entries are start times t = [ t 0, t 1,…., t n ] Formal ILP model

ECE Synthesis & Verification - LP Scheduling 9 Example 1 – multiple resources Two types of resources – –MULT – –ALU Adder, Subtractor Comparator Each take 1 cycle of execution time Assume upper bound on latency, L = 4 Use ALAP and ASAP to derive bounds on start times for each operator

ECE Synthesis & Verification - LP Scheduling 10 Example 1 (cont’d.) Start time must be unique  l x i l =  x i l l=t i S l=t i L where: t i S = t i computed with ASAP t i L = t i computed with ALAP Recall:

ECE Synthesis & Verification - LP Scheduling 11 Example 1 (cont’d.) Precedence constraints – –Note: only non-trivial ones listed

ECE Synthesis & Verification - LP Scheduling 12 Example 1 (cont’d.) Resource constraints MULT a1=2 ALU a2=2

ECE Synthesis & Verification - LP Scheduling 13 Example 1 (cont’d.) Objective function (some possibilities): F = c T t F1: c = [0, 0, …, 1] T – –Minimum latency schedule – –since sink has no mobility (x n,5 = 1), any feasible schedule is optimum F2: c = [1, 1, …, 1] T – –finds earliest start times for all operations  i  l x il – –or equivalently:

ECE Synthesis & Verification - LP Scheduling 14 Example Solution 1: Min. Latency Schedule Under Resource Constraint

ECE Synthesis & Verification - LP Scheduling 15 Minimum Resource Scheduling under Latency Constraint (MR-LC) Special case – –Identical operations, each executing in one cycle time Given a set of operations {v 1,v 2,...,v n }, – –find the minimum number of operation units needed to complete the execution in k control steps (MR-LC problem) Integer Linear Programming (ILP): – –Let y 0 be an integer variable (# units to be minimized) – –for each control step l =1, …, k, define variable x i l as x i l = 1, if computation v i is executed in the l -th control step 0, otherwise – –define variable y l ( number of units in control step l ) y l = x 1 l + x 2 l x n l =  i x i l

ECE Synthesis & Verification - LP Scheduling 16 ILP Scheduling – simple MR-LC Minimize:y 0 Subject to: Each computation v i can start only once: x il = 1 for only one value of l (control step) (“vertical” constraint) For each precedence relation: – –If v j has to be executed after v i x j1 + 2 x j k x jk  x i1 + 2 x i k x ik + d(i) y l  y 0 for all l = 1,…, k (steps) Meaning of y0 : upper bound on the number of units, to be minimized

ECE Synthesis & Verification - LP Scheduling 17 Example 2 - Formulation n = 6 computations k = 3 control steps d(i) = 1 v1v1 v2v2 v3v3 v4v4 v6v6 v5v5 Dependency constraints: e.g. v 4 executes after v 1 x x x 43  x x x etc. Resource constraints: y l = x 1 l + x 2 l + x 3 l + x 4 l + x 5 l + x 6 l for l = 1,…, 3 (steps) Execution constraints: x i1 + x i2 + x i3 = 1 for i = 1,…, 6

ECE Synthesis & Verification - LP Scheduling 18 Example 2 - Solution Minimize: y 0 Subject to: y l  y 0 for l = 1,…, 3 – –Starting time constraints … – –Precedence constraints … One possible solution: y 0 = 2 x 11 = 1, x 21 = 1, x 32 = 1, x 42 = 1, x 53 = 1, x 63 = 1. all other x i l = 0 v1v1 v2v2 v3v3 v4v4 v6v6 v5v5

ECE Synthesis & Verification - LP Scheduling 19 Minimum Resource Scheduling under Latency Constraint – general MR-LC General case: several operation units (resources) Given – –vector c = [c 1, …, c r ] of resource costs (areas) – –vector a = [a 1, …, a r ] of number of resources (unknown) Minimize total cost of resources min c T a Resource constraints are expressed in terms of variables a k = number of operators of type k

ECE Synthesis & Verification - LP Scheduling 20 Example 3 – Min. Resources under Latency Constraint Let c = [5, 1] – –MULT costs = 5 units of area, c 1 = 5 – –ALU costs = 1 unit of area, c 2 = 1 Starting time constraint – as before Sequencing constraints - as before Resource constraints – similar to ML-RC, but expressed in terms of unknown variables a 1 and a 2 a 1 = number of multipliers a 2 = number of ALUs (add/sub) Objective function: c T a = 5·a 1 + 1·a 2

ECE Synthesis & Verification - LP Scheduling 21 Example 3 (contd.) Resource constraints MULT ALU

ECE Synthesis & Verification - LP Scheduling 22 Example 3 - Solution Minimize c T a = 5·a 1 + 1·a 2 Solution with cost = 12 a1 = 2 a2 = 2

ECE Synthesis & Verification - LP Scheduling 23 Precedence-constrained Multiprocessor Scheduling All operations performed by the same type of resource –intractable problem; even if operations have unit delay –except when the G c is a tree (then it is optimal and –except when the G c is a tree (then it is optimal and O(n)) Hu’s algorithm