Architectural Support for Cyber-Physical Systems



Similar documents
Overview and History of Operating Systems

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Parallel, Concurrent, and Distributed Software in Cyber-Physical Systems

Computer Organization and Components

7a. System-on-chip design and prototyping platforms

Real-Time Systems Hermann Härtig Real-Time Communication (following Kopetz, Liu, Schönberg, Löser)

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Evaluation Form Technical Review Paper. Team Members: Michael Fojas, Katrina Kumm, Nick Migliaccio, Mark Peterson,

SIP Protocol as a Communication Bus to Control Embedded Devices

SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: wireless embedded network

Substation Automation Systems. Nicholas Honeth

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

Kirchhoff Institute for Physics Heidelberg

ELEC 5260/6260/6266 Embedded Computing Systems

Computer Systems Structure Input/Output

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

How to Perform Real-Time Processing on the Raspberry Pi. Steven Doran SCALE 13X

Chapter 13 Embedded Operating Systems

From Control Loops to Software

Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin

Open Flow Controller and Switch Datasheet

CGI-based applications for distributed embedded systems for monitoring temperature and humidity

Software engineering for real-time systems

What is a System on a Chip?

Price/performance Modern Memory Hierarchy

Building Blocks for PRU Development

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

Reconfigurable System-on-Chip Design

Microcontroller-based experiments for a control systems course in electrical engineering technology

NI Platform for automotive measurement and test applications

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

I/O. Input/Output. Types of devices. Interface. Computer hardware

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Palaparthi.Jagadeesh Chand. Associate Professor in ECE Department, Nimra Institute of Science & Technology, Vijayawada, A.P.

STM32 F-2 series High-performance Cortex-M3 MCUs

Computer Automation Techniques. Arthur Carroll

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Contents. Chapter 1. Introduction

KEEP IT SYNPLE STUPID

1. Memory technology & Hierarchy

Computer and Set of Robots

State-Machine Replication

Input / Ouput devices. I/O Chapter 8. Goals & Constraints. Measures of Performance. Anatomy of a Disk Drive. Introduction - 8.1

VtRES Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group

Which ARM Cortex Core Is Right for Your Application: A, R or M?

Smart Home System Using Android Application

PFP Technology White Paper

evm Virtualization Platform for Windows

Embedded & Real-time Operating Systems

HMS Industrial Networks

Vehicle data acquisition using CAN By Henning Olsson, OptimumG

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Networking Virtualization Using FPGAs

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

Lecture 25 Symbian OS

AMC13 T1 Rev 2 Preliminary Design Review. E. Hazen Boston University E. Hazen - AMC13 T1 V2 1

Security Overview of the Integrity Virtual Machines Architecture

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

Model-based system-on-chip design on Altera and Xilinx platforms

A Scalable VISC Processor Platform for Modern Client and Cloud Workloads

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Real Time Programming: Concepts

System Software and TinyAUTOSAR

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Software Defined Networking

UNDERGRADUATE DEGREE PROGRAMME IN INDUSTRIAL ELECTRONICS AND AUTOMATION ENGINEERING SCHOOL OF INDUSTRIAL ENGINEERING. ALBACETE

Kepware Whitepaper. Enabling Big Data Benefits in Upstream Systems. Steve Sponseller, Business Director, Oil & Gas. Introduction

Introducción. Diseño de sistemas digitales.1

Chapter 11 I/O Management and Disk Scheduling

Driving force. What future software needs. Potential research topics

Predictable response times in event-driven real-time systems

Does function point analysis change with new approaches to software development? January 2013

Performance Comparison of RTOS

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

MECE 102 Mechatronics Engineering Orientation

Delivering Quality in Software Performance and Scalability Testing

System Design Issues in Embedded Processing

In-Vehicle Networking

NEW GENERATION PROGRAMMABLE AUTOMATION CONTROLLER

PLCs and SCADA Systems

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

A 5 Degree Feedback Control Robotic Arm (Haptic Arm)

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Lecture 1. Introduction to Embedded Computer Systems

Lecture 3: Modern GPUs A Hardware Perspective Mohamed Zahran (aka Z) mzahran@cs.nyu.edu

