1 Correct and efficient implementations of synchronous models on asynchronous execution platforms Stavros Tripakis UC Berkeley and Verimag EC^2 Workshop,

Slides:



Advertisements
Similar presentations
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Advertisements

Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Peter Marwedel TU Dortmund, Informatik 12 Germany
1 Real-Time Queueing Theory Presented by: John Lehoczky Carnegie Mellon SAMSI Workshop Congestion Control and Heavy Traffic.
Modelos de Computação Básicos Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
ES Seminar1 Communicating Transaction Processes P.S. Thiagarajan National University of Singapore Joint Work with: Abhik Roychoudhury; ……
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
The Synchronous Model of Computation Stavros Tripakis UC Berkeley EE 249 Lecture – Sep 15, 2009 CE 290I Lecture – Oct 22, 2009.
Digital System Design Verilog ® HDL Behavioral Modeling (3) Maziar Goudarzi.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Heterogeneous Reactive System Modeling and Correct-by-Construction Deployment nov Luca Carloni UC Berkeley Alberto Sangiovanni-Vincentelli UC Berkeley.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
I MPLEMENTING S YNCHRONOUS M ODELS ON L OOSELY T IME T RIGGERED A RCHITECTURES Discussed by Alberto Puggelli.
2/11/2010 BEARS 2010 On PTIDES Programming Model John Eidson Jeff C. Jensen Edward A. Lee Slobodan Matic Jia Zou PtidyOS.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
CS 267 Spring 2008 Horst Simon UC Berkeley May 15, 2008 Code Generation Framework for Process Network Models onto Parallel Platforms Man-Kit Leung, Isaac.
The Case for Precision Timed (PRET) Machines Edward A. Lee Professor, Chair of EECS UC Berkeley With thanks to Stephen Edwards, Columbia University. National.
1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Partial Order Reduction for Scalable Testing of SystemC TLM Designs Sudipta Kundu, University of California, San Diego Malay Ganai, NEC Laboratories America.
Models of Computation for Embedded System Design Alvise Bonivento.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
Concurrency and Software Transactional Memories Satnam Singh, Microsoft Faculty Summit 2005.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2009 Dataflow.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
A Platform-based Design Flow for Kahn Process Networks Abhijit Davare Qi Zhu December 10, 2004.
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
Embedded Software: Leveraging Concurrent Models of Computation Edward A. Lee Professor, UC Berkeley Center for Hybrid and Embedded Software Systems (CHESS)
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
BRASS Analysis of QuasiStatic Scheduling Techniques in a Virtualized Reconfigurable Machine Yury Markovskiy, Eylon Caspi, Randy Huang, Joseph Yeh, Michael.
How can CPS education provide what the industry needs? Jyotirmoy Deshmukh Toyota Technical Center, Los Angeles.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology High-level Specification and Efficient Implementation.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
Models for Deterministic Execution of Real-time Multiprocessor Applications Peter Poplavko, Dario Socci, Paraskevas Bourgos, Saddek Bensalem, Marius Bozga.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Aravind Venkataraman. Topics of Discussion Real-time Computing Synchronous Programming Languages Real-time Operating Systems Real-time System Types Real-time.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Correct-by-construction asynchronous implementation of modular synchronous specifications Jacky Potop Benoît Caillaud Albert Benveniste IRISA, France.
Desynchronization and distributed deployment of synchronous systems Albert Benveniste – Inria 2002.
June 6, 2002Serguei A. Mokhov, 1 Salsa Theory Debrief 2 COMP346 - Operating Systems Tutorial 6 Edition 1.1, June 19, 2002.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Spring 2004.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Agenda  Quick Review  Finish Introduction  Java Threads.
Tools and Libraries for Manycore Computing Kathy Yelick U.C. Berkeley and LBNL.
EECE571R -- Harnessing Massively Parallel Processors ece
2. Specification and Modeling
Digital System Design Verilog ® HDL Scheduling Semantics Maziar Goudarzi.
Period Optimization for Hard Real-time Distributed Automotive Systems
Presentation for the CC meeting 24/1/02
P. Poplavko, D. Socci, R. Kahil, M. Bozga, S. Bensalem
Background and Motivation
COMP60621 Fundamentals of Parallel and Distributed Systems
ESE535: Electronic Design Automation
COMP60611 Fundamentals of Parallel and Distributed Systems
Presentation transcript:

1 Correct and efficient implementations of synchronous models on asynchronous execution platforms Stavros Tripakis UC Berkeley and Verimag EC^2 Workshop, Grenoble, June 2009

Some observations Concurrency => interleaving – C.f., synchronous systems (e.g., circuits) Concurrency => non-determinism – synchronous circuits are deterministic Concurrency => shared memory – C.f., data flow models Asynchronous concurrency (interleaving) => non-determinism – C.f., Kahn Process Networks 2 Threads have conquered the world, but …

