Presentation is loading. Please wait.

Presentation is loading. Please wait.

ICS 252 Introduction to Computer Design

Similar presentations


Presentation on theme: "ICS 252 Introduction to Computer Design"— Presentation transcript:

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


Download ppt "ICS 252 Introduction to Computer Design"

Similar presentations


Ads by Google