Control 2004, University of Bath, UK, September 2004

Network connectivity controllers

Technical Training Module ( 30 Days)

Transcription:

Architectural Support for Cyber-Physical Systems Special Thanks to:! David Broman! Isaac Liu! Hiren Patel! Jan Reineke! Michael Zimmer Edward A. Lee Robert S. Pepper Distinguished Professor UC Berkeley Keynote Architectural Support for Programming Languages and Operating Systems ASPLOS 2015 March 14-18, 2015. Istanbul, Turkey

The Context for this Talk: Cyber-Physical Systems The Internet of Important Things Orchestrating networked computational resources and physical systems. Bosch Rexroth Printing Press Roots of the term CPS: Coined around 2006 by Helen Gill at the National Science Foundation in the US Cyberspace: attributed William Gibson, who used the term in the novel Neuromancer. Cybernetics: coined by Norbert Wiener in 1948, to mean the conjunction of control and communication. Lee, Berkeley 2

Cyber-Physical Systems (CPS): Orchestrating networked computational resources with physical systems Automotive Building Systems Avionics Telecommunications Transportation (Air traffic control at SFO) E-Corner, Siemens Power generation and distribution Factory automation Instrumentation (Soleil Synchrotron) Military systems: Daimler-Chrysler Courtesy of Doug Schmidt! Courtesy of General Electric Courtesy of Kuka Robotics Corp.!

Schematic of a simple CPS In CPS, cyber == software and physical == not software. Digital hardware sits in a gray area! Lee, Berkeley 4

The Theme of This Talk Determinacy or Better Engineering through Better Models Lee, Berkeley 5

Sources of Nondeterminism Unknowable execution times Packet losses Unknowable delays Uncontrollable scheduling Physical noise Imperfect actuation Parts failures Lee, Berkeley 6

In the face of such nondeterminism, does it make sense to talk about deterministic models for cyber-physical systems? Lee, Berkeley 7

Models vs. Reality Solomon Golomb: Mathematical models Uses and limitations. Aeronautical Journal 1968 You will never strike oil by drilling through the map! Solomon Wolf Golomb (1932) mathematician and engineer and a professor of electrical engineering at the University of Southern California. Best known to the general public and fans of mathematical games as the inventor of polyominoes, the inspiration for the computer game Tetris. He has specialized in problems of combinatorial analysis, number theory, coding theory and communications. Lee, Berkeley 8

But this does not, in any way, diminish the value of a map! Lee, Berkeley 9

The Kopetz Principle Many (predictive) properties that we assert about systems (determinism, timeliness, reliability, safety) are in fact not properties of an implemented system, but rather properties of a model of the system. Prof. Dr. Hermann Kopetz We can make definitive statements about models, from which we can infer properties of system realizations. The validity of this inference depends on model fidelity, which is always approximate. (paraphrased) Lee, Berkeley 10

Deterministic Models of Nondeterministic Systems Physical System Model Image: Wikimedia Commons Synchronous digital logic Lee, Berkeley 11

Deterministic Models of Nondeterministic Systems Physical System Model Image: Wikimedia Commons Waterman, et al., The RISC-V Instruction Set Manual, UCB/EECS-2011-62, 2011 Instruction Set Architectures (ISAs) Lee, Berkeley 12

Deterministic Models of Nondeterministic Systems Physical System Model Image: Wikimedia Commons Single-threaded imperative programs Lee, Berkeley 13

Deterministic Models of Nondeterministic Systems Physical System Model Signal Signal Image: Wikimedia Commons Differential Equations Lee, Berkeley 14

A Major Problem for CPS: Combinations of these Models are Nondeterministic Signal Signal Image: Wikimedia Commons Lee, Berkeley 15

A Key Challenge: Timing is not Part of Software Semantics Correct execution of a program in C, C#, Java, Haskell, OCaml, Esterel, etc. has nothing to do with how long it takes to do anything. Nearly all our computation and networking abstractions are built on this premise. Programmers have to step outside the programming abstractions to specify timing behavior. Programmers have no map! Lee, Berkeley 16

The Model Lee, Berkeley 17

