Modeling and Analysis of Data Flow Graphs using the Digraph - - PowerPoint PPT Presentation

modeling and analysis of data flow graphs using the
SMART_READER_LITE
LIVE PREVIEW

Modeling and Analysis of Data Flow Graphs using the Digraph - - PowerPoint PPT Presentation

Modeling and Analysis of Data Flow Graphs using the Digraph Real-Time Task Model Morteza Mohaqeqi, Jakaria Abdullah, and Wang Yi Uppsala University Ada-Europe 2016 Overview Introduction Data Flow Graphs: [ 1 , 3 ] [ 2 ] Signal processing a


slide-1
SLIDE 1

Modeling and Analysis of Data Flow Graphs using the Digraph Real-Time Task Model

Morteza Mohaqeqi, Jakaria Abdullah, and Wang Yi

Uppsala University

Ada-Europe 2016

slide-2
SLIDE 2

Overview

Introduction

Data Flow Graphs: Signal processing Stream processing Data dependency

a b [1, 3] [2] [1, 1, 4] [2]

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 1 / 19

slide-3
SLIDE 3

Overview

Introduction

Data Flow Graphs: Signal processing Stream processing Data dependency

a b [1, 3] [2] [1, 1, 4] [2]

Design Objectives Throughput maximization Design Constraints Buffer overflow/underflow avoidance Schedulability

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 1 / 19

slide-4
SLIDE 4

Overview

An Overview

A Set of Data Flow Graphs Processor

Schedule

A Set of Data Flow Graphs

Transform

Real-Time Tasks Processor

Schedule

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19

The Problem: Our Approach:

slide-5
SLIDE 5

Overview

An Overview

A Set of Data Flow Graphs Processor

Schedule

A Set of Data Flow Graphs

Transform

Real-Time Tasks Processor

Schedule

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19

The Problem: Our Approach:

slide-6
SLIDE 6

Overview

An Overview

A Set of Data Flow Graphs Processor

Schedule

A Set of Data Flow Graphs

Transform

Real-Time Tasks Periodic Processor

Schedule

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19

The Problem: Our Approach:

slide-7
SLIDE 7

Overview

An Overview

A Set of Data Flow Graphs Processor

Schedule

A Set of Data Flow Graphs

Transform

Real-Time Tasks Digraph RT Processor

Schedule

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19

The Problem: Our Approach:

slide-8
SLIDE 8

Overview

Previous Work

a b

periodic

task

periodic

task

DRT periodic periodic

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

slide-9
SLIDE 9

Overview

Previous Work

a b

periodic

task

periodic

task

DRT periodic periodic

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

slide-10
SLIDE 10

Outline

1

Introduction

2

Method

3

Evaluation

4

Conclusion

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 4 / 19

slide-11
SLIDE 11

Introduction

(Static) Data Flow Graphs

Synchronous Data Flow

a b [2] [1]

Fixed token production (consumption) rate Fixed execution time Cyclo-Static Data Flow

a b [1, 3] [2] [1, 1, 4] [2]

Variable token production (consumption) rate Variable execution time

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 5 / 19

slide-12
SLIDE 12

Introduction

Semantics

Empty buffer a b [2] [1] size = 2

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19

slide-13
SLIDE 13

Introduction

Semantics

Empty buffer ’a’ can be fired a b [2] [1] size = 2 a

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19

slide-14
SLIDE 14

Introduction

Semantics

Full buffer a b [2] [1] size = 2

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19

slide-15
SLIDE 15

Introduction

Semantics

Full buffer ’a’ cannot be fired ’b’ can be fired a b [2] [1] size = 2 b

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19

slide-16
SLIDE 16

Introduction

Semantics

’a’ cannot be fired ’b’ can be fired a b [2] [1] size = 2 b

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19

slide-17
SLIDE 17

Introduction

Semantics

Empty buffer ’a’ can be fired a b [2] [1] size = 2 a

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19

slide-18
SLIDE 18

Introduction

Constraints

Design Constraints Underflow/overflow avoidance Schedulability

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 7 / 19

slide-19
SLIDE 19

Introduction

Underflow and Overflow

Underflow avoidance a b

[2] [1] t Ta t

5 10

Tb Cannot be fired

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19

slide-20
SLIDE 20

Introduction

Underflow and Overflow

Underflow avoidance a b

[2] [1] t Ta t

5 10

Tb

  • ffset

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19

slide-21
SLIDE 21

Introduction

Underflow and Overflow

Produce token as soon as possible Consume token as late as possible a b

[2] [1] t Ta t

5 10

Tb

  • ffset

t

5 10 tokens

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19

slide-22
SLIDE 22

Introduction

Underflow and Overflow

Produce token as soon as possible Consume token as late as possible a b

[2] [1] t Ta t

5 10

Tb

  • ffset

t

5 10 tokens

buffer size=5 no overflow

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19

slide-23
SLIDE 23

Introduction

Constraints

Design Constraints Underflow/overflow avoidance

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19

slide-24
SLIDE 24

Introduction

