Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

44
Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof. Dr. Twan Basten, Dr. Nikola Trčka

description

Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus. Ashwini Moily Under the supervision of Dr. Lou Somers, Prof. Dr. T wan Basten, Dr. Nikola Trčka . Outline of the presentation. Introduction Octopus Problem Statement Tools used - PowerPoint PPT Presentation

Transcript of Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Page 1: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Modeling and Analysis of Printer Data Paths using Synchronous Data Flow

Graphs in OctopusAshwini Moily

Under the supervision of Dr. Lou Somers, Prof. Dr. Twan Basten,

Dr. Nikola Trčka

Page 2: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Outline of the presentation

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

2

Page 3: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

3

Page 4: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Introduction

• Research is carried out at Océ and ESI• Part of the Octopus project• Joint collaboration between Océ, ESI and

several other Dutch academic research groups.

4

Octopus Toolset

Page 5: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Printer Data flow path

scanner

DF

print process

finisher

paper trays

Datapath

network

Cost price

Productivity(speed)

Print imageQuality

Features

design Time to market

• Image pipelines for different use cases

scannercorrections

resample,rotate,

histogramfiltering contrast

enhancement

print enginecorrections,halftoning

Figure 1: Data flow in a printer at Océ Courtesy: Océ Technologies B.V5

Page 6: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

6

Page 7: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Octopus

• Early design decisions• Design Space Exploration• Model driven approach• Y- chart methodology

PlatformApplication

Mapping

Diagnostics

Analysis

Figure 2 : The Y- chart[1]

7

Page 8: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Octopus

8

Figure 3a : Conceptual architecture of the integrated framework in Octopus

Page 9: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Octopus toolset

Figure 3b : Architecture of the toolset in Octopus9

Page 10: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

10

Page 11: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Problem description

Figure 4 : Architecture of the toolset in Octopus11

Page 12: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Problem Statement

RASDF graph

DSEIR model

• Conservative translation w.r.to throughput • Guaranteed worst-case throughput for the

given model

Figure 5 : Translation to be achieved

12

Page 13: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used

• DSEIR• RASDF• SDF3• ResVis

• Translation procedures• Issues with translation• Completed objectives• Planned objectives

13

Page 14: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

DSEIR

• Design Space Exploration Intermediate Representation

• Modeling language used to specify models• Components analogous to Y-chart:

• Application− Tasks− Loads / handovers

• Platform− Resources− Services

• Mapping− Schedulers− Priority

PlatformApplication

Mapping

Diagnostics

Analysis

Figure 6 : The Y- chart[1]

14

Page 15: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Application

Task

Port

Edge

Task parameters

Tokens

Task guards

Edge condition

Value sent over edge

Binding expression

Task name

Global variable

Figure 7 : Tasks and edges in DSEIR

15

Port condition

Page 16: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Platform

• Resource• Name• Capacity• Speed• Type of service

Capacity

Name

Speed

Type of service

Figure 8 : Platform component in DSEIR

16

Page 17: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Load/ handover

Figure 9 : Load perspective in DSEIR

Handover

Amount required

17

• Load : Amount of service required by a particular task• Handover : Amount of service handed over to the

subsequent task

Page 18: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Mapping

• Schedulers : Map services to resources• Priorities : For each task instance• Pre emption : Allowed

Fig 10 :Schedulers and resources for each service Fig 11: Schedulers and tasks with priorities

18

Page 19: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used

• DSEIR• RASDF• SDF3• ResVis

• Translation procedures• Issues with translation• Completed objectives• Planned objectives

19

Page 20: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

RASDF

• Resource Aware Synchronous Data flow graphs• Allow for design time analysis of multi processor

systems

Figure 12 : An example of SDF[3]

20

Page 21: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Example of a RASDF graph

Fig 13: Example of an RASDF graph

21

Page 22: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used

• DSEIR• RASDF• SDF3• ResVis

• Translation procedures• Issues with translation• Completed objectives• Planned objectives

22

Page 23: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

