Non-Preemptive Access to Shared Resources in Hierarchical Real-Time Systems Marko Bertogna, Fabio Checconi, Dario Faggioli CRTS workshop – Barcelona, November,

Slides:



Advertisements
Similar presentations
Ch 11 Distributed Scheduling –Resource management component of a system which moves jobs around the processors to balance load and maximize overall performance.
Advertisements

1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
CS5270 Lecture 31 Uppaal, and Scheduling, and Resource Access Protocols CS 5270 Lecture 3.
CSE 522 Real-Time Scheduling (3)
Abdulrahman Idlbi COE, KFUPM Jan. 17, Past Schedulers: 1.2 & : circular queue with round-robin policy. Simple and minimal. Not focused on.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
Towards Feasibility Region Calculus: An End-to-end Schedulability Analysis of Real- Time Multistage Execution William Hawkins and Tarek Abdelzaher Presented.
Deadlocks. 2 System Model There are non-shared computer resources –Maybe more than one instance –Printers, Semaphores, Tape drives, CPU Processes need.
Project 2 – solution code
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Supporting Time-sensitive Application on a Commodity OS Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presented by Wen Sun Some Slides.
Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien.
Chapter 11 Operating Systems
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Spring 2002Real-Time Systems (Shin) Rate Monotonic Analysis Assumptions – A1. No nonpreemptible parts in a task, and negligible preemption cost –
New Schedulability Tests for Real- Time task sets scheduled by Deadline Monotonic on Multiprocessors Marko Bertogna, Michele Cirinei, Giuseppe Lipari Scuola.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 6 CPU SCHEDULING.
The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
Cosc 4740 Chapter 6, Part 3 Process Synchronization.
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat.
Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat.
Real-Time Systems Hierarchical Real-Time Systems for Imprecise Computation Model The 5th EuroSys Doctoral Workshop (EuroDW 2011) Guy Martin.
Efficient Admission Control for Enforcing Arbitrary Real-Time Demand-Curve Interfaces Farhana Dewan and Nathan Fisher RTSS, December 6 th, 2012 Sponsors:
1 Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis Yang Chang, Robert Davis and Andy Wellings Real-time Systems Research Group University.
Scheduling policies for real- time embedded systems.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 31 – Multimedia OS (Part 1) Klara Nahrstedt Spring 2011.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 15 Scheduling Read Ch.
Scheduling Real-Time tasks on Symmetric Multiprocessor Platforms Real-Time Systems Laboratory RETIS Lab Marko Bertogna Research Area: Multiprocessor Systems.
Review for Quiz-2 Applied Operating System Concepts Chap.s 1,2,6,7 - ECE3055b, Spring 2005.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Real-Time Scheduling II: Compositional Scheduling Framework Insik Shin Dept. of Computer Science KAIST.
Introduction to Embedded Systems Rabie A. Ramadan 5.
Multiprocessor Fixed Priority Scheduling with Limited Preemptions Abhilash Thekkilakattil, Rob Davis, Radu Dobrin, Sasikumar Punnekkat and Marko Bertogna.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
Introduction to Real-Time Systems
Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point.
CS333 Intro to Operating Systems Jonathan Walpole.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Undergraduate course on Real-time Systems Linköping University TDDD07 Real-time Systems Lecture 2: Scheduling II Simin Nadjm-Tehrani Real-time Systems.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Istituto di Tecnologie della Comunicazione dell’Informazione e della Percezione Explicit Preemption Point (EPP) placement for conditional code Marko Bertogna.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Process Management Deadlocks.
Scheduling and Resource Access Protocols: Basic Aspects
Applied Operating System Concepts -
EEE 6494 Embedded Systems Design
Lecture 4 Schedulability and Tasks
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Operating Systems CPU Scheduling.
Module 5: CPU Scheduling
Lecture 21: Introduction to Process Scheduling
CSCI1600: Embedded and Real Time Software
Process Description and Control
Chapter 6: CPU Scheduling
Lecture 2 Part 2 Process Synchronization
CSCI1600: Embedded and Real Time Software
Lecture 21: Introduction to Process Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
CHAPTER 8 Resources and Resource Access Control
Supporting Time-Sensitive Applications on a Commodity OS
Chapter 5: CPU Scheduling
CSE 542: Operating Systems
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