Constraints

Design Constraints Underflow/overflow avoidance Schedulability

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19

slide-25
SLIDE 25

Introduction

Constraints

Design Constraints Underflow/overflow avoidance Schedulability a b

[2] [1]

t Ta t 5 10 Tb

  • ffset

Ca = 2 Cb = 2

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19

slide-26
SLIDE 26

Introduction

Constraints

Design Constraints Underflow/overflow avoidance Schedulability a b

[2] [1]

t Ta t 5 10 Tb

  • ffset

Ca = 2 Cb = 2

Unschedulable!

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19

slide-27
SLIDE 27

Introduction

Constraints

Design Constraints Underflow/overflow avoidance Schedulability a b

[2] [1]

t Ta t 5 10 Tb

  • ffset

Ca = 2 Cb = 2 Larger Periods Lower Throughput

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19

slide-28
SLIDE 28

Introduction

The Problem

Design Parameters Periods Offsets Constraints No underflow No overflow Schedulability Objective Throughput maximization

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 10 / 19

slide-29
SLIDE 29

Introduction

Cyclo-Static Data Flow Graphs

Repeating pattern a b

[10, 10, 0, 0] [5, 5, 5, 5]

t Ta t

5 10 15

Tb

5 5 5 5 5 5 5 5 10 10 10 10 10 10

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19

slide-30
SLIDE 30

Introduction

Cyclo-Static Data Flow Graphs

Repeating pattern a b

[10, 10, 0, 0] [5, 5, 5, 5]

t Ta t

5 10 15

Tb

5 5 5 5 5 5 5 5 10 10 10 10 10 10

size=25 t

5 10 15 tokens

5 10 15 20 25 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19

slide-31
SLIDE 31

Introduction

Cyclo-Static Data Flow Graphs

Repeating pattern a b

[10, 10, 0, 0] [5, 5, 5, 5]

t Ta t

5 10 15

Tb

5 5 5 5 5 5 5 5 10 10 0 0 10 10 0 0 10

deadline Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19

slide-32
SLIDE 32

Introduction

Cyclo-Static Data Flow Graphs

Repeating pattern a b

[10, 10, 0, 0] [5, 5, 5, 5]

t Ta t

5 10 15

Tb

5 5 5 5 5 5 5 5 10 10 0 0 10 10 0 0 10

deadline

t

5 10 15 tokens

5 10 15 20 25

size=20

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19

slide-33
SLIDE 33

Introduction

We need a non-periodic task model

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 12 / 19

slide-34
SLIDE 34

Introduction

Scheduling Data Flow Graphs

Synchronous Data Flow Fixed behavior Periodically repeating a b [2] [1]

t

4 8 12

t

4 8 12

Ta Tb

  • ffset

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19

slide-35
SLIDE 35

Introduction

Scheduling Data Flow Graphs

Synchronous Data Flow Fixed behavior Periodically repeating a b [2] [1]

t

4 8 12

t

4 8 12

Ta Tb

  • ffset

Cyclo-Static Data Flow Changing behavior Repeating pattern

a b [1, 3] [2] [1, 1, 4] [2]

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19

slide-36
SLIDE 36

Introduction

Scheduling Data Flow Graphs

Synchronous Data Flow Fixed behavior Periodically repeating a b [2] [1]

t

4 8 12

t

4 8 12

Ta Tb

  • ffset

Cyclo-Static Data Flow Changing behavior Repeating 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

slide-37
SLIDE 37

Introduction

The Digraph Real-Time (DRT) Task Model

A graph-based representation Different job types

v1 v2 v3 2, 5 1, 3 1, 6 8 10 5 10 8

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 14 / 19

slide-38
SLIDE 38

Introduction

The Digraph Real-Time (DRT) Task Model

A graph-based representation Different job types

v1 v2 v3 2, 5 1, 3 1, 6 8 10 5 10 8

t 5 10 15 20 v1 v2 v3 v1 v1 v2 v3 v1

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 14 / 19

slide-39
SLIDE 39

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 p1 p2 p3 p4 p5

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 15 / 19

slide-40
SLIDE 40

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 p1 p2 p3 p4 p5

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 15 / 19

slide-41
SLIDE 41

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 p1 p2

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 16 / 19

slide-42
SLIDE 42

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 p1 p2

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 16 / 19

slide-43
SLIDE 43

Evaluation

Obtained DRT tasks

v0 v1 v2 v3 v4 v5 0, 0 670, 5366 2700, 21624 720, 5766 2700, 21624 720, 5766 5366 21624 5766 21624 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

slide-44
SLIDE 44

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

slide-45
SLIDE 45

Conclusion

Conclusion

Using a more general task model

More flexibility Larger state-space

DRT periodic Schedulable Data Flows

Linear approximation

Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 19 / 19

slide-46
SLIDE 46

Modeling and Analysis of Data Flow Graphs using the Digraph Real-Time Task Model

Morteza Mohaqeqi, Jakaria Abdullah, and Wang Yi

Uppsala University

Ada-Europe 2016

Thanks!