Download presentation
1
ICS 252 Introduction to Computer Design
Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI
2
ICS 252-Intro to Computer Design
References Lecture notes by Kia Bazargan on High level Synthesis [©Bazargan] Lecture note by Rajesh Gupta on scheduling [©Gupta] Chapter 4 of the textbook Fall 2007 ICS 252-Intro to Computer Design
3
Architectural Synthesis
Abstract model data path (structural) and control unit (logic-level) Constructing macroscopic structure of digital circuit Data path: interconnection of hardware resources (arithmetic or logic), steering logic circuits, registers/memory arrays Objectives: Area, latency, clock cycle time, throughput ( for pipelined data path) Fall 2007 ICS 252-Intro to Computer Design
4
Design specification for architectural synthesis
Resources Functional resources Primitive Application-specific Memory Examples: registers, ROM, RAM Interface Internal: buses External: I/O pads Fall 2007 ICS 252-Intro to Computer Design
5
Design specification for architectural synthesis
Constraints Interface constraints Format and timing of the I/O data transfers Implementation constraints Area Latency, cycle time Fall 2007 ICS 252-Intro to Computer Design
6
Fundamental architectural synthesis problems
Input: sequencing graph a set of functional units a set of constraints Assumption: Storage by registers Interconnection by wires Non-hierarchical graph with operations having bounded and known execution delay Two tasks: Placing operations in time and space Determining the detailed interconnection of data path and control unit Fall 2007 ICS 252-Intro to Computer Design
7
Temporal Domain: Scheduling
Given Sequencing graph Operations D={di,i=0,1,2,…,n} Start time at each operation T={ti, i=1,2…,n} Scheduling: task of determining the start time of each operation Subject to Precedence constraint by sequencing graph Fall 2007 ICS 252-Intro to Computer Design
8
ICS 252-Intro to Computer Design
Scheduling Latency of a scheduled graph: Difference between the start time of source and sink NOP 10 1 2 6 8 Time 1 * * * * + 9 11 7 Time 2 3 * * + < Time 3 4 - Time 4 5 - NOP Fall 2007 ICS 252-Intro to Computer Design
9
Scheduling under resource constraints
NOP 1 10 Time 1 * + 2 Time 2 * < Time 3 3 * 6 Time 4 4 - * 7 Time 5 * Time 6 8 * - 5 9 Time 7 + Fall 2007 ICS 252-Intro to Computer Design
10
Spatial Domain: Binding
A resource binding is a mapping such that operation vi with type T is implemented with rth resource One-to-one function, many-to-one functions (resource sharing), one-to-many functions (module selection) On a scheduled graph Fall 2007 ICS 252-Intro to Computer Design
11
Resource binding on a scheduled graph
NOP 10 1 2 6 8 Time 1 * * * * + 7 9 11 Time 2 3 * * + < Time 3 4 - Time 4 5 - NOP Fall 2007 ICS 252-Intro to Computer Design
12
Area and performance estimation
Latency By scheduling Area Resource-dominated General circuit Registers Steering logics Wiring Control unit Fall 2007 ICS 252-Intro to Computer Design
13
ICS 252-Intro to Computer Design
Strategies Area/latency optimization Cycle-time/area optimization cycle-time/latency optimization Fall 2007 ICS 252-Intro to Computer Design
14
ICS 252-Intro to Computer Design
Scheduling Without resource constraint Unconstrained Scheduling: ASAP Latency-constrained scheduling :ALAP Scheduling under timing constraint With resource constraint Exact: ILP model Heuristic: List scheduling, force-directed scheduling, etc. Fall 2007 ICS 252-Intro to Computer Design
15
ICS 252-Intro to Computer Design
ASAP Scheduling Schedule each operation as-soon-as-possible NOP 10 1 2 6 8 Time 1 * * * * + 9 11 7 Time 2 3 * * + < Time 3 4 - Time 4 5 - NOP Fall 2007 ICS 252-Intro to Computer Design
16
ICS 252-Intro to Computer Design
ALAP scheduling Schedule each operation as late as possible under given latency NOP 1 2 Time 1 * * 6 Time 2 3 * * 7 8 10 Time 3 4 - * * + 9 11 Time 4 5 - + < NOP Fall 2007 ICS 252-Intro to Computer Design
17
ICS 252-Intro to Computer Design
Quick overview Tasks in high-level synthesis Scheduling √ Allocation Binding Scheduling Without resource constraint √ With resource constraint (next) ILP model: exact solution List scheduling, force-directed scheduling: heuristic Fall 2007 ICS 252-Intro to Computer Design
18
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] Fall 2007 ICS 252-Intro to Computer Design
19
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 How to compute ti , start time of operation i? Sequencing relation Fall 2007 ICS 252-Intro to Computer Design
20
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] Fall 2007 ICS 252-Intro to Computer Design
21
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] Fall 2007 ICS 252-Intro to Computer Design
22
Operation vi Still Running at Step l ?
Is vi running at step l ? Is xi,l + xi,l 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] Fall 2007 ICS 252-Intro to Computer Design
23
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 Fall 2007 ICS 252-Intro to Computer Design
24
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 Fall 2007 ICS 252-Intro to Computer Design
25
ILP Example: Unique Start Times Constraint
Without using ASAP and ALAP values: Using ASAP and ALAP: [©Bazargan] Fall 2007 ICS 252-Intro to Computer Design
26
ILP Example: Dependency Constraints
Using ASAP and ALAP, the non-trivial inequalities are: (assuming unit delay for + and *) [©Bazargan] Fall 2007 ICS 252-Intro to Computer Design
27
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] Fall 2007 ICS 252-Intro to Computer Design
28
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] Fall 2007 ICS 252-Intro to Computer Design
29
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] Fall 2007 ICS 252-Intro to Computer Design
30
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] Fall 2007 ICS 252-Intro to Computer Design
31
Hu’s Algorithm: Example
[©Gupta] Fall 2007 ICS 252-Intro to Computer Design
32
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] Fall 2007 ICS 252-Intro to Computer Design
33
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] Fall 2007 ICS 252-Intro to Computer Design
34
List Scheduling Example
[©Gupta] Fall 2007 ICS 252-Intro to Computer Design
35
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] Fall 2007 ICS 252-Intro to Computer Design
36
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] Fall 2007 ICS 252-Intro to Computer Design
37
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] Fall 2007 ICS 252-Intro to Computer Design
38
ICS 252-Intro to Computer Design
Example + NOP < - 1 2 3 4 1 2 1.66 0.33 2.83 2.33 .83 [©Bazargan] Fall 2007 ICS 252-Intro to Computer Design
39
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] Fall 2007 ICS 252-Intro to Computer Design
40
ICS 252-Intro to Computer Design
Summary Architectural Synthesis Scheduling Binding and resource allocation Challenge: Area/performance trade-off Without resource constraints With resource constraints Exact solution Heuristics Next: Resource sharing and binding Fall 2007 ICS 252-Intro to Computer Design
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.