ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

40
ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    2

Transcript of ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

Page 1: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

ICS 252 Introduction to Computer Design

Fall 2007

Eli BozorgzadehComputer Science Department-UCI

Page 2: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

2Fall 2007 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 4 of the textbook

Page 3: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

3Fall 2007 ICS 252-Intro to Computer Design

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)

Page 4: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

4Fall 2007 ICS 252-Intro to Computer Design

Design specification for architectural synthesis

• Resources– Functional resources

• Primitive• Application-specific

– Memory• Examples: registers, ROM, RAM

– Interface• Internal: buses• External: I/O pads

Page 5: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

5Fall 2007 ICS 252-Intro to Computer Design

Design specification for architectural synthesis

• Constraints– Interface constraints

• Format and timing of the I/O data transfers

– Implementation constraints• Area• Latency, cycle time

Page 6: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

6Fall 2007 ICS 252-Intro to Computer Design

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

Page 7: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

7Fall 2007 ICS 252-Intro to Computer Design

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

Page 8: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

8Fall 2007 ICS 252-Intro to Computer Design

Scheduling

• Latency of a scheduled graph:– Difference between the start time of source and sink

NOP

* * * *

* *

+

+ <

-

-

NOP

1 2

3

4

5

6

7

8

9

10

11

Time 1

Time 2

Time 3

Time 4

Page 9: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

9Fall 2007 ICS 252-Intro to Computer Design

Scheduling under resource constraints

NOP

* +

*

*

*

-

<

*

-

1 10

2

3

46

7

Time 1

Time 2

Time 3

Time 4

Time 5

Time 6

Time 7

*

+

8

9

5

Page 10: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

10Fall 2007 ICS 252-Intro to Computer Design

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

Page 11: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

11Fall 2007 ICS 252-Intro to Computer Design

Resource binding on a scheduled graph

NOP

* * * *

* *

+

+ <

-

-

NOP

1 2

3

4

5

6

7

8

9

10

11

Time 1

Time 2

Time 3

Time 4

Page 12: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

12Fall 2007 ICS 252-Intro to Computer Design

Area and performance estimation

• Latency– By scheduling

• Area– Resource-dominated– General circuit

• Registers• Steering logics• Wiring• Control unit

Page 13: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

13Fall 2007 ICS 252-Intro to Computer Design

Strategies • Area/latency optimization

• Cycle-time/area optimization

• cycle-time/latency optimization

Page 14: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

14Fall 2007 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.

Page 15: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

15Fall 2007 ICS 252-Intro to Computer Design

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

Page 16: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

16Fall 2007 ICS 252-Intro to Computer Design

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

Page 17: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

17Fall 2007 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

Page 18: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

18Fall 2007 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]

Page 19: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

19Fall 2007 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

• How to compute ti , start time of operation i?

– Sequencing relation

Evv,...,n,i,jdxlxl ijjl l

jlil ),( 21

1,2,...,ni 1 xl

il

Page 20: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

20Fall 2007 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 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]

Page 21: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

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

v9

4

5

6

x9,5=1

v9

4

5

6

x9,6=1

[©Bazargan]

Page 22: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

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

vil

l-1

l-di+1

...

xi,l-1=1

vi

l

l-1

l-di+1

...

xi,l=1

. . .

[©Bazargan]

Page 23: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

23Fall 2007 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

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

1

lnkax reskvTi

l

dlm kim

ii

Page 24: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

24Fall 2007 ICS 252-Intro to Computer Design

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]

Page 25: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

25Fall 2007 ICS 252-Intro to Computer Design

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]

Page 26: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

26Fall 2007 ICS 252-Intro to Computer Design

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]

Page 27: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

27Fall 2007 ICS 252-Intro to Computer Design

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]

Page 28: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

28Fall 2007 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.

1. nll

xl

[©Gupta]

Page 29: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

29Fall 2007 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

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]

Page 30: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

30Fall 2007 ICS 252-Intro to Computer Design

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]

Page 31: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

31Fall 2007 ICS 252-Intro to Computer Design

Hu’s Algorithm: Example

[©Gupta]

Page 32: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

32Fall 2007 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]

Page 33: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

33Fall 2007 ICS 252-Intro to Computer Design

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]

Page 34: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

34Fall 2007 ICS 252-Intro to Computer Design

List Scheduling Example

[©Gupta]

Page 35: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

35Fall 2007 ICS 252-Intro to Computer Design

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]

Page 36: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

36Fall 2007 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 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]

Page 37: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

37Fall 2007 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.

kvTi

ik

i

lplq)(:

)()(

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

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

[©Bazargan]

Page 38: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

38Fall 2007 ICS 252-Intro to Computer Design

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]

Page 39: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

39Fall 2007 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]

Page 40: ICS 252 Introduction to Computer Design Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

40Fall 2007 ICS 252-Intro to Computer Design

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