Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril

Similar documents
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group. vs. REAL-TIME SYSTEMS MICHAEL ROITZSCH

Temporal Protection in Real-Time Operating Systems. Abstract

Constant Bandwidth vs Proportional Share Resource Allocation

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network

Multimedia Systems 2011/2012

Temporal Protection in Real-Time Operating Systems. Abstract

Resource Partitioning among Real-Time Applications

Multimedia Applications Require Adaptive CPU Scheduling. Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole

CPU Resource Reservation for Simultaneous Multi-Thread Systems. Hiroshi Inoue, Takao Moriyama, Yasushi Negishi, and Moriyoshi Ohara

Multiprocessor Synchronization and Hierarchical Scheduling

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Efficient Event-Triggered Tasks in an RTOS

Serving Non Real-Time Tasks in a Reservation Environment

Reservation-Based Scheduling for IRQ Threads

General Terms Algorithms, Performance, Reliability. Keywords Real-time systems, hierarchical scheduling, resource sharing, operating systems.

A Modified Maximum Urgency First Scheduling Algorithm for Real-Time Tasks

Number of bits in the period of 100 ms. Number of bits in the period of 100 ms. Number of bits in the periods of 100 ms

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Weapon Systems Open Architecture Overview

An Application in Technology Insertion for a Legacy System

Respecting temporal constraints in virtualised services

Designing High Performance IEC61499 Applications on Top of DDS

IO virtualization. Michael Kagan Mellanox Technologies

Dynamic resource allocation for real-time priority processing applications van den Heuvel, M.M.H.P.; Bril, R.J.; Schiemenz, S.; Hentschel, C.

Towards Partitioned Hierarchical Real-Time Scheduling on Multi-core Processors

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

Real-Time Cache Management for Multi-Core Virtualization

Slurm Workload Manager Overview SC15

Integrating Multimedia Applications in Hard Real-Time Systems

Analysis of a Window-Constrained Scheduler for Real-Time and Best- Effort Packet Streams

Multiprocessor and Real- Time Scheduling. Chapter 10

Dynamic Voltage Scaling of Periodic and Aperiodic Tasks in Priority-Driven Systems Λ

A Resource-Centric Approach To Multimedia Operating Systems

ARTIST-Relevant Research from Linköping

SIRAP: A Synchronization Protocol for Hierarchical Resource Sharing in Real-Time Open Systems

An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System

Lecture 9: MIMD Architectures

FSF: A Real-Time Scheduling Architecture Framework

Copyright Notice. COMP9242 Advanced Operating Systems S2/2014 Week 9: Real-Time Systems. Real-Time System: Definition

Real Time Operating Systems and Middleware

Real-Time Systems. Real-Time Operating Systems

Chapter 18 Parallel Processing

Operating System Performance and Large Servers 1

On Latency Management in Time-Shared Operating Systems *

Interactive Realtime Multimedia Applications on SOIs

Memory Management. Dr. Yingwu Zhu

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Execution architecture concepts

RESOURCE MANAGEMENT MICHAEL ROITZSCH

Lecture 9: MIMD Architectures

Interconnecting Components

Real-time Systems. 9 September Dr. Sergio Ruocco ERTOS Researcher. Copyright 2004 National ICT Australia Limited

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

An efficient implementation of the BandWidth Inheritance protocol for handling hard and soft real-time applications in the Linux kernel

CSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management

Thanks to... Composing and synchronizing real-time components through virtual platforms in vehicular systems

Hardware Support for Priority Inheritance

Operating Systems, Fall

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi. Lecture 23 Embedded OS

A Rate-Based Execution Abstraction For Multimedia Computing*

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

EMBEDDED OPERATING SYSTEMS

Virtual platform, multiprocessor system, shared resources, shared memory

Contract-based resource reservation and scheduling

PROBABILISTIC SCHEDULING MICHAEL ROITZSCH

A Data Centered Approach for Cache Partitioning in Embedded Real- Time Database System

REAL TIME OPERATING SYSTEMS: A COMPLETE OVERVIEW

Microkernel/OS and Real-Time Scheduling

Real-Time & Embedded Operating Systems

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems

Green Hills Software, Inc.

Schedulability Analysis for Certification-friendly Multicore Systems