What are the problems we (as a community) are trying to solve? Cope with concurrency… but what does it mean? What are the right execution platforms? – Which multicore architecture, memory model, … What are the right programming models? For which types of applications? How to map the latter to the former? – Correctly and efficiently! How to verify stuff? ± given, synchronous given, asynchronous focus 3

Synchronous vs. asynchronous concurrency Synchronous concurrency – Execution platforms: synchronous hardware – Programming models: Simulink, SCADE, synchronous languages (Esterel, Lustre, …), … Asynchronous concurrency – Execution platforms: many, including distributed platforms – Programming models: thread-based (often communicating by shared-memory) 4

Concurrency => non-determinism Most synchronous models are deterministic: synchronous hardware, Simulink, SCADE, most synchronous languages, … 5 Copyright The Mathworks Engine control model in Simulink

Concurrency => non-determinism Some asynchronous models are also deterministic, e.g.: – Kahn Process Networks: the sequence of values (stream) produced at each FIFO is the same independent of process interleaving 6

Our choice of programming model: synchronous Set of parallel processes, notion of global synchronous cycle – Simulink, SCADE, VHDL, Verilog, Lustre, Esterel, … Main advantages: – Determinism, no process interleaving: Easier to understand, easier to verify (less state explosion) Main objections: – “Synchrony is impossible/hard/too expensive to implement” – “This is especially true for distributed systems” “You need clock synchronization” – Practice seems to agree with this… Most available implementations of synchronous systems are either synchronous hardware, or centralized “read; compute; write;” control loops. – …but it is not quite true. 7

8 Semantics-preserving implementation of synchronous models Simulink single-processor single-task single-processor multi-task distributed, synchronous (TTA) … … distributed, asynchronous (KPN, LTTA,...) application execution platform design implementation

9 From synchronous models to asynchronous distributed implementations Joint work with Claudio Pinello, Cadence Alberto Sangiovanni-Vincentelli, UC Berkeley Albert Benveniste, IRISA (France) Paul Caspi, VERIMAG (France) Marco di Natale, SSSA (Italy) [IEEE Trans. Computers, Oct’08]

Implementation on asynchronous distributed platforms Asynchronous distributed platforms: – Many computers, each with a local clock No clock synchronization – Computers communicate using some network/protocol Don’t care which network, as long as finite FIFO queues (TCP) can be implemented on top synchronous model asynchronous platform with some communication network 10

Implementation on asynchronous distributed platforms synchronous model asynchronous platform with some communication network Intermediate layer: asynchronous processes communicating with finite FIFO queues 11

Implementation on asynchronous distributed platforms synchronous model Intermediate layer: asynchronous processes communicating with finite FIFO queues 12 This is like Kahn Process Networks with blocking write() when FIFO is full. FIFOs must be large enough to avoid deadlocks. => semantical (stream) preservation

Semantical preservation: proof Use old theories [1970s]: Marked graphs – Subclass of Petri Nets – Used to show FFP liveness (no deadlock) Kahn Process Networks – Used Kahn’s fundamental result: determinism – Streams do not depend on process interleaving 13

Performance analysis: worst-case logical-time throughput and latency 14 P1P2P1P2 WCLTT = 1/2 WCLTT = 1

15 From synchronous models to asynchronous multitask implementations Joint work with Paul Caspi, Norman Scaife, Christos Sofronis, VERIMAG [ACM Trans. Embed. Comp. Sys., Feb’08]

Implementation on centralized, multitasking platforms 16 Sync Single-processor Priority scheduling (fixed priority or EDF) scheduler T1T1 T2T2 T3T3 tasks Why multitasking and not single “real-compute-write” loop? For multi-rate models: – Multitask implementation schedulable, but single-task not schedulable

Implementation on centralized, multitasking platforms 17 Sync Single-processor Priority scheduling (fixed priority or EDF) scheduler T1T1 T2T2 T3T3 tasks Goal: semantical preservation

Implementation on centralized, multitasking platforms 18 Sync Single-processor Priority scheduling (fixed priority or EDF) scheduler T1T1 T2T2 T3T3 tasks - non-blocking (wait-free) - memory-optimal - semantics-preserving

Conclusions Concurrency => non-determinism Synchronous models are deterministic – easier to understand and verify Synchronous models can be implemented on a variety of asynchronous execution platforms, using non-trivial techniques: – Implementations are correct-by-construction – They are memory-optimal – Performance (throughput, latency, …) can be analyzed and optimized 19

Open questions For which applications is the synchronous programming model suitable? – Traditionally for control: avionics, automotive, … – Some recent works trying to apply it to multimedia/signal processing To what extent these methods apply to multicores? Are dataflow computers going to come back? 20