JTAG and SWD interface USB interface The Reality switches connected to GPIO pins graphics display speaker connected to GPIO or PWM analog (ADC) inputs microcontroller GPIO connectors PWM outputs removable flash memory slot Ethernet interface CAN bus interface Lee, Berkeley Image: Wikimedia Commons 18

The Model is not much more deterministic than the reality The modeling languages have disjoint, incompatible semantics Lee, Berkeley 19

JTAG and SWD interface System dynamics emerges from the physical realization switches connected to GPIO pins analog (ADC) inputs removable flash memory slot graphics display microcontroller USB interface speaker connected to GPIO or PWM PWM outputs Ethernet interface GPIO connectors CAN bus interface! leading to a prototype and test style of design Lee, Berkeley Image: Wikimedia Commons 20

Computer Science has not completely ignored timing! The first edition of Hennessy and Patterson (1990) revolutionized the field of computer architecture by making performance metrics the dominant criterion for design. Today, for computers, timing is merely a performance metric. It needs to be a correctness criterion. Lee, Berkeley 21

Correctness criteria We can safely assert that line 8 does not execute (In C, we need to separately ensure that no other thread or ISR can overwrite the stack, but in more modern languages, such assurance is provided by construction.) We can develop absolute confidence in the software, in that only a hardware failure is an excuse. But not with regards to timing!! Lee, Berkeley 22

The hardware out of which we build computers is capable of delivering correct computations and precise timing! The synchronous digital logic abstraction removes the messiness of transistors.! but the overlaying software abstractions discard the timing precision. // Perform the convolution. for (int i=0; i<10; i++) { x[i] = a[i]*b[j-i]; // Notify listeners. notify(x[i]); } Lee, Berkeley 23

http://chess.eecs.berkeley.edu/pret PRET Machines Giving Programs the Capabilities their Hardware Already Has.!! PREcision-Timed processors = PRET!! Predictable, REpeatable Timing = PRET!! Performance with REpeatable Timing = PRET // Perform the convolution. for (int i=0; i<10; i++) { x[i] = a[i]*b[j-i]; // Notify listeners. notify(x[i]); } Computing + With time = PRET Lee, Berkeley 24

Major Challenges and existence proofs that they can be met Pipelines l fine-grain multithreading Memory hierarchy l memory controllers with controllable latency I/O l threaded interrupts, with bounded effects on timing Lee, Berkeley 25

PRET Publications PRET ISA Realizations: PRET1, Sparc-based l [Lickly et al., CASES, 2008] PTARM, ARM-based l [Liu et al., ICCD, 2012] FlexPRET, RISC-V-based l [Zimmer et al., RTAS, 2014] PRET Applications: PRET for Security: Control systems l [Bui et al., RTCSA 2010] Computational fluid dynamics l [Liu et al., FCCM, 2012] Eliminating side-channel attacks l [Lie & McGrogan, Report 2009] PRET Memory Systems: DRAM controller l [Reineke et al., CODES+ISSS 2011] Scratchpad managment l [Kim et al., RTAS, 2014] Mixed criticality DRAM controller l [Kim et al., RTAS 2015] PRET Principle: l [Lee., Sensors, 2015] Lee, Berkeley 26 The case for PRET l [Edwards & Lee, DAC 2007] PRET ISA extensions l [Edwards at al., ICCD 2009] Temporal isolation l [Bui et al., DAC, 2011] Design challenges l [Broman et al., ESLsyn, 2013] Cyber-physical systems

Major Challenges, Yes, but Leading to Major Opportunities Improved determinism Better testability Reduced energy consumption Reduced overdesign (cost, weight) Improved confidence and safety Substitutable hardware Lee, Berkeley 27

Three Generations of PRET Machines at Berkeley PRET1, Sparc-based (simulation only) l [Lickly et al., CASES, 2008] PTARM, ARM-based (FPGA implementation) l [Liu et al., ICCD, 2012] FlexPRET, RISC-V-based (FPGA + simulation) l [Zimmer et al., RTAS, 2014] Lee, Berkeley 28

