Virtual scheduling for compositional real-time guarantees



Similar documents
Resource Reservation & Resource Servers. Problems to solve

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Predictable response times in event-driven real-time systems

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

Experience with the integration of distribution middleware into partitioned systems

Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator

Multi-objective Design Space Exploration based on UML

Architectures for Distributed Real-time Systems

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

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

Embedded Systems. introduction. Jan Madsen

Architectures and Platforms

The IntelliMagic White Paper on: Storage Performance Analysis for an IBM San Volume Controller (SVC) (IBM V7000)

SAP Sybase Legacy License Audit Process & Methodology

MultiPARTES. Virtualization on Heterogeneous Multicore Platforms. 2012/7/18 Slides by TU Wien, UPV, fentiss, UPM

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit

Video Conference System

A Transport Protocol for Multimedia Wireless Sensor Networks

Best Practices for Managing Virtualized Environments

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture

Code Sharing using C++ between Desktop Applications and Real-time Embedded Platforms

Aperiodic Task Scheduling

Load Distribution in Large Scale Network Monitoring Infrastructures

A PRACTICAL GUIDE TO COST SAVINGS WITH VIRTUALIZATION

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

OpenSPARC T1 Processor

SYSPRO Point of Sale: Architecture

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Five best practices for deploying a successful service-oriented architecture

Security Model and Enforcement for Data-Centric Pub/Sub with High Information Assurance Requirements

Industrial Application of MultiPARTES

Multiprocessor System-on-Chip

Effective Scheduling Algorithm and Scheduler Implementation for use with Time-Triggered Co-operative Architecture

MANY complex distributed embedded systems with time

The Reduced Address Space (RAS) for Application Memory Authentication

Consulting Solutions Disaster Recovery. Yucem Cagdar

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

VDI Solutions - Advantages of Virtual Desktop Infrastructure

Common Approaches to Real-Time Scheduling

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons

SCALABILITY AND AVAILABILITY

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

Aperiodic Task Scheduling

Chip simulation of automotive ECUs

EMC s Enterprise Hadoop Solution. By Julie Lockner, Senior Analyst, and Terri McClure, Senior Analyst

Real-Time Operating Systems for MPSoCs

Cloud Computing and Robotics for Disaster Management

Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality

Accelerating Data Compression with Intel Multi-Core Processors

Resource Reservation in Real-Time Operating Systems - a joint industrial and academic position

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Software Components for Reliable Automotive Systems

A Service Revenue-oriented Task Scheduling Model of Cloud Computing

Huawei Agile Network FAQ What is an agile network? What is the relationship between an agile network and SDN?... 2

Embedded Systems. 6. Real-Time Operating Systems

Quality of Service (QoS) EECS 122: Introduction to Computer Networks Resource Management and QoS. What s the Problem?

Diablo and VMware TM powering SQL Server TM in Virtual SAN TM. A Diablo Technologies Whitepaper. May 2015

A Tool for Generating Partition Schedules of Multiprocessor Systems

Real-Time (Paradigms) (51)

Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems

HBA Virtualization Technologies for Windows OS Environments

Trends in Embedded Software Engineering


Real-Time Virtualization How Crazy Are We?

ENZO UNIFIED SOLVES THE CHALLENGES OF OUT-OF-BAND SQL SERVER PROCESSING

Deploying F5 BIG-IP Virtual Editions in a Hyper-Converged Infrastructure

The Benefits of Virtualizing

GigaSpaces Real-Time Analytics for Big Data

The MILS Component Integration Approach To Secure Information Sharing

Transcription:

Virtual scheduling for compositional real-time guarantees 8th IEEE International Symposium on Industrial Embedded Systems Martijn van den Heuvel, Reinder J. Bril and Johan J. Lukkien System Architecture and Networking (SAN) Department of Mathematics and Computer Science Eindhoven University of Technology, The Netherlands 20th June 2013 Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 1 / 23

An example for automotive Increasing number of applications; Extensive networking between them. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 2 / 23

