Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
Parametric Throughput Analysis of Synchronous Data Flow Graphs
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Object-Oriented Analysis and Design
Introduction Designing cost-sensitive real-time control systems for safety-critical applications requires a careful analysis of the cost/fault-coverage.
Abhijit Davare 1, Qi Zhu 1, Marco Di Natale 2, Claudio Pinello 3, Sri Kanajan 2, Alberto Sangiovanni-Vincentelli 1 1 University of California, Berkeley.
1 Complexity of Network Synchronization Raeda Naamnieh.
Static Analysis of Embedded C Code John Regehr University of Utah Joint work with Nathan Cooprider.
Kaj Jørgensen, Aalborg University, Department of Production and Jørn Skauge, School of Architecture Aarhus, Department of Architectural Design Building.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Programming Languages Structure
On the Task Assignment Problem : Two New Efficient Heuristic Algorithms.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Pregel: A System for Large-Scale Graph Processing
Introduction 01_intro.ppt
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Design Space Exploration
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
INTRODUCTION TO COMPUTING CHAPTER NO. 06. Compilers and Language Translation Introduction The Compilation Process Phase 1 – Lexical Analysis Phase 2 –
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
David Weiss Software Product-Line Engineering: A Family-Based Software Development Process: Designing The Family David Weiss
Complexity of Algorithms
Dynamic Load Balancing in Charm++ Abhinav S Bhatele Parallel Programming Lab, UIUC.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Algorithms & Flowchart
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang.
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Run-time Adaptive on-chip Communication Scheme 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Monte-Carlo based Expertise A powerful Tool for System Evaluation & Optimization  Introduction  Features  System Performance.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Static Translation of Stream Program to a Parallel System S. M. Farhad The University of Sydney.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
BAHIR DAR UNIVERSITY Institute of technology Faculty of Computing Department of information technology Msc program Distributed Database Article Review.
OPERATING SYSTEMS CS 3502 Fall 2017
Hybrid BDD and All-SAT Method for Model Checking
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Dynamic Graph Partitioning Algorithm
From C to Elastic Circuits
Model Checking for an Executable Subset of UML
Introduction to locality sensitive approach to distributed systems
Dynamically Scheduled High-level Synthesis
Linköping University, IDA, ESLAB
Presented By: Darlene Banta
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Architecture
Presentation transcript:

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

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

Printer Data flow path scanner DF print process finisher paper trays Data path network Cost price Productivity (speed) Print image Quality Features design Time to market Image pipelines for different use cases Figure 1: Data flow in a printer at Océ Courtesy: Océ Technologies B.V 5

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 Platform Application 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 Octopus 9

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 Octopus 11

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 Platform Application 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 conditio n

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 DSEIR- 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 DSEIR  DSEIR-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 RASDF 1.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 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  SDF3  ResVis 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