Models for Deterministic Execution of Real-time Multiprocessor Applications Peter Poplavko, Dario Socci, Paraskevas Bourgos, Saddek Bensalem, Marius Bozga.

Slides:



Advertisements
Similar presentations
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
Advertisements

Methods for Knowledge Based Controlling of Distributed Systems Saddek Bensalem, Marius Bozga, Susanne Graf, Doron Peled, Sophie Quinton.
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
SKELETON BASED PERFORMANCE PREDICTION ON SHARED NETWORKS Sukhdeep Sodhi Microsoft Corp Jaspal Subhlok University of Houston.
Sporadic Server Scheduling in Linux Theory vs. Practice Mark Stanovich Theodore Baker Andy Wang.
1 EE249 Scheduling. 2 EE249 What’s the problem? l Have some work to do –know subtasks l Have limited resources l Have some constraints to meet l Want.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Models of Computation for Embedded System Design Alvise Bonivento.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2009 Dataflow.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
BRASS Analysis of QuasiStatic Scheduling Techniques in a Virtualized Reconfigurable Machine Yury Markovskiy, Eylon Caspi, Randy Huang, Joseph Yeh, Michael.
1 Correct and efficient implementations of synchronous models on asynchronous execution platforms Stavros Tripakis UC Berkeley and Verimag EC^2 Workshop,
1 Real-Time Queueing Network Theory Presented by Akramul Azim Department of Electrical and Computer Engineering University of Waterloo, Canada John P.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
MobSched: An Optimizable Scheduler for Mobile Cloud Computing S. SindiaS. GaoB. Black A.LimV. D. AgrawalP. Agrawal Auburn University, Auburn, AL 45 th.
Efficient Scheduling of Heterogeneous Continuous Queries Mohamed A. Sharaf Panos K. Chrysanthis Alexandros Labrinidis Kirk Pruhs Advanced Data Management.
More Scheduling cs550 Operating Systems David Monismith.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
Orchestration by Approximation Mapping Stream Programs onto Multicore Architectures S. M. Farhad (University of Sydney) Joint work with Yousun Ko Bernd.
Task Scheduling By Dr. Amin Danial Asham.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
SIGAda, Atlanta, nov’05 1/20 Scheduling and Memory requirements analysis with AADL F. Singhoff, J. Legrand, L. Nana, L. Marcé University of Brest, France.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 31 – Multimedia OS (Part 1) Klara Nahrstedt Spring 2011.
ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Scheduling Policies and File Systems Operating Systems CS 550.
Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof.
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD Manifold Execution Model and System.
MROrder: Flexible Job Ordering Optimization for Online MapReduce Workloads School of Computer Engineering Nanyang Technological University 30 th Aug 2013.
Profile Guided Deployment of Stream Programs on Multicores S. M. Farhad The University of Sydney Joint work with Yousun Ko Bernd Burgstaller Bernhard Scholz.
Special Class on Real-Time Systems
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Chapter 3: Real-Time Scheduling and Schedulability Analysis Albert M. K. Cheng.
Orchestration by Approximation Mapping Stream Programs onto Multicore Architectures S. M. Farhad (University of Sydney) Joint work with Yousun Ko Bernd.
Tolerating Communication and Processor Failures in Distributed Real-Time Systems Hamoudi Kalla, Alain Girault and Yves Sorel Grenoble, November 13, 2003.
Static Process Scheduling
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
IThreads A Threading Library for Parallel Incremental Computation Pramod Bhatotia Pedro Fonseca, Björn Brandenburg (MPI-SWS) Umut Acar (CMU) Rodrigo Rodrigues.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Incremental Parallel and Distributed Systems Pramod Bhatotia MPI-SWS & Saarland University April 2015.
Marilyn Wolf1 With contributions from:
CHaRy Software Synthesis for Hard Real-Time Systems
Processes and Threads Processes and their scheduling
Wayne Wolf Dept. of EE Princeton University
Parallel Programming By J. H. Wang May 2, 2017.
2. Specification and Modeling
Event Relation Graphs and Extensions in Ptolemy II
From C to Elastic Circuits
Peter Poplavko, Saddek Bensalem, Marius Bozga
CSCI1600: Embedded and Real Time Software
P. Poplavko, D. Socci, R. Kahil, M. Bozga, S. Bensalem
Dynamically Scheduled High-level Synthesis
IDEA 2016 I nvestigating D ataflow in E mbedded computing
CPU SCHEDULING SIMULATION
Parallel Exact Stochastic Simulation in Biochemical Systems
Presentation transcript:

Models for Deterministic Execution of Real-time Multiprocessor Applications Peter Poplavko, Dario Socci, Paraskevas Bourgos, Saddek Bensalem, Marius Bozga VERIMAG lab (CNRS, University of Grenoble) Research supported by the European ICT Collaborative Project no (CERTAINTY) and no (ARROWHEAD).

I. Fixed Priority Process Networks - FPPN Motivation Model of computation KPN + synchronous events + priorities II. Approximately static subclass of FPPN Static scheduling Online scheduling policy Implementation and experiments Conclusions Models for Multiprocessor Applications Petro Poplavko / VERIMAG Grenoble111-Mar-15

Many industrial designs use fixed priority schedulability analysis tools, programming language support (ADA) and… deterministic communication Fixed Priority Process Networks Petro Poplavko / VERIMAG Grenoble211-Mar-15 ???? … under the condition of short enough execution times (not safe, but often holds for control apps) … valid restrictions on task set, e.g. Audsley’s approach for static task graphs [RTNS12]

Functionally deterministic models: Kahn process networks and dataflow streaming applications Synchronous languages reactive applications Fixed Priority Process Networks 11-Mar-15Petro Poplavko / VERIMAG Grenoble3 streaming + reactive? Reactive Process Networks (RPN) deterministic and timed behavior ? => add priorities and synchronous events

Functionally deterministic models: Kahn process networks and dataflow streaming applications Synchronous languages reactive applications Fixed Priority Process Networks 11-Mar-15Petro Poplavko / VERIMAG Grenoble4 FPPN is a combination streaming + reactive? Reactive Process Networks (RPN) deterministic and timed behavior ? => add priorities and synchronous events

Representative Example 11-Mar-15Petro Poplavko / VERIMAG Grenoble5 InputA 1 per 200ms FilterB 200ms CoefB ≤ 2 per 700ms functional priority (at each channel) FIFO sporadic process periodic process Input Channel FilterA 100ms OutputA 200ms NormA 200ms blackboard (shared variable) OutputB 100ms Output Channel 1 Output Channel 2 burst size and inter-arrival

FPPN: unexpected facts 11-Mar-15Petro Poplavko / VERIMAG Grenoble6

Relative order of execution 11-Mar-15Petro Poplavko / VERIMAG Grenoble7 precedence between communicating jobs: follow the arrival times simultaneous arrival => apply priority dynamically constructed precedence graph sporadic A sporadic B time A[1] (0,2000) A[2] (10,2010) B[1] (20,3020) B[3] (70,3070) A[3] (70,2070) B[2] (50,3050)

II. Approximately static FPPN 11-Mar-15Petro Poplavko / VERIMAG Grenoble8

FilterB[1] (0,200) OutputB[1] (0,100) InputA[1] (0,200) FilterA[1] (0,100) OutputA[1] (0,200) CoefB[1] (0,200) CoefB[2] (0,200) FilterA[2] (100,200) NormA[1] (0,200) OutputB[2] (100,200) p i [k i ] (A i, D i ) Restriction and static approximation 11-Mar-15Petro Poplavko / VERIMAG Grenoble9 FilterB 200ms CoefB ≤ 2 per700ms every sporadic process periodic server user period unique periodic “user” process

