7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Cyber-Physical Systems: A Vision of the Future Edward A. Lee Robert S. Pepper Distinguished.

Slides:



Advertisements
Similar presentations
CS1104: Computer Organisation School of Computing National University of Singapore.
Advertisements

Department of Computer Science iGPU: Exception Support and Speculative Execution on GPUs Jaikrishnan Menon, Marc de Kruijf Karthikeyan Sankaralingam Vertical.
CYBER PHYSICAL SYSTEMS: DESIGN CHALLENGES Edward A. Lee Presented by : Nidal Al yamani 1.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier.
Overview of PTIDES Project
Timing Analysis of Embedded Software for Families of Microarchitectures Jan Reineke, UC Berkeley Edward A. Lee, UC Berkeley Representing Distributed Sense.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 Future Directions Edward A. Lee.
Building Unreliable Systems out of Reliable Components: The Real Time Story Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center.
8th Biennial Ptolemy Miniconference Berkeley, CA April 16, 2009 Precision Timed (PRET) Architecture Hiren D. Patel, Ben Lickly, Isaac Liu and Edward A.
Is Truly Real-Time Computing Becoming Unachievable? Edward A. Lee Robert S. Pepper Distinguished Professor and Chair of EECS, UC Berkeley Keynote Talk.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
Are “Embedded Systems" Just Systems Made with Small Computers? Chess: Center for Hybrid and Embedded Software Systems Invited Talk Artist International.
OPERATING SYSTEM OVERVIEW
The Case for Precision Timed (PRET) Machines Edward A. Lee Professor, Chair of EECS UC Berkeley With thanks to Stephen Edwards, Columbia University. National.
Building Unreliable Systems out of Reliable Components: The Real Time Story Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Seven Minute Madness: Reconfigurable Computing Dr. Jason D. Bakos.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
CIS 4930/6930 Principles of Cyber-Physical Systems Instructor: Hao Zheng.
CCSE251 Introduction to Computer Organization
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Architectures of distributed systems Fundamental Models
Tufts University School Of Engineering Tufts Wireless Laboratory TWL Direction Almir Davis 09/28/20091.
SJSU SPRING 2011 PARALLEL COMPUTING Parallel Computing CS 147: Computer Architecture Instructor: Professor Sin-Min Lee Spring 2011 By: Alice Cotti.
Chapter 2: A Brief History Object- Oriented Programming Presentation slides for Object-Oriented Programming by Yahya Garout KFUPM Information & Computer.
Levels of Abstraction Computer Organization. Level of Abstraction u Provides users with concepts/tools to solve problem at that level u Implementation.
By Edward A. Lee, J.Reineke, I.Liu, H.D.Patel, S.Kim
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
CSE 598c – Virtual Machines Survey Proposal: Improving Performance for the JVM Sandra Rueda.
Real-time aspects Bernhard Weirich Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time:
1  2004 Morgan Kaufmann Publishers Locality A principle that makes having a memory hierarchy a good idea If an item is referenced, temporal locality:
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
February 12, 2009 Center for Hybrid and Embedded Software Systems Timing-aware Exceptions for a Precision Timed (PRET)
Ptolemy Project Vision Edward A. Lee Robert S. Pepper Distinguished Professor Eighth Biennial Ptolemy Miniconference April 16, 2009 Berkeley, CA, USA.
Layers Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
February 11, 2016 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
The Structuring of Systems Using Upcalls By David D. Clark Presented by Samuel Moffatt.
Computer Organization and Architecture Lecture 1 : Introduction
CSC235 Computer Organization & Assembly Language
What Do Computers Do? A computer system is
Computer Organization
Stateless Combinational Logic and State Circuits
Introduction
A Precision Timed Architecture for Predictable and Repeatable Timing
Foundations of Computer Science
Programming Languages
Precision Timed Machine (PRET)
Hiren D. Patel Isaac Liu Ben Lickly Edward A. Lee
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Is Truly Real-Time Computing Becoming Unachievable?
Timing-aware Exceptions for a Precision Timed (PRET) Target
CS510 - Portland State University
An overview of the CHESS Center
Presentation transcript:

