A Graceful Degradation Framework for Distributed Embedded Systems William Nace Philip Koopman

Similar documents
RoSES. Robust Self-configuring Embedded Systems ENGINEERING. Prof. Philip Koopman

Static Analysis of Embedded C

A Framework for Scalable Analysis and Design of System-wide Graceful Degradation in Distributed Embedded Systems

A PRODUCT FAMILY APPROACH TO GRACEFUL DEGRADATION

Using Architectural Properties to Model System-Wide Graceful Degradation

MASP Chapter on Safety and Security

Outline. Register Allocation. Issues. Storing values between defs and uses. Issues. Issues P3 / 2006

Topics. Computer Organization CS Improving Performance. Opportunity for (Easy) Points. Three Generic Data Hazards

Static Analysis of Embedded C Code

SICON Smart Sensors Role in Integrated System Health Management

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems. Embedded System Components

Register Allocation. Global Register Allocation Webs and Graph Coloring Node Splitting and Other Transformations

Chapter 1 Computer System Overview

CSCI 445 Amin Atrash. Control Architectures. Introduction to Robotics L. Itti, M. J. Mataric

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Software Architectures for Graceful Degradation in Embedded Systems

High-Level Synthesis

SE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert

Embedded Systems Architecture

Part 2: Principles for a System-Level Design Methodology

Compiler Design. Register Allocation. Hwansoo Han

Embedded System Architecture

Plant Modeling for Powertrain Control Design

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.

Chapter 14. HW/SW Partitioning

CSE 451: Operating Systems Winter Redundant Arrays of Inexpensive Disks (RAID) and OS structure. Gary Kimura

Dynamic Control Hazard Avoidance