Our Second Generation PRET PTArm, a soft core on a Xilinx Virtex 5 FPGA (2012) Note inverted memory compared to multicore! Fast, close memory is shared, slow remote memory is private! Hardware Hardware Hardware thread Hardware thread thread thread registers scratch pad memory memory memory memory I/O devices Interleaved pipeline with one set of registers per thread SRAM scratchpad shared among threads DRAM main memory, separate banks per thread

Performance Cost? Not really! In microarchitecture design, the PRET project has shown that you do not need to sacrifice performance to get control over timing. Lee, Berkeley [Isaac Liu, PhD Thesis, May, 2012] 30

Our Third-Generation PRET: Open-Source FlexPRET (Zimmer et al., 2014) 32-bit, 5-stage thread interleaved pipeline, RISC-V ISA l Hard real-time HW threads: scheduled at constant rate for isolation and predictability l Soft real-time HW threads: share all available cycles (e.g. HW thread sleeping) for efficiency Deployed on Xilinx FPGA (area comparable to Microblaze) Every 3 cycles (unless done) HRTT 0 SRTT 1 SRTT 2 Lee, Berkeley InstrucAons F D F Whenever cycle available (arbitrary interleaving) X D F Clock cycles M W X M W D X M W F D X M W F D X M W Digilent Atlys (Spartan 6) and NI myrio (Zync) 31

FlexPRET Hard-Real-Time (HRT) Threads Interleaved with Soft-Real-Time (SRT) Threads HRT thread SRT thread Hardware Hardware Hardware thread Hardware thread Hardware thread thread thread registers scratch pad memory memory memory HRT threads have deterministic timing. SRT threads share available cycles SRAM scratchpad shared among threads DRAM main memory provides deterministic latency for HRT threads. Conventional behavior for the rest. Michael Zimmer

FlexPRET I/O Interrupt-Driven I/O is notorious for disrupting timing Interrupt Handler Thread Hardware Hardware Hardware thread Hardware thread thread thread registers scratch pad memory memory memory Interrupts have no effect on HRT threads, and bounded effect on SRT threads! Michael Zimmer

FlexPRET Shows: Not only is there no performance cost for appropriate workloads, but there is also no performance cost for inappropriate workloads! Pipelining, memory hierarchy, and interrupt-driven I/O can all be done without losing timing determinacy! Lee, Berkeley 34

Software Lee, Berkeley 35

Example of one sort of mechanism we can achieve (with some difficulty!) today: tryin (500ms) { // Code block } catch { panic(); },-$./"$012"$3(10'$.4'"5$(167"&$./46$ 899:5$.1$&;6#$./"6$./"$<46=0>?$ <&10"2;&"$@=(($3"$=6A1'"2B$ $ %;.$./"6$@"$@1;(2$(='"$.1$A"&=-)$./4.$<46=0>?$=5$6"A"&$=6A1'"2C$ jmp_buf buf; if (!setjmp(buf) ){ set_time r1, 500ms exception_on_expire r1, 0 // Code block deactivate_exception 0 } else { panic(); } exception_handler_0 () { longjmp(buf) } D5";21012"$5/1@=67$/1@$.1$21$./=5$.124)B$ Lee, Berkeley 36

Extending an ISA with Timing Semantics NO;P&Q#*@&#R/$@S&& set_time r1, 1s // Code block delay_until r1 NO<P&TC@#&KD**&.#@#(A/-&&& set_time r1, 1s // Code block branch_expired r1, <target> delay_until r1 NO'P&?KK#.DC@#&KD**&.#@#(A/-&&& set_time r1, 1s exception_on_expire r1, 1 // Code block deactivate_exception 1 delay_until r1 NOUP&!VC(@&#V#(,A/-S&& set_time r1, 1s // Code block MTFD r1 Lee, Berkeley 37

But Wait The whole point of an ISA is that the same program does the same thing on multiple hardware realizations. Isn t this incompatible with deterministic timing? Lee, Berkeley 38

Parametric PRET Architectures set_time r1, 1s // Code block MTFD r1 ISA that admits a variety of implementations:!! Variable clock rates and energy profiles!! Variable number of cycles per instruction!! Latency of memory access varying by address!! Varying sizes of memory regions!!! A given program may meet deadlines on only some realizations of the same parametric PRET ISA. Lee, Berkeley 39

Realizing the MTFD instruction on a Parametric PRET machine set_time r1, 1s // Code block MTFD r1 The goal is to make software that will run correctly on many implementations of the ISA, and that correctness can be checked for each implementation. Lee, Berkeley 40

How to Make PRET Widespread? Real-Time Units (RTUs) 4D*H)C%&!! Offload timing-critical functions to the RTU "! Compare with dedicated hardware!! Software peripherals _]^& =]^& 78^& Custom peripheral, e.g. G.CW$,D@X(/K& "! Bit-banging for custom protocols!! Software API: OpenRT? "! Richer interface for smart sensors/actuators ;<Y9&-*& Z;[& Z9[& OC$DCE)#&.,@%\(%()#& H$/@/(/)&!""#$%"&'"(")$ E+$

