Gabor Madl1, Nikil Dutt1, Sherif Abdelwahed2

Slides:



Advertisements
Similar presentations
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Advertisements

The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
Timed Automata.
Model Checker In-The-Loop Flavio Lerda, Edmund M. Clarke Computer Science Department Jim Kapinski, Bruce H. Krogh Electrical & Computer Engineering MURI.
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
Lab Meeting Performance Analysis of Distributed Embedded Systems Lothar Thiele and Ernesto Wandeler Presented by Alex Cameron 17 th August, 2012.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Embedded and Real Time Systems Lecture #4 David Andrews
Models of Computation for Embedded System Design Alvise Bonivento.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
Model-based Analysis of Distributed Real-time Embedded System Composition Gabor Madl Sherif Abdelwahed
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Influence of different system abstractions on the performance analysis.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Timing and Race Condition Verification of Real-time Systems Yann–Hang Lee, Gerald Gannod, and Karam Chatha Dept. of Computer Science and Eng. Arizona State.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Survey on Trace Analyzer (2) Hong, Shin /34Survey on Trace Analyzer (2) KAIST.
Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
1 Presented By: Michael Bieniek. Embedded systems are increasingly using chip multiprocessors (CMPs) due to their low power and high performance capabilities.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
Control of Dynamic Discrete-Event Systems Lenko Grigorov Master’s Thesis, QU supervisor: Dr. Karen Rudie.
Embedded System Scheduling
Marilyn Wolf1 With contributions from:
CHaRy Software Synthesis for Hard Real-Time Systems
WoPANets: Decision-support Tool for real-time Networks Design
Klara Nahrstedt Spring 2009
OPERATING SYSTEMS CS 3502 Fall 2017
Jacob R. Lorch Microsoft Research
ADVANTAGES OF SIMULATION
Instructor: Rajeev Alur
Event Relation Graphs and Extensions in Ptolemy II
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
Chapter 6: CPU Scheduling
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Composing Time- and Event-driven Distributed Real-time Systems
Formal Performance Evaluation of AMBA-based System-on-Chip Designs
Gabor Madl Nikil Dutt Domain-specific Modeling of Power Aware Distributed Real-time Embedded Systems Gabor Madl
Computer Simulation of Networks
The Extensible Tool-chain for Evaluation of Architectural Models
CPSC 531: System Modeling and Simulation
CSCI1600: Embedded and Real Time Software
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
CPU Scheduling G.Anuradha
COT 5611 Operating Systems Design Principles Spring 2012
Logical architecture refinement
Model Checking for an Executable Subset of UML
P. Poplavko, D. Socci, R. Kahil, M. Bozga, S. Bensalem
Multiple Aspect Modeling of the Synchronous Language Signal
An explicit state model checker
Linköping University, IDA, ESLAB
Presented By: Darlene Banta
CSCI1600: Embedded and Real Time Software
COT 5611 Operating Systems Design Principles Spring 2014
Presentation transcript:

Performance Estimation of Distributed Real-time Embedded Systems by Discrete Event Simulations Gabor Madl1, Nikil Dutt1, Sherif Abdelwahed2 1 University of California, Irvine 2 Mississippi State University {gabe, dutt}@ics.uci.edu, sherif@ece.msstate.edu EMSOFT 2007 November 9, 2018

Outline November 9, 2018 Motivation Modeling DRE systems Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Outline Motivation Distributed Real-time Embedded (DRE) systems Need to combine various analysis methods for performance estimation Modeling DRE systems Formal performance estimation Branching intervals, race conditions Event order tree Real-time Verification On-the-fly construction of the event order tree Evaluation Comparison with random simulations Comparison with timed automata model checking November 9, 2018

Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation DRE Systems Distributed real-time embedded (DRE) systems are often reactive and event-driven Better latency than in synchronous/time-triggered systems Easier to implement, no need for global synchronization Computations are driven by events – complex model Asynchrony, concurrency, race conditions Hard to predict all behaviors Performance estimation is a key challenge Task execution times Communication delays Degree of parallelism Throughput November 9, 2018

