© 2006 Carnegie Mellon University Efficient Embedded Runtime Systems through Optimization of Port Communication Software Engineering Institute Carnegie.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

© 2006 Carnegie Mellon University Combining Predicate and Numeric Abstraction for Software Model Checking Software Engineering Institute Carnegie Mellon.
The Building Blocks: Send and Receive Operations
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Copyright © 1997 Carnegie Mellon University Introduction to the Personal Software Process - Lecture 1 1 Introduction to the Personal Software Process Lecture.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Introduction in algorithms and applications Introduction in algorithms and applications Parallel machines and architectures Parallel machines and architectures.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Component Technologies for Embedded Systems Johan Eker.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
SCORE - Stream Computations Organized for Reconfigurable Execution Eylon Caspi, Michael Chu, Randy Huang, Joseph Yeh, Yury Markovskiy Andre DeHon, John.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Input/Output Lecture #9 David Andrews
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Chapter 13 Embedded Systems
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 The Mathematics of Signal Processing - an Innovative Approach Peter Driessen Faculty of Engineering University of Victoria.
© 2004 by Carnegie Mellon University The Society of Automotive Engineers (SAE) Architecture Analysis & Design Language (AADL) Standard An International.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2009 Dataflow.
Performance Evaluation of a Multi-Threaded Distributed Telerobotic Framework Mayez Al-Mouhamed, Onur Toker, and Asif Iqbal College of Computer Science.
Asynchronous Message Passing EE 524/CS 561 Wanliang Ma 03/08/2000.
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
CprE 458/558: Real-Time Systems
A. Frank - P. Weisberg Operating Systems Introduction to Cooperating Processes.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Wireless Data Acquisition for SAE Car Project by: J.P. Haberkorn & Jon Trainor Advised by: Mr. Steven Gutschlag.
MAC-T IVV SAS_08_AADL_Tech_Gluch Model-Based Software Assurance with the SAE Architecture Analysis & Design Language (AADL) California Institute.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Composing Models of Computation in Kepler/Ptolemy II
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Dave Archer - CS533 - Spring On the Duality of Operating System Structures Hugh C. Lauer, Roger M. Needham.
John D. McGregor Module 3 Session 2 AADL
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
1 AADL Architectural Analysis and Design Language Jason Mowry UW-Platteville Undergraduate Software Engineering.
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 7: Wed 10/28/2009 (Compute.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated.
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.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-4 Process Communication Department of Computer Science and Software.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
1 Dealing with AADL End-to-end Flow Latency in UML MARTE AOSTE INRIA/I3S Sophia Antipolis, France S-Y. Lee, F. Mallet, R. de Simone.
CPSC 871 John D. McGregor Module 3 Session 2 AADL.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
ECE291 Computer Engineering II Lecture 15 Dr. Zbigniew Kalbarczyk University of Illinois at Urbana- Champaign.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What Operating Systems Do  Computer-System Organization  Computer-System Architecture  Operating-System Structure.
Integration Patterns in BizTalk Server 2004 Integration Patterns Explained What are integration patterns? What patterns does BizTalk Server 2004 provide.
Slide 1 Lecture 15 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
System Architecture Directions for Networked Sensors.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Agenda  Quick Review  Finish Introduction  Java Threads.
SOFTWARE DESIGN AND ARCHITECTURE
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Principles of Message-Passing Programming.
Parallel Programming By J. H. Wang May 2, 2017.
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Principles of Message-Passing Programming.
Indiana University, Bloomington
CS 584 Lecture 5 Assignment. Due NOW!!.
Prof. Onur Mutlu Carnegie Mellon University
Presentation transcript:

© 2006 Carnegie Mellon University Efficient Embedded Runtime Systems through Optimization of Port Communication Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Peter H Feiler April 2, 2008

2 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Outline The problem Buffer lifespan model Buffer optimization considerations Property preserving transformation

3 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Shared Variable Communication Navigation Sensor Processing Integrated Navigation Guidance Processing Flight Plan Processing Aircraft Performance Calculation 20Hz 10Hz 20Hz 5Hz 2Hz From other Partitions Periodic I/O 20Hz To other Partitions Shared data area Pr 1 Pr 2 Pr 3 Pr 4 Pr 6 Pr 9 Data flow determined by execution order of write & read Preemption and concurrency affect read/write order

4 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Non-Deterministic Sampling of Data Stream Example: Downsampling Desired sampling pattern 2X: n, n+2, n+4 (2,2,2,…) Worst-case sampling pattern: n, n+1, n+4 (1,3,…) Timeline Thread NavSensorProcessing Thread IntegratedNavigation NavSensor Processing Integrated Navigation 20Hz 10Hz Write Read

5 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Port-based AADL Model Navigation Sensor Processing Integrated Navigation Guidance Processing Flight Plan Processing Aircraft Performance Calculation 20Hz 10Hz 20Hz 5Hz 2Hz From Partitions To Partitions Fuel Flow Guidance Nav sensor data Nav signal data FP data Performance data Nav data Nav sensor data Nav data FP data Periodic I/O 20Hz Immediate and delayed data port connections for deterministic sampling Input-compute-output AADL thread semantics

6 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Outline The problem Buffer lifespan model Buffer optimization considerations Property preserving transformation

7 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University General Unqueued Port Buffer Model MS j MP j Producer Send MR j Xfer MP k Consumer/Producer MC j Receive MS k Send Consumer MC k MR k Xfer Receive MP: producer copy MS: send copy MR: receive copy MC: consumer copy Send/receive with or without copy Transfer with or without copy Processing with or without copy

8 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Message Streaming Lifespan Model MS i MP i Producer task Send MR i Xfer MP i+1 Send buffer MC i Receive MS i+1 Consumer task MC i+1 MR i+1 Receive buffer T P, M i+1 D P, M i+1 T C, M i D C, M i S Mi R Mi X Mi BE TXTX

9 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Message Lifespan Properties Message operation ordering condition S M i < X M i < R M i MP bounded by producer dispatches T P, M i  B MP i  E MP i = S M i  T P, M i+1 MC bounded by consumer dispatches T C, M i  R M i = B MC i  E MC i  T C, M i+1 MS bounded by sends and transfer S M i = B MS i  X * M i  E MS i < S M i+1 MR bounded by transfers and receive X ** M i  B MR i  E MR i = R *** M i < X M i+1 * Completion of transfer ** Start of transfer *** Latest of multiple receivers

10 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Outline The problem Buffer lifespan model Buffer optimization considerations Property preserving transformation

11 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Sequential Task Execution T P ; T C Collapse to single buffer MS MP i MR MC i MP i+1 MS MR MC i-1

12 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Overlapping Message Instances Overlapping message instance lifespan Send, transfer, or receive as copy operation Copy message between 2 buffers before B MP i+1 after E MC i-1 MS MP i MR MC i MP i+1 MS MR MC i-1

13 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Application-based Send and Receive (ASR) MP MR MC PP PP CC CC S&X R ASR/IMT  P -  P   C -  C    non-deterministic S/R T P   P  S   P  D P T C   C  R   C  D C  : actual execution start time  : actual completion time ASR

14 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Buffer Optimization Considerations Send and receive execution As part of application (ASR) As part of task dispatch/completion (DSR) Task execution order Concurrent:  C |  P Atomic non-deterministic:  C ≠  P Ordered:  C ;  P or  P ;  C Periodic & aperiodic task dispatch Message transfer Immediate to consumer (IMT) Direct to delayed consumer (DMT) Period-delayed to consumer (PMT)

15 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Consumer Before Producer  C ;  P consumer before producer:  C,j   P,j Non-preemption:  P,j -  P,j   C,j -  C,j =  Deterministic S/R for ASR & DSR ASR S j-1 < T j < R j < S j < T j+1 : S j = S M i  R j = R M i-1 IMT: S j-1 = X j-1 < T j < R j < S j = X j PMT: S j-1 < T j = X j < R j < S j < T j+1 = X j+1 DSR S j-1 = D P,j-1 < T j = R j < S j < T j+1 : S j = S M i  R j = R M i-1 IMT: S j-1 = D P,j-1 = X j-1 < T j = R j < S j = X j PMT: S j-1 < T j = X j = R j < S j < T j+1 = X j+1 Period delayed communication Single buffer

16 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Periodic Task Communication Summary Periodic Same period ASR IMT | PMT DSR IMT | PMT DMT  P ;  C MF:1BPD:2B S  X  R PD:2B R PD:2B S  X/R MF:1B  C ;  P PD:1B P  CP  C ND:1BPD:2B X PD:2B R PD:2B X/R ND:1B  P |  C ND:3B S/X C R C PD:2B X PD:2B R PD:2B X/R NDI:2B S/X/R C 1B: Single buffer 2B: Two buffers 3B: Three buffers 4B: Four buffers S, X, R : data copy S/X : IMT combined send/xfer S/X/R : DMT combined S, X, R X/R: DSR/PMT combined X, R o1  o2 : One operation copy MF: Mid-Frame PD: Period Delay ND: Non-Deterministic NDI: No Data Integrity

17 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University Outline The problem Buffer lifespan model Buffer optimization considerations Property preserving transformation

18 Port Communication Optimization Feiler, April 2008 © 2008 Carnegie Mellon University AADL Communication Semantics Input frozen at dispatch time Copy to input buffer at dispatch if required Data ports & periodic threads Immediate connection (DMT) Data driven execution or offset start time Delayed connection (DSR/PMT) Transfer by dispatch in runtime system Sampling ports Double buffer for concurrency or down-sampling to ensure data consistency during compute

Peter H Feiler