I/O Buffering and Streaming

Real-Time Internet of Things

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology

RTC: Language Support for Real-Time Concurrency

Comparison of Empirical Success Rates of Global vs. Partitioned Fixed-Priority and EDF Scheduling for Hard Real Time TR

Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

(b) External fragmentation can happen in a virtual memory paging system.

Real-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo

Reservation-Based Scheduling for IRQ Threads

Incorporating DMA into QoS Policies for Maximum Performance in Shared Memory Systems. Scott Marshall and Stephen Twigg

Real-Time Systems. Hard Real-Time Multiprocessor Scheduling

Embedded Software Engineering

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Tessellation: Space-Time Partitioning in a Manycore Client OS

Embedded Systems. 6. Real-Time Operating Systems

Improving Real-Time Performance on Multicore Platforms Using MemGuard

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

Using Fixed Priority Pre-emptive Scheduling in Real-Time Systems

Exam Review TexPoint fonts used in EMF.

Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems

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

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

csci 3411: Operating Systems

Workload Characterization Model for Tasks with Variable Execution Demand

Transcription:

Real-Time Architectures 2003/2004 Resource reservation Reinder J. Bril 03-05-2004 1 Resource Reservation Description Example Application domains Some issues Concluding remark 2 Description Resource reservation is a technique (or mechanism) at the level of an RTOS, providing a virtual platform. Based on four elements: Admission control: Schedulability test. Scheduling: CPU: similar to scheduling of tasks. Accounting: Keep track of what has been consumed. Enforcement: Do not allow over-consumption! 3 1

Example Resource budget example for CPU: Algorithm Y, rate = 50Hz, budget = 25% for every period T Y of 20 msec, a budget B Y of 5 msec CPU time is allocated to Y Hence, a virtual processor with 25% of the cycles. Multiple resources (topic of research): Processor(s), Co-processor(s), e.g. VLD; Memory; Bus; Network. 4 Priorities typically serve multiple purposes: They are used to: Guarantee deadlines (FPS and DPS): Given task characteristics and based on particular assumptions (e.g. C j ); Assign relative importance (FPS only): Higher priority task τ H always takes precedence over a lower priority task τ L : Over-runs of τ H hamper τ L, but over-runs of τ L do not hamper τ H. Optionally split a job in sub jobs to remain optimal (RMS); see [Sha et al 86]. 5 Priorities used for: Co-operation protocols (FPS only): see [Gonzalez et al 91] and [Groba et al 02]; Example: buffer-allocation: ρ 1 > ρ 2 > ρ 3 > ρ 4 : push-model: pile-up before τ 4 ; ρ 1 < ρ 2 < ρ 3 < ρ 4 : pull-model: pile-up before τ 1 ; ρ 1 > ρ 2 > ρ 3 < ρ 4 : push/pull-model: pile-up before τ 3. General: pile-up before lowest priority task in stream, allowing a pile-up where the memory needs are minimal. Example: before video decoder. τ 1 τ 2 τ 3 τ 4 6 2

DVD read dmux main: scalable sharp enh. rend digit mixer digitizer: non-scalable pip: scalable mixer : non-scalable buffer hw enc. writer enc. task data transfer disk : non-scalable dec scalable task hierarchical task connection to HW IO 7 References: [Gonzalez et al 91] M. González Harbour, M.H. Klein, and J.P. Lehoczky, Fixed Priority Scheduling of Periodic Tasks with Varying Execution Priority, In: Proc. 12 th IEEE Real-Time Systems Symposium (RTSS), pp. 116 128, 1991. [Groba et al 02] A.M. Groba, A. Alonso, J.A. Rodriques, M. Garcia Valls, Response time of streaming chains: analysis and results, In: Proc. 14 th IEEE Euromicro Conference on Real-Time Systems, pp. 182 189, 2002. [Sha et al 86] L. Sha, J. Lehoczky, and R. Rajkumar, Solutions to some practical problems in prioritized preemptive scheduling, In: Proc. 7 th IEEE Real-Time Systems Symposium (RTSS), pp. 181 191, 1986. 8 Temporal protection FPS assumes worst-case close to average-case. Worst-case computation time difficult to estimate: Complexity of the code; Non-deterministic platform (optimized for average-case rather than worst-case situations): Cache memories; Bus; When jobs need more time, temporal faults occur: Analysis no longer valid; Potential deadline misses: FPS: task itself and all lower priority tasks; DPS: task itself and all other tasks! A main motivation for resource reservations! 9 3

