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)

Slides:



Advertisements
Similar presentations
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Advertisements

 A quantum is the amount of time a thread gets to run before Windows checks.  Length: Windows 2000 / XP: 2 clock intervals Windows Server systems: 12.
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
CPU Scheduling Section 2.5.
Chapter 13 Embedded Systems
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
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.
Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien.
1 Traditional OSes with Soft Real- Time Scheduling Module 3.3 For a good summary, visit:
CS533 Concepts of Operating Systems Class 10 Fine Grain Timing.
CS533 Concepts of Operating Systems Class 18 Fine Grain Timing.
Performance Evaluation of Real-Time Operating Systems
Semaphores. Readings r Silbershatz: Chapter 6 Mutual Exclusion in Critical Sections.
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.
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.
Linux and Real Time Real-time systems are characterized by deadlines. When a missed deadline results in inconvenience or a diminished customer experience,
CS 153 Design of Operating Systems Spring 2015 Lecture 11: Scheduling & Deadlock.
Fast Multi-Threading on Shared Memory Multi-Processors Joseph Cordina B.Sc. Computer Science and Physics Year IV.
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 Strategies Operating Systems Spring 2004 Class #10.
Tami Meredith, Ph.D. CSCI  Devices need CPU access  E.g., NIC has a full buffer it needs to empty  These device needs are often asynchronous.
TCPivo A High-Performance Packet Replay Engine Wu-chang Feng Ashvin Goel Abdelmajid Bezzaz Wu-chi Feng Jonathan Walpole.
Cpr E 308 Spring 2004 Real-time Scheduling Provide time guarantees Upper bound on response times –Programmer’s job! –Every level of the system Soft versus.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
Fall 2013 SILICON VALLEY UNIVERSITY CONFIDENTIAL 1 Introduction to Embedded Systems Dr. Jerry Shiao, Silicon Valley University.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
CS399 New Beginnings Jonathan Walpole. 2 Concurrent Programming & Synchronization Primitives.
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.
MP2: RATE-MONOTONIC CPU SCHEDULING Based on slides by Gourav Khaneja, Raoul Rivas and Keun Yim University of Illinois at Urbana-Champaign Department of.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS3: Concurrency 3.3. Advanced Windows Synchronization.
CS333 Intro to Operating Systems Jonathan Walpole.
Practice Chapter Five.
Managing Processors Jeff Chase Duke University. The story so far: protected CPU mode user mode kernel mode kernel “top half” kernel “bottom half” (interrupt.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Time Sources and Timing David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
CHAPTER 7 CONCURRENT SOFTWARE Copyright © 2000, Daniel W. Lewis. All Rights Reserved.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
CSC 660: Advanced Operating SystemsSlide #1 CSC 660: Advanced OS Synchronization.
Low Overhead Real-Time Computing General Purpose OS’s can be highly unpredictable Linux response times seen in the 100’s of milliseconds Work around this.
Scheduling Classes and Real-Time Scheduling in Linux David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St.
Interrupts and Interrupt Handling David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Mutual Exclusion -- Addendum. Mutual Exclusion in Critical Sections.
Copyright © 2010 K Computing Use of RT-Preempt Kevin Dankwardt, Ph.D. K Computing
6.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 6.5 Semaphore Less complicated than the hardware-based solutions Semaphore S – integer.
Inside The RT Patch Steven Rostedt (Red Hat) Darren V Hart (IBM) Talk: Benchmarks :
REAL-TIME OPERATING SYSTEMS
Linux Realtime Preemption and Its Impact on ULDD* - Progress Report -
Chapter 5a: CPU Scheduling
Time Sources and Timing
Realtime Linux Clark Williams Tech Lead
Midterm Review David Ferry, Chris Gill
Time Sources and Timing
CSCI 511 Operating Systems Chapter 5 (Part C) Monitor
Real-Time Operating Systems
Mid Term review CSC345.
Chapter 2: The Linux System Part 3
Thread Implementation Issues
Lecture 2 Part 2 Process Synchronization
CSE 451 Autumn 2003 Section 3 October 16.
Top Half / Bottom Half Processing
Time Sources and Timing
Supporting Time-Sensitive Applications on a Commodity OS
CSE 153 Design of Operating Systems Winter 19
CS333 Intro to Operating Systems
Scheduling Classes and Real-Time Scheduling in Linux
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

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)

OS Latency Definition [OS Latency] Let T be a task belonging to a time-sensitive application that requires execution at time t, and let t’ be the time at which T is actually scheduled; we define the OS latency experienced by T as L= t’ – t.

Sources of OS Latency Timer Resolution (L timer ) –Timer are generally implemented using a periodic tick interrupt. A task that sleeps for an arbitrary amount of time can experience some timer resolution latency if its expected activation time is not on a tick boundary. Scheduling Jitter (L SJ ) –Task is not highest in scheduling queue. Non-Preemptable Portions (L NP ) –Latency can be caused by non-preemptable sections in kernel and in drivers. (e.g. ISRs, bottom halves, tasklets).

Timer Resolution Standard Linux timers are triggered by a periodic tick interrupt. On x86 machines it is generated by the Programmable Interval Timer (PIT) with period T tick = 10ms. How about decreasing T tick ? High-resolution timers using aperiodic interrupt capabilities in modern APICs (Advanced Programmable Interrupt Controller). Timer resolution possible in range of 4-6musec.

Non-Preemptible Section Latency Standard Linux: –monolithic structure of kernel. –Allows execution of at most one thread in kernel. This is achieved by disabling preemption when an execution flow enters the kernel, i.e., when an interrupt fires or when a system call is invoked. –Latency can be as large as 28ms. Low-Latency Linux –Insert explicit preemption points (re-scheduling points) inside the kernel. –Implemented in RED Linux and Andrew Morton’s low-latency patch. Preemptable Linux –To support full kernel preemptability, kernel data must be explicitly protected using mutexes or spinlocks. –Linux preemptable kernel patch disables preemption only when spinlock is held. –Latency determined by max. amound of time for which a spinlock is held plus maximum time taken by ISRs, bottom halves, and tasklets. Preemptable Lock-Breaking Linux –Spinlocks are broken by releasing spinlocks at strategic points.

Timer Latency

OS Non-Preemptable Section Latency

OS Non-Preemptible Portion Latency

Non-Preemptible Portion Latency

Latencies

Inter Frame Times