Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien.

Slides:



Advertisements
Similar presentations
Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.
Advertisements

Effects of Clock Resolution on the Scheduling of Interactive and Soft Real- Time Processes by Yoav Etsion, Dan Tsafrir, Dror G. Feitelson Presented by.
CPU Scheduling Section 2.5.
Chapter 13 Embedded Systems
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
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 Applications on a Commodity OS by Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Jimi Watson.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Chapter 13 Embedded Systems
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
CS533 Concepts of Operating Systems Class 10 Fine Grain Timing.
Chapter 5: CPU Scheduling
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CS533 Concepts of Operating Systems Class 18 Fine Grain Timing.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 19: Real-Time Systems System Characteristics Features of Real-Time.
Process Scheduling in Windows XP, Linux, and UNIX By Sarah G. Levinson CSC 4320.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
Supporting Time-Sensitive Applications on a Commodity OS A. Goel, L. Abeni, C. Krasic, J. Snow and J. Walpole Proceedings of USENIX 5th Symposium on Operating.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
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.
Non-Preemptive Access to Shared Resources in Hierarchical Real-Time Systems Marko Bertogna, Fabio Checconi, Dario Faggioli CRTS workshop – Barcelona, November,
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.
Scheduling Basic scheduling policies, for OS schedulers (threads, tasks, processes) or thread library schedulers Review of Context Switching overheads.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
ICS Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
TCPivo A High-Performance Packet Replay Engine Wu-chang Feng Ashvin Goel Abdelmajid Bezzaz Wu-chi Feng Jonathan Walpole.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
Uniprocessor Scheduling
CIS250 OPERATING SYSTEMS Chapter 6 - CPU Scheduling Basic Concepts The objective of multi-programming is have a program running at all times Maximize.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
BY: ADAM BAIR Real-Time Operating Systems. What’s a Real-Time System? - A computer system that requires computation to be correct and done before a specified.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
Supporting Time Sensitive Application in a Commodity OS Ashvin Goel, Luca, Charles, Jim, Jonathan Walpole Oregon Graduate Institute, Portland Presented.
Real Time System with MVL. © 2007 MontaVista Confidential | Overview of MontaVista Agenda Why Linux Real Time? Linux Kernel Scheduler Linux RT technology.
19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
Real-Time Operating System Design
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.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Interrupt Handler Migration and Direct Interrupt Scheduling for Rapid Scheduling of Interrupt-driven Tasks Reviewer: Kim, Hyukjoong ESLab.
Operating Systems Unit 5: – Processor scheduling – Java – Linux – Windows XP Operating Systems.
Operating System Examples - Scheduling. References r er/ch10.html r bangalore.org/blug/meetings/200401/scheduler-
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
Real-Time Operating Systems RTOS For Embedded systems.
Real-Time Performance of Linux “A Measurement-Based Analysis of the Real-Time Performance of Linux” (L. Abeni, A. Goel, C. Krasic, J. Snow, J. Walpole)
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Mohit Aron Peter Druschel Presenter: Christopher Head
REAL-TIME OPERATING SYSTEMS
Chapter 19: Real-Time Systems
Chapter 5a: CPU Scheduling
Chapter 8 – Processor Scheduling
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Scheduling Adapted from:
CPU SCHEDULING.
Chapter 19: Real-Time Systems
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Supporting Time-Sensitive Applications on a Commodity OS
Shortest-Job-First (SJR) Scheduling
Presentation transcript:

Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien

Overview Motivation Goal Approach Implement TSL  Firm timer  Fine-Grain Kernel Preemptibility  Improved CPU scheduling Evaluation Conclusion

Motivation Increasing use of time-sensitive application on general-purpose OS Most commodity OS targeting to have max system throughput, or only focusing on hard real-time application performance  System throughput decreases

Goal Satisfying time-sensitive application time constraint Attempt to integrate support for time-sensitive applications without sacrificing performance of traditional throughput-oriented applications Build Time-Sensitive Linux (TSL)  While support time-sensitive application, not degrade throughput-oriented application

Approach Time-sensitive applications require  Timely resources allocation  Low kernel latency : Timer latency + preemption latency + scheduling latency Time Wall-clock time event Timer Interrupt Scheduler Application Scheduled (Activation) Interrupt Handler Another app Scheduled Timer Latency Preemption Latency Scheduling Latency

Approach Improve the three keys causing latency  Accurate timing mechanism Firm timer  Responsive kernel Lock-breaking preemptible kernel  Effective CPU scheduling algorithm Proportion-period scheduler Priority-based scheduler

Timer Mechanism Periodic Timers  Periodic timer interrupts. Max timer latency equals to the period.  Reducing latency increases interrupt overhead One-Shot (Hard) Timers  Interrupts only when needed  Cost of timer reprogramming, fielding interrupts Soft Timers  Reduce cost of context switch caused by interrupts  Cost of polling, timer latency Firm Timers  Combines all the advantages of these timers above  Incurs very low overhead

Firm Timer design Providing accurate timing mechanism with low overhead Combining one-shot timers with soft timers by exposing a timer overshoot parameter bounding the latency. Programming one-shot timer to fire after an overshoot amount of time after the next timer expiry If a system call occurs after a timer has expired but before one-shot timer generate interrupt when soft timer is effective. Reprogramming one-shot timer for the next timer expiry – not incur overhead

Overshoot accuracy vs. overhead tradeoff Kernel Space Time System call Time-Sensitive Application require execution Reprogram timer Poll for timer expiry Overshoot Parameter Dispatching timer Timer Latency

Firm Timer Implementation Maintains a timer queue for each processor One-shot APIC timer is programmed to generate an interrupt at the next timer expiry event and global overshoot value (can be made dynamic) Soft timers enabled using non-zero timer overshoot value Periodic timer used when a timer needs longer timeout due to more efficient data structure TSL use the standard POSIX interface calls - modified the implementation to use firm timers

Fine-grained kernel preemptibility Problem:  Larger size of non-preemptible secion results in greater kernel latency Approaches:  Explicit insertion of preemption points  Allow preemption anytime the kernel is not accessing shared data structures  Robert Love’s lock-breaking preemptible kernel

CPU Scheduling Firm timer uses a combination of Proportion-Period CPU Scheduling Priority CPU Scheduling

Proportion-period CPU Scheduling Provides “temporal protection” by allocating each task a fixed proportion of the CPU at each task period Adjustable Q and T by using a feedback controller mechanism Improves accuracy of scheduling analysis T1 T2 2/3 1/3 Proportion Q Time Period T

Priority-based CPU Scheduling Real-time priorities assigned based on application needs TSL schedules fixed priority tasks in the background  Exception: Shared server tasks -> Priority Inversion Use highest locking priority protocol (HLP) to cope with priority inversion Minimizes scheduling latency

Evaluation- Latency in Real Application Kernel CPU load

Evaluation- System Overhead Cost of executing firm timers

Conclusion TSL can support applications requiring fine-grained resource allocation and low latency TSL provides effective supports to both time- sensitive and throughput-oriented applications as a general purpose operating system