Temporal protection CPU time app. 2 budget 2 CPU time app. 1 time budget 1 10 Independent design, analysis and validation: Complexity of real-time systems Increase of development cost (time and money); Final integration phase currently a bottleneck. Single set of priorities for all tasks in all subsystems. Alternative: Loosely coupled subsystems; Running on a virtual platform, with; Hierarchical scheduling: Virtual platforms; Applications/tasks/threads on a virtual platform» Standard RTOS API;» Local (proprietary) RTOS/scheduling. 11 DVD read dmux main: scalable sharp enh. rend digit mixer digitizer: non-scalable pip: scalable mixer : non-scalable buffer hw enc. writer enc. task data transfer disk : non-scalable dec scalable task hierarchical task connection to HW IO 12 4

5 hierarchical tasks (or RCEs ): 3 user applications: main, pip, disk; 2 infra-structure applications: digitizer, mixer. Hierarchical scheduling: Hierarchical tasks by, e.g., DPS (high utilization); Tasks of an RCE by, e.g., FPS (current industrial practice, buffer allocation). Virtual platform contains: private processor; private memory (buffers). 13 Re-use of legacy applications: Integration in new system by means of a virtual platform with characteristics of old system. Quality of Service (QoS): Trade quality for resources Relaxing timing requirements (e.g. frame-rate fluctuations); Approximate results (e.g. quality reduction of individual frames). Hybrid open systems: Real-time next to non-real time applications: Worst-case resource allocation for real-time applications; Average-case for non-real time applications. Traditionally conceived as open systems; Example: PC evolving to multimedia platform. 14 Application domains Aerospace: Hard real-time systems; Need for temporal protection. Real-time control systems: Hybrid systems: Critical (hard real-time) applications next to less critical applications (e.g. multimedia). Multimedia systems: Media processing: from dedicated HW to SW; High load fluctuations; Consumer devices: Control + media processing hybrid open systems; Robustness and predictability temporal protection; Short time-to-market independent development; Cost-effective worst-case not affordable QoS. 15 5

Some issues Processing of applications and budgets: Synchronous (3D graphics); Asynchronous (high quality video). Granularity: Virtual time versus real time; Cost of context switching and cache flushing. Blocking on shared physical resources: Priority inversion problem for budgets? Accounted to which budget? 16 Virtual time and real time T = 20 msec and B = 5 msec, i.e. 25% of CPU t real = 2 < t virtual = 8 t real = 28 = t virtual t real = 57 > t virtual = 48 earliest latest 0 10 20 30 40 50 60 time T = 20 allocation & provision granularity: 1 msec temporal granularity: max( t real t virtual ) = 15, acceptable? i.e. 25% of CPU on average not of any arbitrary interval 17 Concluding remark Origin: For memory (spatial protection): MMUs, old! for CPU (temporal protection): [Mercer et al 94]. RTOS-vendors: Integrity: notion of partition; VxWorks: notion of protection domain. Results: Some initial academic results, Some practical experience, and Many challenges [Steffens et al 03]. 18 6

References [Mercer et al 94] C.W. Mercer and S. Savage and H. Tokuda, Processor Capability Reserves: Operating System Support for Multimedia Applications, In: Proc. International Conference on Multimedia Computing and Systems (ICMCS)", pp. 90-99, May 1994. [Rajkumar et al 98] R. Rajkumar and K. Juvva and A. Molano and S. Oikawa, Resource Kernels: A Resource-Centric Approach to Real-Time and Multimedia Systems, In: Proc. SPIE Vol. 3310, Conference on Multimedia Computing and Networking, pp. 150-164, January 1998. [Steffens et al 03] L. Steffens, G. Fohler, G. Lipari, G. Buttazzo, Resource Reservation in Real-Time Operating Systems a joint industrial and academic position, In: Proc. International Workshop on Advanced Real-Time Operating System Services (ARTOSS), pp. 25 30, July 2003. 19 7