An example for automotive Increasing number of applications; Extensive networking between them. Why this growth? Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 2 / 23

An example for automotive Chip Design Magazine (Jan. 2005) Increasing number of applications; Extensive networking between them. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 3 / 23

Coming from a federated architecture... each application has dedicated hardware: Component 1 Component 2... τ n... τ n RTOS+ middleware Hardware (CPU: 100 MHz) CAN RTOS+ middleware Hardware (CPU: 100 MHz) Legend: task Send or receive events Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 4 / 23

An example for automotive Reduce the number of nodes Trend: Fewer and more powerful nodes Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 5 / 23

An example for automotive Reduce the number of nodes Trend: Fewer and more powerful nodes Integration problem: applications may share resources; an application may have complex timing constraints. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 5 / 23

Towards an integrated architecture... multiple applications share hardware: Comp. 3 Comp. 4 Component 1 τ n τ n... τ n Component 2 Component 5... τ n... τ n RTOS+middleware Hardware (CPU: 200 MHz) CAN RTOS+middleware Hardware (CPU: 200 MHz) Legend: task Virtual processor Virtual network bus Send or receive events Integration problem: each application may have complex timing constraints. applications may share resources; Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 6 / 23

Traditional solution to complex timing constraints Offline application synthesis and scheduling of the entire system Functional model: + Timing constraints: end-to-end deadline: χ time units period: T time units T time units T time units Analyse χ time units Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 7 / 23

Traditional solution to complex timing constraints Deployment on off-the-shelf operating system: Functional model: + Timing constraints: end-to-end deadline: χ time units period: T time units Thrown away after deployment T time units T time units Legacy χ time units Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 8 / 23

Resource sharing between applications Use spare resources for other applications: Legacy other apps Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 9 / 23

Traditional solution to resource sharing Capture constraints in a resource-supply contract: Legacy other apps Legend: Job arrival Job deadline Job completion Job execution W. Wang, A. K. Mok, and G. Fohler. Pre-scheduling. RTSJ, 30:83 103, 2005. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 10 / 23

Traditional solution to resource sharing Issue 1/2 Capture constraints in a resource-supply contract: + other apps Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 11 / 23

Traditional solution to resource sharing Issue 1/2 Capture constraints in a resource-supply contract: + other apps Legend: Job arrival Job deadline Job completion Job execution Composition of systems with arbitrary small utilization may be impossible! Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 11 / 23

Traditional solution to resource sharing Issue 2/2 Capture constraints in a resource-supply contract: other apps Legend: Job arrival Job deadline Job completion Job execution align schedule and resource supply manually composition requires additional application analysis (find grey areas) Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 12 / 23

Traditional solution to resource sharing Issue 2/2 Capture constraints in a resource-supply contract: other apps Legend: Job arrival Job deadline Job completion Job execution align schedule and resource supply manually composition requires additional application analysis (find grey areas) Supporting the legacy? Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 12 / 23

Problem with resource sharing and complex constraints Capture constraints in a resource-supply contract: other apps Legend: Job arrival Job deadline Job completion Job execution Instead, can we: decouple schedule and resource supply? find a worst-case virtual platform using? Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 13 / 23

Resource sharing can affect timing constraints Towards independent alignment of schedule and resource supply: Legacy 1 other apps 2 Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 14 / 23

Resource sharing can affect timing constraints Legacy 1 other apps 2? Legend: Job arrival Job deadline Job completion Job execution Blocking may change the execution order of (other) jobs! Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 15 / 23

Our solution: disallow blocking takes any effects Legacy Desired solution Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 16 / 23

Our solution: disallow blocking takes any effects Legacy Desired solution Worst catch up: units of processor time Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 17 / 23

Solution outline: virtual scheduling Application requirement: Every sliding window of length t, we must receive t time units. 1 Worst catch up: 2 units of processor time Legend: Job arrival Job deadline Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 18 / 23