Static Analysis Methods Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Static Analysis Methods Classical scheduling theory [Liu, Layland 1973] Symta/S [Henia et al. 2005] Application of heterogeneous scheduling methods for component-based systems Modular Performance Analysis [Wandeler et al. 2006] Application of real-time calculus for performance estimation Synchronous languages [Benveniste et al. 2003] Alternative approach for defining real-time constraints in globally synchronous systems with deterministic concurrency Giotto [Henzinger et al. 2003] Time-triggered language for schedulability analysis using the concept of logical execution time November 9, 2018

Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Simulations Several variations used by the industry (e.g. RTL languages, SystemC, etc.) Various abstraction levels trade off performance and accuracy Ptolemy II [Lee et al. 2001] Complex framework for the heterogeneous modeling of embedded systems Focuses on non-deterministic systems Simulation-based performance estimation method for MPSoCs [Lahiri et al. 2001] Execution traces represented as symbolic graphs Analysis is based on simulations of the symbolic model November 9, 2018

Model Checking November 9, 2018 Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Model Checking Task timed automata [Ericsson et al. 1999] Approach for deciding non-preemptive schedulability of asynchronous event-driven task graphs Task-level analysis of DRE systems [Madl et al. 2004, 2005, 2006] Extends task timed automata with event channels, schedulers, to model distributed real-time embedded systems Thread-level analysis of real-time middleware using timed automata [Subramonian et al. 2006] Detailed analysis of middleware services Low-level abstraction November 9, 2018

Evaluation of Existing Methods Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Evaluation of Existing Methods Static analysis methods Often assume independent, periodic tasks Cannot capture dynamic effects such as race conditions Simulations Can show the presence of an error, never its absence Ad-hoc, hard to measure coverage Limited design space exploration Model checking State space explosion problem No partial results Time consuming and costly Each method has its advantage and disadvantage November 9, 2018

Need to Combine Methods Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Need to Combine Methods Providing formal guarantees on real-time properties is often infeasible in distributed asynchronous systems Combine simulations and model checking to increase the coverage of simulations Need to capture dynamic effects for accurate performance estimation Race conditions, non-deterministic execution times, arbitration etc. Need to capture execution intervals in continuous time as non-wcet deadline misses are possible in distributed asynchronous systems November 9, 2018

Model-based Design and Analysis Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Model-based Design and Analysis The domain-specific model (DSM) captures key properties of the design The DSM is mapped to a formal executable model, that drives the real-time verification and performance estimation The formal executable model can be mapped to heterogeneous models of computation (MoC) The same formal model is used for both performance estimation and real-time verification Parameters obtained by simulations November 9, 2018

Model for Real-time Systems Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Model for Real-time Systems DRE = {T, M, C, TR, D} T is the set of tasks M is the set of machines C is the set of channels C  T TR is the set of timers TR  T D is the task dependency relationship D  T  T machine(tk): T  M Tasks’ execution interval given by [bcet, wcet] Channels are special tasks that model FIFO buffers and delays Deadlines defined for tasks Timers trigger execution of tasks periodically November 9, 2018

Events November 9, 2018 DRE MoC is a continuous-time extension of DES Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Events DRE MoC is a continuous-time extension of DES Can be mapped to timed automata Event labels are time-stamped values from the domain of non-negative real numbers Global time During simulation, “jump” to event with the smallest timestamp The tasks’ execution time is defined as a constraint between the timestamps of its input and output events Tasks, channels, timers compose using events Event flow follows dependencies November 9, 2018

Task States, Schedulers Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Task States, Schedulers Abstract model for scheduling Fixed priority scheduler composes with tasks using events Scheduler triggers transition from wait to run state Channels are not triggered by scheduler Scheduling policy is defined as priorities between transitions Non-preemptive scheduling November 9, 2018

Performance Estimation Problem Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Performance Estimation Problem A run or execution trace of the DRE model is the chronological sequence of events occurred in the model In the DRE MoC two execution traces are equivalent, if they contain the same events, and the chronological order of the events is the same We define the end-to-end computation time between two events as the maximum possible difference between those events along all the possible runs of the model DRE model implies a partial ordering on events Enumerate equivalent execution traces to obtain end-to-end computation time November 9, 2018