7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Cyber-Physical Systems: A Vision of the Future Edward A. Lee Robert S. Pepper Distinguished Professor and Chair of EECS, UC Berkeley

Lee, Berkeley 2Ptolemy Miniconference, February 13, 2007 Cyber Physical Systems CPS is the integration of physical systems dynamics with computation and networking. The challenge from the computation side: Correct execution of a C or Java program has nothing to do with how long it takes to do anything. All our computation and networking abstractions are built on this premise.

Lee, Berkeley 3Ptolemy Miniconference, February 13, 2007 Techniques that Exploit this Fact Programming languages Virtual memory Caches Dynamic dispatch Speculative execution Power management (voltage scaling) Memory management (garbage collection) Just-in-time (JIT) compilation Multitasking (threads and processes) Component technologies (OO design) Networking (TCP) …

Lee, Berkeley 4Ptolemy Miniconference, February 13, 2007 A Consequence If you care when things happen, you are out of luck.

Lee, Berkeley 5Ptolemy Miniconference, February 13, 2007 A Story In “fly by wire” aircraft, certification of the software is extremely expensive. Regrettably, it is not the software that is certified but the entire system. If a manufacturer expects to produce a plane for 50 years, it needs a 50- year stockpile of fly-by-wire components that are all made from the same mask set on the same production line. Even a slight change or “improvement” might affect timing and require the software to be re-certified.

Lee, Berkeley 6Ptolemy Miniconference, February 13, 2007 Abstraction Layers The purpose for an abstraction is to hide details of the implementation below and provide a platform for design from above.

Lee, Berkeley 7Ptolemy Miniconference, February 13, 2007 Abstraction Layers Every abstraction layer has failed for the aircraft designer. The design is the implementation.

Lee, Berkeley 8Ptolemy Miniconference, February 13, 2007 Abstraction Layers How about “raising the level of abstraction” to solve these problems?

Lee, Berkeley 9Ptolemy Miniconference, February 13, 2007 But these higher abstractions rely on an increasingly problematic fiction: WCET A war story: Ferdinand et al. determine the WCET of astonishingly simple avionics code from Airbus running on a Motorola ColdFire 5307, a pipelined CPU with a unified code and data cache. Despite the software consisting of a fixed set of non-interacting tasks containing only simple control structures, their solution required detailed modeling of the seven-stage pipeline and its precise interaction with the cache, generating a large integer linear programming problem. The technique successfully computes WCET, but only with many caveats that are increasingly rare in software. Fundamentally, the ISA of the processor has failed to provide an adequate abstraction. C. Ferdinand et al., “Reliable and precise WCET determination for a real-life processor.” EMSOFT 2001.

Lee, Berkeley 10Ptolemy Miniconference, February 13, 2007 The Key Problem Electronics technology delivers highly and precise timing… … and the overlaying software abstractions discard it.

Lee, Berkeley 11Ptolemy Miniconference, February 13, 2007 PRET Machines Make temporal behavior as important as logical function. Timing precision is easy to achieve if you are willing to forgo performance. Let’s not do that. Challenges: Memory hierarchy (scratchpads?) Deep pipelines (interleaving?) ISAs with timing (deadline instructions?) Predictable memory management (Metronome?) Languages with timing (Giotto?) Predictable concurrency (synchronous languages?) Composable timed components (actor-oriented?) Precision networks (TTA? Time synchronization?) Dynamic adaptibility (admission control?)

Lee, Berkeley 12Ptolemy Miniconference, February 13, 2007 Our Strategy Start with hardware designs on FPGAs Use soft cores Add precision-timing instructions Scale up from there Stephen Edwards (Columbia) has achieved software designs with ~40ns timing precision on simple soft cores. Source code is smaller and simpler than VHDL specification of comparable hardware. Ramp blue experimental platform, from the RAMP project. BEE 2, FPGA system, from BWRC

Lee, Berkeley 13Ptolemy Miniconference, February 13, 2007 Conclusion Real-time software has done amazingly well using the wrong foundational abstractions. Just think what we could do with the right ones!