modeling and analysis of data flow graphs using the ... · modeling and analysis of data flow...
TRANSCRIPT
Modeling and Analysis of Data Flow Graphsusing the Digraph Real-Time Task Model
Morteza Mohaqeqi, Jakaria Abdullah, and Wang Yi
Uppsala University
Ada-Europe 2016
Overview
Introduction
Data Flow Graphs:Signal processingStream processingData dependency
a b
[1, 3] [2]
[1, 1, 4][2]
Design ObjectivesThroughput maximization
Design Constraints
Buffer overflow/underflow avoidanceSchedulability
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 1 / 19
Overview
Introduction
Data Flow Graphs:Signal processingStream processingData dependency
a b
[1, 3] [2]
[1, 1, 4][2]
Design ObjectivesThroughput maximization
Design Constraints
Buffer overflow/underflow avoidanceSchedulability
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 1 / 19
Overview
An Overview
A Set of DataFlow Graphs
Processor
Schedule
A Set of DataFlow Graphs
Transform
Real-Time Tasks
Processor
Schedule
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
The Problem: Our Approach:
Overview
An Overview
A Set of DataFlow Graphs
Processor
Schedule
A Set of DataFlow Graphs
Transform
Real-Time Tasks
Processor
Schedule
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
The Problem: Our Approach:
Overview
An Overview
A Set of DataFlow Graphs
Processor
Schedule
A Set of DataFlow Graphs
Transform
Real-Time TasksPeriodic
Processor
Schedule
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
The Problem: Our Approach:
Overview
An Overview
A Set of DataFlow Graphs
Processor
Schedule
A Set of DataFlow Graphs
Transform
Real-Time TasksDigraph RT
Processor
Schedule
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
The Problem: Our Approach:
Overview
Previous Work
a b
periodictask
periodictask
DRTperiodicperiodic
Our work
Strictly period schedule[Bouakaz 2014]
Digraph Real-Time (DRT)task model [Stigge et al 2011]
Our work
Strictly Period Schedule[Bouakaz 2014]
Digraph Real-Time (DRT)task model [Stigge et al 2013]
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 3 / 19
Overview
Previous Work
a b
periodictask
periodictask
DRTperiodicperiodic
Our work
Strictly period schedule[Bouakaz 2014]
Digraph Real-Time (DRT)task model [Stigge et al 2011]
Our work
Strictly Period Schedule[Bouakaz 2014]
Digraph Real-Time (DRT)task model [Stigge et al 2013]
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 3 / 19
Outline
1 Introduction
2 Method
3 Evaluation
4 Conclusion
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 4 / 19
Introduction
(Static) Data Flow Graphs
SynchronousData Flow
a b[2] [1]
Fixed token production(consumption) rateFixed execution time
Cyclo-StaticData Flow
a b
[1, 3] [2]
[1, 1, 4][2]
Variable token production(consumption) rateVariable execution time
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 5 / 19
Introduction
Semantics
Empty buffer
’a’ can be fired
a b[2] [1]
size = 2
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction
Semantics
Empty buffer’a’ can be fired
a b[2] [1]
size = 2a
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction
Semantics
Full buffer
’a’ cannot be fired’b’ can be fired
a b[2] [1]
size = 2
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction
Semantics
Full buffer’a’ cannot be fired’b’ can be fired
a b[2] [1]
size = 2b
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction
Semantics
’a’ cannot be fired’b’ can be fired
a b[2] [1]
size = 2b
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction
Semantics
Empty buffer’a’ can be fired
a b[2] [1]
size = 2a
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction
Constraints
Design Constraints
Underflow/overflow avoidanceSchedulability
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 7 / 19
Introduction
Underflow and Overflow
Underflow avoidance
a b[2] [1]
tTa
t0 5 10Tb
Cannot be fired
offset
t0 5 10
tokens buffer size=5
no overflow
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction
Underflow and Overflow
Underflow avoidance
a b[2] [1]
tTa
t0 5 10Tb
Cannot be fired
offset
t0 5 10
tokens buffer size=5
no overflow
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction
Underflow and Overflow
Produce token as soon as possibleConsume token as late as possible
a b[2] [1]
tTa
t0 5 10Tb
Cannot be fired
offset
t0 5 10
tokens
buffer size=5
no overflow
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction
Underflow and Overflow
Produce token as soon as possibleConsume token as late as possible
a b[2] [1]
tTa
t0 5 10Tb
Cannot be fired
offset
t0 5 10
tokens buffer size=5
no overflow
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction
Constraints
Design Constraints
Underflow/overflow avoidance
Schedulability
a b[2] [1]
tTa
t0 5 10Tb
offset
Ca = 2
Cb = 2
Unschedulable!Larger Periods Lower Throughput
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction
Constraints
Design Constraints
Underflow/overflow avoidanceSchedulability
a b[2] [1]
tTa
t0 5 10Tb
offset
Ca = 2
Cb = 2
Unschedulable!Larger Periods Lower Throughput
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction
Constraints
Design Constraints
Underflow/overflow avoidanceSchedulability
a b[2] [1]
tTa
t0 5 10Tb
offset
Ca = 2
Cb = 2
Unschedulable!Larger Periods Lower Throughput
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction
Constraints
Design Constraints
Underflow/overflow avoidanceSchedulability
a b[2] [1]
tTa
t0 5 10Tb
offset
Ca = 2
Cb = 2
Unschedulable!
Larger Periods Lower Throughput
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction
Constraints
Design Constraints
Underflow/overflow avoidanceSchedulability
a b[2] [1]
tTa
t0 5 10Tb
offset
Ca = 2
Cb = 2
Unschedulable!
Larger Periods Lower Throughput
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction
The Problem
Design Parameters
PeriodsOffsets
Constraints
No underflowNo overflowSchedulability
Objective
Throughput maximization
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 10 / 19
Introduction
Cyclo-Static Data Flow Graphs
Repeating pattern
a b[10, 10, 0, 0] [5, 5, 5, 5]
tTa
t0 5 10 15Tb
5 5 5 5 5 5 5 5
10 10 0 0 10 10 0 0 10 10
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction
Cyclo-Static Data Flow Graphs
Repeating pattern
a b[10, 10, 0, 0] [5, 5, 5, 5]
tTa
t0 5 10 15Tb
5 5 5 5 5 5 5 5
10 10 0 0 10 10 0 0 10 10
size=25
t0 5 10 15
tokens
510152025
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction
Cyclo-Static Data Flow Graphs
Repeating pattern
a b[10, 10, 0, 0] [5, 5, 5, 5]
tTa
t0 5 10 15Tb
5 5 5 5 5 5 5 5
10 10 0 0 10 10 0 0 10deadline
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction
Cyclo-Static Data Flow Graphs
Repeating pattern
a b[10, 10, 0, 0] [5, 5, 5, 5]
tTa
t0 5 10 15Tb
5 5 5 5 5 5 5 5
10 10 0 0 10 10 0 0 10deadline
t0 5 10 15
tokens
510152025
size=20
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction
We need a non-periodic task model
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 12 / 19
Introduction
Scheduling Data Flow Graphs
Synchronous Data FlowFixed behaviorPeriodically repeating
a b[2] [1]
t0 4 8 12
t0 4 8 12
Ta
Tb
offset
Cyclo-Static Data FlowChanging behaviorRepeating pattern
a b
[1, 3] [2]
[1, 1, 4][2]
The Digraph Real-Time task model.
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19
Introduction
Scheduling Data Flow Graphs
Synchronous Data FlowFixed behaviorPeriodically repeating
a b[2] [1]
t0 4 8 12
t0 4 8 12
Ta
Tb
offset
Cyclo-Static Data FlowChanging behaviorRepeating pattern
a b
[1, 3] [2]
[1, 1, 4][2]
The Digraph Real-Time task model.
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19
Introduction
Scheduling Data Flow Graphs
Synchronous Data FlowFixed behaviorPeriodically repeating
a b[2] [1]
t0 4 8 12
t0 4 8 12
Ta
Tb
offset
Cyclo-Static Data FlowChanging behaviorRepeating pattern
a b
[1, 3] [2]
[1, 1, 4][2]
The Digraph Real-Time task model.
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19
Introduction
The Digraph Real-Time (DRT) Task Model
A graph-based representationDifferent job types
v1 v2
v3
〈2, 5〉 〈1, 3〉
〈1, 6〉
8
10
5
10
8
t0 5 10 15 20
v1 v2 v3 v1
v1 v2 v3 v1
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 14 / 19
Introduction
The Digraph Real-Time (DRT) Task Model
A graph-based representationDifferent job types
v1 v2
v3
〈2, 5〉 〈1, 3〉
〈1, 6〉
8
10
5
10
8
t0 5 10 15 20
v1 v2 v3 v1
v1 v2 v3 v1
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 14 / 19
Method
Example
MP3 playback application
MP3 SRC APP DAC[0 0 576 0 576] [480] [441] [1] [1] [1]
CMP3 = [670, 2700, 720, 2700, 720] CSRC = 2500 CSRC = 22 CSRC = 22
DRT task for the actor MP3
v0 v1 v2
v3
v4
v5
〈0, 0〉 〈670, d1〉
〈2700, d2〉
〈720, d3〉
〈2700, d4〉
〈720, d5〉
0 p1
p2
p3p4
p5
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 15 / 19
Method
Example
MP3 playback application
MP3 SRC APP DAC[0 0 576 0 576] [480] [441] [1] [1] [1]
CMP3 = [670, 2700, 720, 2700, 720] CSRC = 2500 CSRC = 22 CSRC = 22
DRT task for the actor MP3
v0 v1 v2
v3
v4
v5
〈0, 0〉 〈670, d1〉
〈2700, d2〉
〈720, d3〉
〈2700, d4〉
〈720, d5〉
0 p1
p2
p3p4
p5
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 15 / 19
Method
Example
MP3 playback application
MP3 SRC APP DAC[0 0 576 0 576] [480] [441] [1] [1] [1]
CMP3 = [670, 2700, 720, 2700, 720] CSRC = 2500 CSRC = 22 CSRC = 22
DRT task for the actor SRC
v6 v7
〈0, 0〉 〈2500, d〉
p1p2
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 16 / 19
Method
Example
MP3 playback application
MP3 SRC APP DAC[0 0 576 0 576] [480] [441] [1] [1] [1]
CMP3 = [670, 2700, 720, 2700, 720] CSRC = 2500 CSRC = 22 CSRC = 22
DRT task for the actor SRC
v6 v7
〈0, 0〉 〈2500, d〉
p1p2
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 16 / 19
Evaluation
Obtained DRT tasks
v0 v1 v2
v3
v4
v5
〈0, 0〉 〈670, 5366〉
〈2700, 21624〉
〈720, 5766〉
〈2700, 21624〉
〈720, 5766〉
0 5366
21624
576621624
5766
Table: Task set parameters for the DRT tasks (µs)
Period Offset
SRC 25061.809 60649.578
APP 56.829 110801.612
DAC 56.829 110943.686
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 17 / 19
Evaluation
Evaluation Results
Table: Total buffer requirement and throughput for each method
Buffer Requirement Throughput (s−1)
Periodic Task Set 2273 16013
DRT Task Set 2155 17596
Improvement 5% 9.8%
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 18 / 19
Conclusion
Conclusion
Using a more general task modelMore flexibilityLarger state-space
DRTperiodic
Schedulable Data Flows
Linear approximation
Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 19 / 19
Modeling and Analysis of Data Flow Graphsusing the Digraph Real-Time Task Model
Morteza Mohaqeqi, Jakaria Abdullah, and Wang Yi
Uppsala University
Ada-Europe 2016
Thanks!