Branching Intervals November 9, 2018 Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Branching Intervals In the examples below, total orderings are as follows: iA,oA,iB,oB,iC,oC and iA,iC,oC,oA,iB,oB and iA,oA,iB,iC,oB,oC Scheduler events omitted to keep the example simple More total orderings are possible Total ordering of events implies time constraints on the execution intervals of tasks In the example shown in the left, A’s execution time has to be less than 3, otherwise oB will not happen before iC Anytime the order may change, the event order tree has to branch to capture these cases Branching Interval November 9, 2018

Race Conditions November 9, 2018 Race Condition Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Race Conditions If two tasks receive input events at the same time from tasks that are assigned to different machine, race conditions may be present In the example shown on the right, there can be a race condition between task_C and task_D Task_B and task_E are assigned to different machines Race conditions can affect the total ordering of events This problem may result in priority inversion Race Condition November 9, 2018

Event Order Tree November 9, 2018 Branching Points Race Conditions Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Event Order Tree Combination of branching intervals and race conditions are interesting corner cases Extremely hard to find by simulations Branching Points Race Conditions November 9, 2018

Real-time Verification by DES Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Real-time Verification by DES Event order tree provides a way for the real-time verification of a large class of DRE models Proposed method is not guaranteed to terminate Restriction: the model has to return to the initial state Otherwise finite horizon analysis, or use timed automata If restriction above is satisfied, then the event order tree is repeatable; it repeats itself from all the leaves There are finite number of nodes in the tree One simulation only for equivalent execution traces Timers generate events at discrete time steps Each task generates finite number of output events for each input event November 9, 2018

On-the-fly Detection of Branching Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation On-the-fly Detection of Branching Both the performance estimation and real-time verification is based on the event order tree Event order tree can be extremely large; there is a need to obtain it on-the-fly We utilize a DFS-based exploration of the tree Based on repetitive simulations Memory use is not significant Each task detects its branching intervals during DES Generate all permutations of branching intervals November 9, 2018

Case Studies Used for Analysis Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Case Studies Used for Analysis Set of examples based on real-time CORBA avionics applications Software timers, asynchronous event propagation Thread pool policy follows the half-sync half-async pattern We have assumed non-preemptive scheduling for comparisons with other methods November 9, 2018

Compared to Model Checking Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Compared to Model Checking Model checking tailored to answer yes/no questions Is the execution time less than x? Storing timed states is a major contributor to memory use Checking for previously visited states is inefficient Realistic models are often too complex Exhaustive analysis infeasible – state space explosion problem Compared performance to UPPAAL and Verimag IF tool Timed automata model checkers faster in general On larger models they run out of memory Proposed method is CPU-bound – partial results when exhaustive analysis is infeasible (most of the time) Well suited for multicore/distributed implementation November 9, 2018

Compared to Random Simulations Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Compared to Random Simulations Random simulations often revisit the same total orderings of events, hard to find rare events Symbolic simulation model – faster than naïve simulations Simulation speed ~30ms for 100 tasks, ~1-5ms for 5-15 tasks DES-based method increases coverage over time Focuses on corner cases Branching intervals Race conditions Their combinations Improves the existing practice of the ad-hoc combination of directed simulations and random simulations for performance estimation November 9, 2018

DREAM Analysis Framework Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation DREAM Analysis Framework ALDERIS model GME tool Open-source DREAM Tool Automatic timed automata model generation for the UPPAAL and Verimag IF tools Simulation-based model checking Performance Estimation using DES Random testing Schedulability optimizations Verimag IF model checker ALDERIS model XML representation UPPAAL model checker http://dre.sourceforge.net November 9, 2018

Work in Progress & Future Work Outline Motivation Modeling Performance Estimation Real-time Verification Evaluation Work in Progress & Future Work DREAM was integrated in the Scenery project by Fujitsu Labs of America Analyze real-time properties in embedded software and SoCs Composing with other MoCs System-level performance estimation Wireless & multi-media case studies Looking for domain-specific modeling languages with large-scale DRE examples (hard to find) Possible optimizations by hierarchical model checking Distributing model checker algorithm to increase scalability Not the main focus at the moment November 9, 2018

Questions? EMSOFT 2007 November 9, 2018