Download presentation
Presentation is loading. Please wait.
1
Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien
2
Overview Motivation Goal Approach Implement TSL Firm timer Fine-Grain Kernel Preemptibility Improved CPU scheduling Evaluation Conclusion
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
CPU Scheduling Firm timer uses a combination of Proportion-Period CPU Scheduling Priority CPU Scheduling
13
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
14
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
15
Evaluation- Latency in Real Application Kernel CPU load
16
Evaluation- System Overhead Cost of executing firm timers
17
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.