modeling and analysis of printer data paths using synchronous data flow graphs in octopus ashwini...
TRANSCRIPT
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
Outline of the presentation
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
2
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
3
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
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
contrastenhancement
print enginecorrections,halftoning
Figure 1: Data flow in a printer at Océ Courtesy: Océ Technologies B.V5
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
6
Octopus
• Early design decisions• Design Space Exploration• Model driven approach• Y- chart methodology
PlatformApplication
Mapping
Diagnostics
Analysis
Figure 2 : The Y- chart[1]
7
Octopus
8
Figure 3a : Conceptual architecture of the integrated framework in Octopus
Octopus toolset
Figure 3b : Architecture of the toolset in Octopus9
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
10
Problem description
Figure 4 : Architecture of the toolset in Octopus11
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
• Introduction• Octopus• Problem Statement• Tools used
• DSEIR• RASDF• SDF3• ResVis
• Translation procedures• Issues with translation• Completed objectives• Planned objectives
13
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
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
Platform
• Resource• Name• Capacity• Speed• Type of service
Capacity
Name
Speed
Type of service
Figure 8 : Platform component in DSEIR
16
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
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
• Introduction• Octopus• Problem Statement• Tools used
• DSEIR• RASDF• SDF3• ResVis
• Translation procedures• Issues with translation• Completed objectives• Planned objectives
19
RASDF
• Resource Aware Synchronous Data flow graphs• Allow for design time analysis of multi processor
systems
Figure 12 : An example of SDF[3]
20
Example of a RASDF graph
Fig 13: Example of an RASDF graph
21
• Introduction• Octopus• Problem Statement• Tools used
• DSEIR• RASDF• SDF3• ResVis
• Translation procedures• Issues with translation• Completed objectives• Planned objectives
22
SDF3
• Simulation tool used to analyze RASDF/ SDF graphs.• Very fast throughput analysis• Generates simulation traces ResVis.
23
• Introduction• Octopus• Problem Statement• Tools used
• DSEIR• RASDF• SDF3• ResVis
• Translation procedures• Issues with translation• Completed objectives• Planned objectives
24
Trace file in ResVis
Figure 14: Visualization of SDF3 trace files
25
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
26
Approach used for translation
RASDF graph
RASDF graph
DSEIR-RASDFDSEIR-RASDF
DSEIR
Figure 15 : Translation methodolgy
27
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
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
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
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
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with DSEIRDSEIR-RASDF translation• Completed objectives• Planned objectives
32
Issues with DSEIR DSEIR-RASDF translation
1. SDF3: Very fast memory efficient conservative throughput
2. DSEIR is more expressive than RASDF1. Data dependent parameters
2. Variable load/ actor execution times
3. Data dependent choices
4. Data dependent loops
5. Variable production/consumption rates of data
6. Scheduling differences
33
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
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
Non monotone behavior
Figure 16: An example of RASDF
36
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
Th
rou
gh
pu
t
• Simulation traces
37
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
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
39
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
• Introduction• Octopus• Problem Statement• Tools used• Translation procedures• Issues with translation• Completed objectives• Planned objectives
41
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
Questions/ Feedback
Thank you
44