Lecture 17 Introduction to Memory Hierarchies" Why it s important " Fundamental lesson(s)" Suggested reading:" (HP Chapter

Establishing the overall structure of a software system

Proposed SOIS Plug-and-Play Architecture and Resulting Requirements on SpaceWire Mapping

ID 020C: Hardware-in-Loop: System Testing Without the System

The Flooding Time Synchronization Protocol

Handling Challenges of Multi-Core Technology in Automotive Software Engineering

Smart Transducer Networks

Partitioned Control Challenge Problem

Flexible Visual Inspection. IAS-13 Industrial Forum Horizon 2020 Dr. Eng. Stefano Tonello - CEO

Load Balancing with McAfee Network Security Platform

Several sets of parameters and configuration techniques affect communication performance:

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client

HIGH-LEVEL SYNTHESIS

16 Sharing Main Memory Segmentation and Paging

Lecture 9: Load Balancing & Resource Allocation

The Embedded System Design Process. Wolf Text - Chapter 1.3

Architectural Design. CSCE Lecture 12-09/27/2016

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction

Silver + TestWeaver Tools for Simulation-Based Design System Test and Validation

CSC D70: Compiler Optimization Register Allocation

Using Cost Effective Distributed HIL for Rapid Prototyping

Datapath Allocation. Zoltan Baruch. Computer Science Department, Technical University of Cluj-Napoca

Smart Transducer Networks. Embedded Systems Engineering Armin Wasicek

CS 153 Design of Operating Systems Winter 2016

Rule partitioning versus task sharing in parallel processing of universal production systems

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Computer-System Organization (cont.)

Lecture 9: MIMD Architectures

Towards Green Cloud Computing: Demand Allocation and Pricing Policies for Cloud Service Brokerage Chenxi Qiu

TinySec: A Link Layer Security Architecture for Wireless Sensor Networks. Presented by Paul Ruggieri

15 Sharing Main Memory Segmentation and Paging

Pattern-Based Analysis of an Embedded Real-Time System Architecture

16 Time Triggered Protocol

VERITAS Dynamic MultiPathing (DMP) Increasing the Availability and Performance of the Data Path

Resilient Smart Grids

Taking the Right Turn with Safe and Modular Solutions for the Automotive Industry

Lecture 21 CIS 341: COMPILERS

GE Intelligent Platforms PAC8000 RTU

Improving Packing Algorithms for Server Consolidation

Deriving safety requirements according to ISO for complex systems: How to avoid getting lost?

Memory Management. COMP755 Advanced Operating Systems

Chapter 7 : Input-Output Organization

Chapter 6 Architectural Design

GCSE ICT AQA Specification A (Full Course) Summary

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

Comparative Study of Subspace Clustering Algorithms

New ARMv8-R technology for real-time control in safetyrelated

TDT Appendix E Interconnection Networks

Software Testing and Maintenance 1

Simple Garbage Collection and Fast Allocation Andrew W. Appel

OS and Hardware Tuning

Software Vulnerability

Lecture 15 Distributed System Architectures

Intel iapx 432-VLSI building blocks for a fault-tolerant computer

Software architecture in ASPICE and Even-André Karlsson

OS and HW Tuning Considerations!

CS140 Project 3: Virtual Memory. TA: Diveesh Singh

CMPSCI611: Approximating SET-COVER Lecture 21

Enhancing Parallelism

Automotive Challenges Addressed by Standard and Non-Standard Based IP D&R April 2018 Meredith Lucky VP of Sales, CAST, Inc.

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

EE382V: System-on-a-Chip (SoC) Design

Sensors & Transducers ISSN by IFSA

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

Moneta: A High-performance Storage Array Architecture for Nextgeneration, Micro 2010

Distributed minimum spanning tree problem

Topic 14: Scheduling COS 320. Compiling Techniques. Princeton University Spring Lennart Beringer

MODULAR PARTITIONING FOR INCREMENTAL COMPILATION

Computer Hardware Requirements for Real-Time Applications

A Novel Design Framework for the Design of Reconfigurable Systems based on NoCs

Magellan Project. Jeff Broughton NERSC Systems Department Head October 7, 2009

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization

Transcription:

A Graceful Degradation Framework for Distributed Embedded Systems William Nace Philip Koopman Electrical & Computer ENGINEERING

RoSES Project Robust Self-configuring Embedded Systems (RoSES) Robustness gained with automatic graceful degradation Must not require human intervention to specify or guide First shot automated reconfiguration when fault detected Domain -- Distributed Embedded Systems Distributed functionality remains after most failures Smart sensors general compute capability Most functionality is optimization Examples: elevators, autos, copiers, plant control, Not Internet toasters 2

Overview System-level customization Customize a system to maximize the functionality of given H/W 3 step, iterative framework for algorithm Feature selection find features to implement S/W selection determine which software components necessary Allocation fit the software to the hardware 3

The Framework: Mission Statement Customize a system so as to maximize the functionality of given H/W Isn t this just like: Hardware-software co-design? I m given H/W, not given functionality Reconfigurable computing? I m not using special purpose H/W, different time constraints Load balancing? I select/allocate S/W for robustness/functionality, not performance Example Scenario: Automotive Not run-time (yet) Exploit ground states May require external assistance Or fault tolerant subsystem (using standard techniques) 4

The Algorithm from 30,000 feet Given: Hardware Spec Product Family Software Spec 1: Choose Features to implement 2: Choose S/W Adapters to form features Iterate on failure 3: Allocate Adapters to hardware Produce: Adapter PE mapping 5

Hardware Specification List of Processing Elements (PEs) Vector of available resources CPU cycles, Flash, RAM, Operational sensors and actuators (attached to PEs) Network Scalar resource (bandwidth) Broadcast, real-time Archetype: Control Area Network CPU ROM RAMDIO AIO PIO 6

Software Specification Adapter RoSES terminology for a software object Configuration collection of adapters Configurations form data flow graphs (DFGs) Vertices are adapters and transducers Adapter requirements specified as a vector, same terms as PEs Transducers are merely sources/sinks of data (don t consume PE resources) Edges are communications Flow Labeled with dataflow requirement from Sensor(s) through 1+ adapters to Actuator(s) Sensor Adapters Actuator 7

PFA Specification Product Family Architecture (PFA) Structured view of all possible configurations PFA graph specifies capability of entire product/model line Merge DFGs for all configurations Last year s models High to low end models Etc. PFA Graph is a supergraph of all configuration DFGs 8

PFA Graph Merge DFGs with choice elements Data can flow from any one of the inputs Specialization: data element Network message type Ex: Conveyer belt part identification Part Number Barcode Reader Decoder Planner Sorter Vision System Pattern Recognit ion Machine Control Rest of System 9

What s a Feature? Required as a means to make optimization choices I tried Data path through PFA graph Rejected: Too restrictive Use of a particular adapter Dependencies communicated via PFA graph Other adapters automatically selected as glue Feature is given utility value Similar features require organization Class-based Feature Model 10

Class-based Feature Model Collect similar features into classes Only one feature from each class useful Do you want multiple transmission control algorithms running concurrently? Some classes may be critical A valid feature set includes a feature from all critical classes Classes Utility = Utility( ) FeatureSet Feature c c 11

Phase 1: Feature Selection Goal: Choose a Feature Set Maximize utility Try highest utility feature set first (In general case it won t fit in H/W) Use a combinatorial algorithm Start with highest utility feature from each feature class Number of feature classes/features is small 12

Phase 2: Adapter Selection Goal: Choose adapter set to implement the feature set Prune PFA graph of dead adapters Discover paths through features of interest Select paths based on what policies? Heuristic analysis experiment Adapters from selected paths form Adapter Set 13

Phase 3: Adapter Allocation Goal: Map adapter set to PEs, network Well-worn research area Bin-packing problem (NP complete) Attack as list processing heuristic» Sort adapters into list (by what criteria?)» Start with largest, packing onto a PE (chosen how?)» Success if list gets emptied 14

A Pretty Picture of the Algorithm GIVEN: PFA Graph Processing Elements Sensors Actuators Compute Nodes Network Algorithm Adjustments Speed vs. Quality tradeoff? Incremental? Failover safe? Try Harder? Failure Phase 1: Feature Selection Pick target feature set Depends on Feature Model Select Features from critical classes May include non-critical features No Report Failure Failure Failure Phase 2: Adapter Selection Pick adapter set that fulfills feature set Prune dead adapters Determine path alternatives Select adapters on chosen paths Failure Phase 3: Adapter Allocation Pick PEs to hold each adapter Foreach adapter in sorted list: Determine set of available PEs Choose PE User Supplied Validity Check PRODUCE: Adapter allocation mapping 15

Backtracking/Failure Feedback When Phase n+1 fails, Phase n tries again What info does Phase n need to make intelligent choices for next attempt? Type of allocation failure (network or PE overflow) How far processing proceeded State of algorithm at failure point Phase 2 failures provide info for phase 1 to make larger moves in search space 16

Tar Pits I Want to Avoid Future Work Universal Feature Model Composability of features, with complex interaction, without combinatorial explosion Class based model is sufficiently expressive for most real systems Validity Checks System dependent User supplied validity check of resulting allocation Scheduling Tough. Would obscure proposed work Hack: oversize system and apply RMA, or treat as validity failure 17

Conclusions System-level customization Customize a system to maximize the functionality of given H/W 3 step, iterative framework for algorithm Feature selection find features to implement Adapter selection determine which adapters necessary Adapter allocation fit the adapters to the hardware 18