modeling and analysis of printer data paths using synchronous data flow graphs in octopus
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 PresentationTRANSCRIPT
![Page 1: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/3.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/6.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/10.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/13.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/19.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/22.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/24.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/26.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/32.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/39.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/41.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/43.jpg)
Questions/ Feedback
![Page 44: Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus](https://reader036.vdocuments.us/reader036/viewer/2022062323/568160e3550346895dd01545/html5/thumbnails/44.jpg)
Thank you
44