OutputB[1] M1M1 InputA[1]FilterA[1]OutputA[1] C O E F B [1] FilterA[2] OutputB[2] 100 ms -arrival 0 arrival M2M2 FilterB[1] 11-Mar-15Petro Poplavko / VERIMAG Grenoble10 …can be scheduled by List Scheduling easy, fast but sub-optimal (work conserving) better heuristics: topological permutation [PRORISC2000] force-directed scheduling 200 ms cycle C O E F B [2] N o r m A [2]

11-Mar-15Petro Poplavko / VERIMAG Grenoble11 Online policy illustrated by Petri Net wait 0+cyc wait 100+cyc cyc:= cyc+200 OutputB[1] M1M1 InputA[1]FilterA[1]OutputA[1] C O E F B [1] FilterA[2] OutputB[2] 100 ms -arrival 0 arrival M2M2 FilterB[1] 200 ms cycle C O E F B [2] N o r m A [2]

11-Mar-15Petro Poplavko / VERIMAG Grenoble12 wait 0+cyc wait 100+cyc Online policy and sporadic jobs cyc:= cyc+200 wait 0+cyc sporadic jobs up to 2 jobs/ period -200+cyc 0+cyc periodic server: and tokens ; ; ;

Utilization metric? (0,200, 25) (0,100, 25) (0,200, 25) (0,100, 25) (0,200, 25) (0,200, 5) (100,200, 25)(0,200, 5) (100,200, 25) 11-Mar-15Petro Poplavko / VERIMAG Grenoble13 p i [k i ] (A i, D i, C i ) p i [k i ] (A* i, D* i, C i )

Implementation (public domain) 11-Mar-15Petro Poplavko / VERIMAG Grenoble14 Application (FPPN+C) Compile Application Compile Scheduling Static Schedule BIP Compiler Executable Application + Scheduler (BIP) BIP RTE

FFT2_0_1 generator FFT2_0_2 FFT2_0_3 FFT2_0_0 FFT2_1_1 FFT2_1_2 FFT2_1_3 FFT2_1_0 FFT2_2_1 FFT2_2_2 FFT2_2_3 FFT2_2_0 consumer 11-Mar-15Petro Poplavko / VERIMAG Grenoble15 Case Study1: FFT Transform Kalray MPPA 256 Platform Load* = 93%  120 % (with RT overhead)

11-Mar-15Petro Poplavko / VERIMAG Grenoble16 Case Study1: FFT Transform (on 2 cores) RT overhead

17 SensorInput 200ms AnemoConfig 2 per200ms GPSConfig 2 per200ms IRSConfig 2 per200ms DopplerConfig 2 per200ms HighFreqBCP 200ms LowFreqBCP 5000ms MagnDeclin 1600ms BCPConfig 2 per200ms Performance 1000ms MagnDeclinConfig 5 per1600ms PerformanceConfig 5 per1000ms AnemoData GPSData IRSData DopplerData PerformanceData BCP Data RM relative priority 11-Mar-15Petro Poplavko / VERIMAG Grenoble17 Flight Management System (Thales)

18 11-Mar-15Petro Poplavko / VERIMAG Grenoble18 Flight Management System (Thales) Linux Intel i7 3.6 GHz platform Static task graph: 812 nodes, 1977 edges Load* = 23%

19 11-Mar-15Petro Poplavko / VERIMAG Grenoble19 Related work FPPN combines certain concepts of synchronous and streaming languages - PRELUDE-SCHEDMCORE synchronous language and multi-core scheduling - OIL – streaming language with timing constraints - Algorithms for scheduling task graph for synchronous systems - Reactive Process Networks

20 11-Mar-15Petro Poplavko / VERIMAG Grenoble20 Conclusions FPPN – model of computation for reactive + streaming applications Generalizing the determinism of uniprocessor fixed- priority systems to multi-processors Approximately static subclass: task graph derivation scheduling algorithm scheduling policy and utilization metric two use cases

Thank you! 11-Mar-15Petro Poplavko / VERIMAG Grenoble21 InputA 200ms FilterB 200ms CoefB 2 per700ms OutputB 100ms functional priority (at each channel) FIFO spradic process periodic process Input Channel Output Channel 1