SDF3

• Simulation tool used to analyze RASDF/ SDF graphs.• Very fast throughput analysis• Generates simulation traces ResVis.

23

Page 24: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used

• DSEIR• RASDF• SDF3• ResVis

• Translation procedures• Issues with translation• Completed objectives• Planned objectives

24

Page 25: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Trace file in ResVis

Figure 14: Visualization of SDF3 trace files

25

Page 26: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

26

Page 27: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Approach used for translation

RASDF graph

DSEIR-RASDF

DSEIR

Figure 15 : Translation methodolgy

27

Page 28: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

DSEIR-RASDF

• Restrictive subset of DSEIR• 1:1 mapping to RASDF• Features

• Application− No edge, port or task condition− No token values− No parameters− No global variables

• Platform− Fixed values; no distributions

• Mapping− Non-preemption− Static priority− No expressions

28

Page 29: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

DSEIR-RASDF to RASDF

• Translation• Application

− Tasks Actors− Edges Channels− Ports Input ports− Tokens Rates

• Platform − Resources Resources

• Mapping− Schedulers (with task and resource information)

resource for each task − Priority priority

29

Page 30: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

RASDF to DSEIR-RASDF to RASDF

• Testing purposes• RASDF to DSEIR-RASDF

• Application− Actors Tasks− Edges Channels− Input ports Ports− Rates of ports tokens on ports

• Platform− Resource resources

• Mapping− Task + resources schedulers(Assumption : each task has an unique scheduler)

30

Page 31: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

RASDF to SDF3 to ResVis

• SDF3: Worst case guaranteed throughput for the DSEIR model

• Visualization of job traces with ResVis• RASDF SDF3 ResVis connection in

Octopus

31

Page 32: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with DSEIRDSEIR-RASDF translation• Completed objectives• Planned objectives

32

Page 33: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Issues with DSEIR DSEIR-RASDF translation

1. SDF3: Very fast memory efficient conservative throughput

2. DSEIR is more expressive than RASDF1. Data dependent parameters2. Variable load/ actor execution times3. Data dependent choices4. Data dependent loops5. Variable production/consumption rates of data6. Scheduling differences

33

Page 34: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Issues

• Data dependent parameters and variable load/ actor execution time• Solution:

− No data dependent values− MinMaxExtractor: extract range− Could lead to: non-monotone models

34

Page 35: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Non–monotone behavior

• Variable execution time of actors• Maximum execution time does not guarantee worst

case behavior• Detection of this behavior is extremely difficult

35

Page 36: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Non monotone behavior

Figure 16: An example of RASDF

36

Page 37: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Non monotone behavior

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.50.15

0.16

0.17

0.18

0.19

0.2

0.21

Actor B

Execution time

Thro

ughp

ut

• Simulation traces

37

Page 38: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Issues

• Data dependent choices• Selecting one among the choices OR• Executing all choices and comparing throughput

behavior

• Scheduling differences• Static non-preemptive scheduling

• Variable production/consumption rates of data• Worst case behavior

• Data dependent loops

38

Not yet solved

Page 39: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

39

Page 40: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Completed objectives

• DSEIR-RASDF RASDF SDF3• RASDF DSEIR-RASDF RASDF SDF3• DSEIR DSEIR-RASDF RASDF SDF3ResVis

translation that gives a set of models for varying execution times

• Verify the translation using the different use cases of the printers

• Use SDF3 to detect non-monotone behavior

40

Page 41: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives

41

Page 42: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Objectives that are yet to be realized

• Implement a smart algorithm that detects non monotone behavior using SDF3 without having to search the entire state space.

• Try to implement an algorithm that will detect non monotone behavior by static analysis of the DSEIR model (without using SDF3)

• Implement checks to detect the type of models that can or cannot be translated. Extend this further to accommodate more models.

• Create a plug-in that will read DSEIR models from the editor and directly produce the throughput behavior for the model.

42

Page 43: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Questions/ Feedback

Page 44: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus

Thank you

44