Non-Preemptive Access to Shared Resources in Hierarchical Real-Time Systems Marko Bertogna, Fabio Checconi, Dario Faggioli CRTS workshop – Barcelona, November, 30th Scuola Superiore S.Anna, Pisa, Italy

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona2 Outline Target architecture Shared resource protocols Non-preemptive execution of CS Schedulability tests Admission control Simulations Conclusions and future extensions

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona3 Hierarchical systems CPU ……… Q 3, P 3 Q 1, P 1 Q 2, P 2 C1C1 C2C2 C3C3 Component = Task or Server

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona4 Target architecture General purpose OS supporting hierarchical execution on a single processor Set of independently developed applications with soft real-time requirements Different applications may access common shared resources (Local vs global) Few information available on tasks timely parameters Fast scheduling and resource arbitration protocols

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona5 Access to shared resources Problem with classic protocols (i.e. SRP, PCP) to work properly (ceiling computation)  need to know a priori which shared resources will be accessed by each task for schedulability analysis  need to know the length of critical sections (at least reasonable upper bounds) not suitable for highly dynamic systems and general purpose OS Classic servers incur the budget exhaustion problem

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona6 Budget exhaustion problem Server 1 Q = 10, P = 100 Server 2 Q = 90, P = 100 Lock (R1) Unlock (R1) BLOCKED Lock (R1)

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona7 Solution Perform a “ budget check ” before each locking operation BROE server (Fisher, Bertogna, Baruah – RTSS ’ 07) CBS-like server for hierarchical systems with support for globally shared resources If CS_length ≤ q  acquire lock Else  wait until virtual time equals real time Q = 10 P = 100 |CS| = 5 WAIT q = 4 q = 10 Lock (R1) t = 6

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona8 Non-preemptive access to shared resources Disable preemptions before each locking operations No need for complex locking protocols Reduced resource holding times Very efficient with small CS lengths Simple algorithms to derive safe non-preemptive chunk lengths [see Baruah, ECRTS ’ 05] O(n), O(1) Pseudo-polynomial (tight?) h i = maximum non-preemptive chunk length for component C i

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona9 Component interface CPU ……… Q 3, P 3, h 3 Q 1, P 1, h 1 Q 2, P 2, h 2 C1C1 C2C2 C3C3 h i ≤ Q i h i (child) ≤ h i (parent)

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona10 O(n) test A set of components that is schedulable with preemptive EDF on a (Q,P) server remains schedulable if each component C k executes non-preemptively for at most time units, with.

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona11 O(1) test A set of components that is schedulable with preemptive EDF on a (P,Q) server remains schedulable if all components execute non- preemptively for at most time units.

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona12 Admission control The system keeps track of the largest critical section R i locked by each component C i Scheduling invariants: R i ≤ h i, for all i R max ≤ h When a new component asks to be admitted at a particular level: compute new h i ’ values (for all components with larger periods at the same level) if for any admitted component: R i > h i ’  reject the new component else admit component and update h i values to h i ’

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona13 Admission control policies When a component locks a critical section for longer than h i : suspend it  budget exhaustion problem (may lead to deadlock conditions in case of nested CS) abort it  possible system inconsistencies continue executing it  temporal system overrun Then, restore system schedulability by removing the component(s) with: largest utilization least importance latest arrival time longest critical section

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona14 Observations No need to know a priori the critical section lengths  upper bounds extracted and refined at run-time Components conditionally admitted into the system System dynamically converges to a stable condition No way to preventively avoid CS overruns

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona15 Simulations 10 entities Q = 5 P = 100 U: [0.1;0.9] T: [20P;500P]

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona16 Simulations 10 entities Q = 50 P = 100 U: [0.1;0.9] T: [5P;50P]

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona17 Conclusions Simple protocol for CS arbitration in hierarchical systems Particularly suited for general purpose OS ’ s Reduced overhead User doesn ’ t need to specify any information on CS lengths System dynamically extracts timely parameters to grant soft real time requirements

30/11/2008 Marko Bertogna CRTS Workshop, Barcelona18 Next Step Pseudo-polynomial algorithms to find tight bounds on the NP chunk lengths Adapt our protocol to multicore systems Generalize to multicore hierarchical systems Implement in Linux (particular attention to overall complexity) Final results expected by the end of 2009