PRET Enables Deterministic Interaction Between the Cyber and the Physical Lee, Berkeley 42

But what about the Network? We have also developed deterministic models for distributed real-time software, using a technique called PTIDES. Lee, Berkeley 43

PTIDES: Programming Temporally Integrated Distributed Embedded Systems See http://chess.eecs.berkeley.edu/ptides (or invite me back next year) Lee, Berkeley 44

One Last Comment Model Fidelity In science, a good model matches well the behavior of the physical world. In engineering, a good physical implementation matches well the behavior of the model. In engineering, model fidelity is a two-way street! For a model to be useful, it is necessary (but not sufficient) to be able to be able to construct a faithful physical realization. Lee, Berkeley 45

A Model Lee, Berkeley 46

A Physical Realization Lee, Berkeley 47

Model Fidelity To a scientist, the model is flawed. To an engineer, the physical realization is flawed. I m an engineer Lee, Berkeley 48

Determinism? For a model to be useful, it is necessary (but not sufficient) to be able to be able to construct a faithful physical realization. The real world is highly unpredictable. So, are deterministic models useful? l Is synchronous digital logic useful? l Are ISAs useful? l Single-threaded imperative programs? l Differential equations? Lee, Berkeley 49

Determinism? Deterministic models do not eliminate the need for for robust, fault-tolerant designs. In fact, they enable such designs, because they make it much clearer what it means to have a fault! Lee, Berkeley 50

Determinism According to Google:

PRET enables a programming model with deterministic timing. http://chess.eecs.berkeley.edu/pret Lee, Berkeley 52

PRET Publications PRET ISA Realizations: PRET1, Sparc-based l [Lickly et al., CASES, 2008] PTARM, ARM-based l [Liu et al., ICCD, 2012] FlexPRET, RISC-V-based l [Zimmer et al., RTAS, 2014] PRET Applications: PRET for Security: Control systems l [Bui et al., RTCSA 2010] Computational fluid dynamics l [Liu et al., FCCM, 2012] Eliminating side-channel attacks l [Lie & McGrogan, Report 2009] PRET Memory Systems: DRAM controller l [Reineke et al., CODES+ISSS 2011] Scratchpad managment l [Kim et al., RTAS, 2014] Mixed criticality DRAM controller l [Kim et al., RTAS 2015] PRET Principle: l [Lee., Sensors, 2015] Lee, Berkeley 53 The case for PRET l [Edwards & Lee, DAC 2007] PRET ISA extensions l [Edwards at al., ICCD 2009] Temporal isolation l [Bui et al., DAC, 2011] Design challenges l [Broman et al., ESLsyn, 2013] Cyber-physical systems

Te"ekkür ederim Today, timing behavior in computers emerges from the physical realization. Special Thanks to:! David Broman! Isaac Liu! Hiren Patel! Jan Reineke! Michael Zimmer Tomorrow, timing behavior will be part of the programming abstractions and their hardware realizations. See: Lee, "The Past, Present, and Future of Cyber-Physical Systems: A Focus on Models," Sensors, 15(3), February, 2015. (Open Access) Raffaello Sanzio da Urbino The Athens School Image: Wikimedia Commons Lee, Berkeley 54