Exploring heuristics for Synchronous Data Flow scheduling - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Exploring heuristics for Synchronous Data Flow scheduling

Description:

Exploring heuristics for Synchronous Data Flow scheduling Pieter Hartel Theo Ruys Marc Geilen – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 12
Provided by: Piet114
Category:

less

Transcript and Presenter's Notes

Title: Exploring heuristics for Synchronous Data Flow scheduling


1
Exploring heuristics forSynchronous Data Flow
scheduling
  • Pieter Hartel
  • Theo Ruys
  • Marc Geilen

2
What do we mean by Synchronous Data Flow?
Periodic schedules aababc (max c04) and aaabbc
(max c06)
Two problems Separate buffers for c0 and c1 or
shared buffer?
a x3
b x2
c x1
2
3
1
2
c0
c1
  • Data driven
  • Fixed prod cons rates
  • Cycles are ok
  • Conditionals not ok
  • (No self edges)
  • Simple semantics
  • Scheduling NP hard
  • Signal processing
  • Many variants

3
Semantics (Lee et al, 1987)
a
b
c
  • G
  • s(0)
  • ?(i) pick column of G
  • s(i1) s(i)?(i), ? 0

0
0
2 -3 0
0 1 -2
c0
2
0
c1
Explore the state space Looking for a
cycle Avoiding duplicate work i.e. Model
Checking...
4
0
0
0
6
0
1
1
3
1
0
2
Common buffer space 4, separate buffers 6
4
Admissible schedules
  • Consistent sample rate Rank(G)N-1
  • Repetition vector r?0 solve G r0
  • G r
  • No deadlock

c0
-1
2
4
a x1
b x2
2
1
1
2
-4 2
2 -1
c1
5
Objective Minimise buffer space
  • Calculate for each channel
  • pprod. ccons. tinitial tokens rrep. rate
    of node
  • min pc-gcd(p,c)t mod gcd(p,c)
  • max pr

total cddat modem adeb inmars h263
min 32 38 39 1508 7133
feas. 32 38 42 1508 7133
max 1021 61 133 3936 9508
6
Check common buffer (DAC05)
byte c0, c1 do /a/ c0
2 /b/ c0gt3 -gt c0 - 3 c1
1 /c/ c1gt2 -gt c1 - 2 od
c1
c0
a
b
c
2
3
1
2
(c0c1 lt 4)
7
Separate buffer SPIN model (DAC05)
byte c0, c1 byte s04, s12 / min. buffer size
calculated from G / init do /a/ c0
2 s0 max(c0,s0) /b/ c0gt3 -gt c0
- 3 c1 1 s1 max(c1,s1) /c/
c1gt2 -gt c1 - 2 od
Can we make this more abstract?
c1
c0
a
b
c
2
3
1
2
LTL feasible (s0s1 lt 6) infeasible
(s0s1 lt 5)
LTL without s0,s1 (c0lt4 c1lt2)
8
Limit times a node is fired(sound but not
complete)
Cant compute n from c
byte na, nb, nc define c0 (na2-nb3) define
c1 (nb1-nc2) init do /a/
(nalt3) -gt na /b/ (nblt2
c0gt3) -gt nb /c/ (nclt1
c1gt2) -gt nc od define property (c0lt4
c1lt2) define reset (c00 c10)
3
2
1
Repetition vector G 0
LTL formula X (property U reset)
9
Look ahead is unsound
adebetter
h x5
i x5
j x5
1
1
1
1
c3
c2
1
1
c4
c0
1
c1
k x1
l x5
5
5
1
10
Clustering is sound, but incomplete
c x5
c x5
Inmarsat
1
1152
1
1152
1
96
d x5760
d x60
transform
1
96
Proof 96605760 965480
480
480
e x12
e x12
11
Checking the bounds
  • Simple C program generates Promela models from
  • the topology matrix and initial token assignment
    of 10 common benchmarks
  • in 146 versions
  • SPIN does the hard work
  • Performance comparable with special purpose
    research tools from Eindhoven Twente (separate
    buffers only)

12
States stored(20-30K per second)
Limiting look ahead
Clustering
 separate modem adebetter inmarsat inmarsat
feas DAC05 210 8602 2862 148
feas FMCAD08 50 129 1133 52
infeas DAC05 2 1708 2 2
infeas FMCAD08 - 721 - -
common modem adebetter inmarsat inmarsat
feas DAC05 1231 156 180369 163
feas FMCAD08 176 109 1110 52
infeas DAC05 853 140 gt 5 min 240
infeas FMCAD08 852 139 gt 5 min 81
13
Finding the bounds(common buffer pool)
  • Start with initial guess g for the optimal bound
    and step size s using modified DAC05 model
  • repeat
  • exit if SPIN finds a schedule with an optimal
    bound b g -- down
  • g ? gs -- up
  • end repeat

14
How well does this work?
Adebetter Adebetter Adebetter
g states bound
10 30 none
14 66 none
18 157 none
22 7648 21,20,19,18
total 7901
19 1568 18
ratio 5
ratios ratios
Adebetter 5
Ade Inmarsat 4
rest 2
up
Optimal bound
down
Best case start at optimal bound1
15
Conclusions
  • Creative laziness use SPIN as the Swiss army
    knife of Computer Science
  • Creating abstract models is hard
  • The effective ideas can be implemented in special
    purpose tools
  • Some new theory for the common buffer pool sizes
Write a Comment
User Comments (0)
About PowerShow.com