+ All Categories
Home > Documents > Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture...

Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture...

Date post: 16-Dec-2015
Category:
Upload: gladys-cori-stephens
View: 219 times
Download: 0 times
Share this document with a friend
29
ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI
Transcript

ICS 252 Introduction to Computer Design

Lecture 5-Scheudling Algorithms

Winter 2005

Eli BozorgzadehComputer Science Department-UCI

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 5 (5.1-5.4.4) of the textbook

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.

ASAP Scheduling

• Schedule each operation as-soon-as-possible

NOP

* * * *

* *

+

+ <

-

-

NOP

1 2

3

4

5

6

7

8

9

10

11

Time 1

Time 2

Time 3

Time 4

ALAP scheduling

• Schedule each operation as late as possible under given latency

NOP

* *

*

*

*

* +

+ <

-

-

NOP

1 2

3

4

5

6

7 8

9

10

11

Time 1

Time 2

Time 3

Time 4

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

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]

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 relationEvv,...,n,i,jdxlxl ijj

l ljlil ),( 21

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 operation vi start at step l?

• Does xil = 1 hold?

– Is operation vi running at step l?

• Does the following hold? 11

l

dlmim

i

x ?

[©Bazargan]

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,4=1

v9

4

5

6

x9,5=1

v9

4

5

6

x9,6=1

[©Bazargan]

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-di+1=1

vil

l-1

l-di+1

...

xi,l-1=1

vi

l

l-1

l-di+1

...

xi,l=1

. . .

[©Bazargan]

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

1...,2,1 ...,2,1 )(:

1

lnkax reskvTi

l

dlm kim

ii

ILP Example

• Assume = 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

+ <

-

-

NOP

1

2

3

4

+

NOP

+ <

-

-

NOP

1

2

3

4

v2v1

v3

v4

v5

vn

v6

v7

v8

v9

v10

v11

v2v1

v3

v4

v5

vn

v6

v7 v8

v9

v10

v11

[©Bazargan]

ILP Example: Unique Start Times Constraint

• Without using ASAP and ALAP values:

• Using ASAP and ALAP:

1

...

...

...

1

1

4,113,112,111,11

4,23,22,21,2

4,13,12,11,1

xxxx

xxxx

xxxx

....

1

1

1

1

1

1

1

1

1

4,93,92,9

3,82,81,8

3,72,7

2,61,6

4,5

3,4

2,3

1,2

1,1

xxx

xxx

xx

xx

x

x

x

x

x

[©Bazargan]

ILP Example: Dependency Constraints

• Using ASAP and ALAP, the non-trivial inequalities are: (assuming unit delay for + and *)

01.4.3.2.5

01.4.3.2.5

01.3.2.4

01.3.2.4.3.2

01.3.2.4.3.2

01.2.3.2

4,113,112,115,

4,93,92,95,

3,72,74,5

3,102,101,104,113,112,11

3,82,81,84,93,92,9

2,61,63,72,7

xxxx

xxxx

xxx

xxxxxx

xxxxxx

xxxx

n

n

[©Bazargan]

ILP Example: Resource Constraints

• Resource constraints (assuming 2 adders and 2 multipliers)

• Objective:– Since =4 and sink has no mobility, any feasible solution is

optimum, but we can use the following anyway:

2

2

2

2

2

2

2

4,114,94,5

3,113,103,93,4

2,112,102,9

1,10

3,83,7

2,82,72,62,3

1,81,61,21,1

xxx

xxxx

xxx

x

xx

xxxx

xxxx

4,3,2,1, .4.3.2 nnnn xxxxMin [©Bazargan]

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.

1. nll

xl

[©Gupta]

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

latencyOR: 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]

Hu’s AlgorithmHU (G(V,E), a) {

Label the vertices // label = length of longest pathpassing through the vertex

l = 1repeat {

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 maximalSchedule the S operations at step l by setting ti=l, i: vi S.

l = l + 1

} until vn is scheduled.

}[©Bazargan]

Hu’s Algorithm: Example

[©Gupta]

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]

List Scheduling Algorithm: ML-RCS

LIST_L (G(V,E), a) {l = 1repeat {

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]

List Scheduling Example

[©Gupta]

List Scheduling Algorithm: MR-LCSLIST_R (G(V,E), ’) {

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]

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 i = ti

L – 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:

],[1

1)( L

iSi

ii ttlforlp

[©Gupta]

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.

kvTi

ik

i

lplq)(:

)()(

)}(,),1(),0({ npppp iiii

)}(,),1(),0({ nqqq kkk

[©Bazargan]

Example

+

NOP

+ <-

-NOP

1

23

4

0)4(

83.03

1

2

1)3(

33.23

1

2

1

2

11)2(

83.23

1

2

111)1(

mult

mult

mult

mult

q

q

q

q

2.83

2.33

.83

66.13

1

3

11)4(

23

1

3

1

3

11)3(

13

1

3

1

3

1)2(

33.03

1)1(

add

add

add

add

q

q

q

q

0

1

2

1.66

0.33

[©Bazargan]

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]

Summary

• Architectural Synthesis– Scheduling– Binding and resource allocation– Challenge: Area/performance trade-off

• Scheduling– Without resource constraints– With resource constraints

• Exact solution• Heuristics

• Next: Resource sharing and binding


Recommended