RateOptimal ResourceConstrained Software Pipelining - PowerPoint PPT Presentation

About This Presentation
Title:

RateOptimal ResourceConstrained Software Pipelining

Description:

RateOptimal ResourceConstrained Software Pipelining – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 30
Provided by: guang4
Category:

less

Transcript and Presenter's Notes

Title: RateOptimal ResourceConstrained Software Pipelining


1
Rate-Optimal Resource-Constrained Software
Pipelining
2
Objectives
  • Establish good bounds
  • Help compiler writers
  • Help architects
  • Study pragmatic issues when implemented as an
    option of compilers
  • Study its payoffs

3
A Motivating Example
  • for i 0 to n
  • do
  • 0 a i X d i - 2
  • 1 b i a i F f i - 2 e i - 2
  • 2 c i Y - b i
  • 3 d i 2 c i
  • 4 e i X - b i
  • 5 f i Y b i
  • end

4
2
L
for ( i 0 i lt n i )
0
3
S

a i X d i - 2
0
S

b i a i F f i - 2 e i - 2
1
1
2
S

c i Y - b i
2
S

d i 2 c i
2
2
3
S

e i X - b i
4
4
5
S

f i Y b i
5

Data Dependence Graph
Program Representation
Assume all statements have a delay 1
5
Question
  • How fast can L run (I.e.optimal computation rate)
    without resource constraints?
  • How many FUs it needs minimally to achieve the
    optimal rate?

6
Schedule A t (i, Sj) 2i tsj where
ts0 0 ts1 1 ts2 ts4
ts5 2 ts3 3
iter 1
2
3
. . .
0
S
0
1
S
1
2
S
, S
, S
S
2
4
5
0
3
S
S
3
1
4
S
, S
, S
S
2
4
5
0
5
S
S
3
1
6
S
, S
, S
2
4
5
7
. . .
S
3
Schedule A of FUs 4
7
Can we do better?
8
Schedule B t (i, Sj) 2i tsj where
ts0 0 ts1 1 ts2 ts4
2 ts3 ts5 3
iter 1
2
3
. . .
0
S
0
1
S
1
2
S
, S
S
2
4
0
3
S
S
S
3,
5
1
4
S
, S
S
2
4
0
5
S
S
S
3,
5
1
6
S
, S
2
4
7
. . .
S
S
3,
5
Schedule B of FUs 3
9
Problem Statements
Assumptions homogeneous function units
  • Problem 0 Given a loop L, determine a
    rate-optimal schedule for L which uses
    minimum of FUs.
  • Problem I (FIxed Rate SofTware Pipelining with
    minimum Resource - FIRST)
  • Given a loop L and a fixed initiation rate
    determine a schedule for L which uses minimum
    of FUs.
  • Problem II (REsource Constrained SofTware
    Pipelining - REST)
  • Given a loop L and the of Fus, determine an
    optimal schedule which can run under the given
    resource constraints.

10
Problem Formulation of FIRST
  • How to formulate resource constraints into a
    linear form?

11
R Max (width)
Min R
  • Subject to
  • all dependence constraints
  • R is the maximum width
  • for a fixed rate (or period)

The SWP kernel --- The frustum
12
Min (max ari)
R
Frustum A
Contribution of node i to step rs resource
requirement
Now R max ari
r 0, II - 1
13
FIRST A Linear Programming Formulation Example
0 1 2 3 4 5 a00 a01 a02 a03 a04 a05 a10
a11 a12 a13 a14 a15
So for node I ti ki II (aoi , a1i )
0 1
Where ari 1 means node i start at step
r 0 otherwise
14
FIRST A Linear Programming Formulation
Minimize R
Subject to
R Max
T
T
T
Periodic
Dependence Constraints
and are integers
15
Example Revisited
Min R
Subjected to
-





³
R
a
a
a
a
a
a
(
)
0
00
01
02
03
04
05
-





³
R
a
a
a
a
a
a
(
)
0
10
11
12
13
14
15






1
0
2
t
a
a
k
0
10
00
0






1
1
0
1
2
t
a
a
k
11
01
. .






2
0
1
k
a
a
t
5
05
15
5


a
a
1
00
10


a
a
1
01
11
. .


a
a
1
05
15
-
t
t
. .
³
1
0
1
. .
-
t
t
³
-
1
4
3
-
t
t
³
-
1
5
3
. .
³
³
³
t
k
a
0
0
0
,
,
i
ri
1
16
Solution
Schedule C t(i, s) 2i ts where t0
0 t1 1 t2 2 t3 3 t4
3 t5 2 so, of FUs 3!
17
Linear Programming
  • A Linear Program is a problem that can be
    expressed in the following form
  • minimize cx
  • subject to
  • Ax b
  • x gt 0
  • where x vector of variables to be solved
  • A matrix of known coefficients
  • c, b vectors of known coefficients
  • cx it is called the objective function
  • Axb is called the constraints

18
Linear Programming
  • programming actually means planning here.
  • Importance of LP
  • many applications
  • the existence of good general-purpose techniques
    for finding optimal solutions

19
Integer Linear Programming(ILP)
  • Integer programming have proved valuable for
    modeling many and diverse types of problems in
  • planning,
  • routing,
  • scheduling,
  • assignment, and
  • design.
  • Industry applications
  • transportation, energy, telecommunications, and
    manufacturing

20
Integer Linear Programming
  • Classification
  • mixed integer (part of variables)
  • pure integer (all variables)
  • zero-one (only takes 0 or 1)
  • Much harder to solve
  • Many existing tools and product
  • solve the LP/ILP problem and get optimal solution
  • help to model the problem, and then solve the
    problem

21
Quiz
  • How to handle cases where di 1 for node
    i
  • ?

gt
22
The Trick
  • At time step r, the of FUs required

Contributed by node i Started at steps in 0, (t
di-1)II
a((r - 1)II)i
Note if actor i requires a FU at
time r or 0 otherwise. So objective function
becomes
Max
Min
23
  • How to extend the FIRST formulation to
    heterogeneous function units?

24
Heterogeneous Function Units
  • Solution Hints weighted Sum!

For FU of type k
Mk max
"
Î
-
r
II

,

0
1
and so, the objective should be
min Ck Mk
Where h is the total of FU types
"
Î
-
"
Î
-
k
h
r
II

,
,

,

0
1
0
1
25
Solution of the REST
  • Resource - constraint rate-optimal software
    pipelining problem

26
Hints
  • Based on scheme for
  • FIRST
  • and play
  • trial-and improve

27
Solution Space for REST
MII max RecMII, ResMII
1 2
28
  • Note The bounds of initiation interval
  • 1. Loop-carried dependence constraints
  • 2. Resource constraints
  • As a result

29
Other Work
  • Extend the technique to more benchmarks and
    establish bounds
  • Extend the framework to include register
    constraints
  • Extend the model for pipelined architectures
    (with structural hazards)
  • Extend the model to consider superscalar and
    multithreaded with dynamic scheduling support.
Write a Comment
User Comments (0)
About PowerShow.com