Solution outline: virtual scheduling Application requirement: Every sliding window of length t, we must receive t time units. 1 Worst catch up: 2 units of processor time Legend: Job arrival Job deadline Job completion Job execution If the virtual platform satisfies this requirement: it takes at most time units to catch up. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 18 / 23

Virtual scheduling: replicate the original schedule 1 Bookkeeping: a i : time stamp the arrival of job J i ; r i : time stamp the release of job J i ; monitor the processor supply from r i onwards. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 19 / 23

Virtual scheduling: replicate the original schedule 1 Bookkeeping: a i : time stamp the arrival of job J i ; r i : time stamp the release of job J i ; monitor the processor supply from r i onwards. 2 Job arbitration: buffer the arrival of a job (a i ; J i ); release job J i after (a i a i 1 ) units of processor time after r i 1. a i r i time units a i+1 ξ time units time units ri+1 ξ time units a i+2 r i+2 time units Legend: Job arrival Job release Job completion Job execution Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 19 / 23

Virtual scheduling: replicate the original schedule 1 Bookkeeping: a i : time stamp the arrival of job J i ; r i : time stamp the release of job J i ; monitor the processor supply from r i onwards. 2 Job arbitration: buffer the arrival of a job (a i ; J i ); release job J i after (a i a i 1 ) units of processor time after r i 1. a i r i time units a i+1 ξ time units time units ri+1 ξ time units a i+2 r i+2 time units Legend: Job arrival Job release Job completion Job execution Remember: worst catch up of time units! Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 19 / 23

Back to the integration problem... Federated application 1 Component 1 Component 2... τ n RTOS+ middleware Hardware (CPU: 100 MHz) CAN Multiple integrated applications Comp. 3 Comp. 4 Component 1... τ n RTOS+ middleware Hardware (CPU: 100 MHz) τ n τ n... τ n Legend: task Virtual processor Virtual network bus Send or receive events α = 100 MHz / 200 MHz Component 2 Component 5... τ n... τ n RTOS+middleware RTOS+middleware Hardware (CPU: 200 MHz) CAN Hardware (CPU: 200 MHz) Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 20 / 23

Bounded-delay partition upon a fast processor Unit of composition: a 100 MHz virtual processor on a 200 MHz physical processor, with at most a delay of time units. processor time (t) lsbf(t) α 0 time (t) Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 21 / 23

Bounded-delay partition upon a fast processor Unit of composition: a 100 MHz virtual processor on a 200 MHz physical processor, with at most a delay of time units. processor time (t) lsbf(t) α 0 time (t) How to implement this? Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 21 / 23

Example implementation: periodic allocations Bounded-delay versus EDP model (Easwaran et al., RTSS 2007): processor time (t) 4Θ sbf Ω(Π,Θ, ) (t) 3Θ lsbf Ω(Π,Θ, ) (t) 2Θ Θ α 0 0 Θ Π + 2Θ 2Π + 2Θ 3Π + 2Θ 4Π + 2Θ time (t) Π Π Π Π Π Processor supply: Θ Θ Θ Θ Θ Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 22 / 23

Conclusions We proposed virtual scheduling: replicate a schedule regardless of blocking; decouple the processor supply and the schedule of an application. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 23 / 23

Conclusions We proposed virtual scheduling: replicate a schedule regardless of blocking; decouple the processor supply and the schedule of an application. Advantages: intuitive notion of allowable delays, ; independent of the scheduling policy of jobs of the application; preserve complex timing constraints of legacy applications; allow resource sharing between (legacy) applications. Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 23 / 23

Conclusions We proposed virtual scheduling: replicate a schedule regardless of blocking; decouple the processor supply and the schedule of an application. Advantages: intuitive notion of allowable delays, ; independent of the scheduling policy of jobs of the application; preserve complex timing constraints of legacy applications; allow resource sharing between (legacy) applications. Future work: from a single processor to multi-processors composition of distributed systems Martijn van den Heuvel (TU/e, SAN) Virtual scheduling 20th June 2013 23 / 23