200 likes | 671 Views
RT- Xen : Towards Real-Time Hypervisor Scheduling in Xen. Sisu Xi, Justin Wilson, Chenyang Lu, and Christopher Gill. Background – Virtualization . System Integration, Reducing Cost, etc. App. App. App. App. R eal-time aware. OS. OS. Xen Hypervisor. Not real-time aware. Hardware.
E N D
RT-Xen: Towards Real-Time Hypervisor Scheduling in Xen Sisu Xi, Justin Wilson, Chenyang Lu, and Christopher Gill
Background – Virtualization • System Integration, Reducing Cost, etc. App App App App • Real-time aware OS OS Xen Hypervisor • Not real-time aware Hardware Hardware Hardware Round-Robin fashion NO priority between OS Time Problem: Real-Time Applications can NOT benefit from Virtualization
Motivation – From Scheduling’s View App App App App App App App App … Leaf Sched OS Sched OS Sched Leaf Sched … Xen Scheduler Root Scheduler Leaves are implemented as Servers (Period, Budget, Priority) Solution: Incorporate Hierarchical Scheduling
Contributions – RT-Xen • First real-time hypervisor scheduling framework for Xen • Most widely used open-source virtual machine monitor (VMM) • Open-source platform for researchers to develop and evaluate real-time hierarchical scheduling techniques • Instantiates four fixed-priority servers • Deferrable, Periodic, Polling, Sporadic Server • First comprehensive experimental comparison of these servers within a same virtualization platform
Server Design – Deferrable & Periodic • Servers (Period, Budget, Priority) T1 (10, 3) S1 (5, 3, 1) with Two Tasks T2 (10, 3) Time 2 15 0 10 5 Actual Execution back-to-back Deferrable Server 3 Budget in S1 Time 0 10 5 15 2 Actual Execution IDLE theory favored Periodic Server 3 Budget in S1 Time 2 0 10 5 15
Implementations • Implemented in Xen 4.0 • All source code available at http://sites.google.com/site/realtimexen/ • Support only one VCPU per domain (single core) • VCPU (period, budget, priority) Xen Scheduling Framework Credit Scheduler SEDF Scheduler RT-Xen Sub-Framework Deferrable Server Periodic Server Polling Server Sporadic Server
Experimental Setup Scheduling Algorithm (Deferrable, Polling, Periodic, Sporadic) (Period, Budget, Priority) for Dom1 (Period, Budget, Priority) for Dom2 … Use Rate Monotonic within each Domain For each task: shorter period -> higher priority IDLE App App App App Dom0 Dom1 Dom5 … VCPU VCPU VCPU RT-Xen Schedulers (Deferrable, Polling, Periodic, Sporadic) HW Core 0 Core 1
Overhead context switch Five tasks per Domain, Five Domains System Load: 70% do_schedule() Time Run for 10 seconds +0.02% 1. Context Switch >> do_schedule() 2. Acceptable overhead to many real-time systems 3. Differences between server algorithms are insignificant
Soft Real-Time Performance – Setup High • VCPU Share = Budget / Period • System Load: 30% -> 100% +5% Priority • Credit: Same Share Decreasing Even Increasing easiest common hardest
Soft Real-Time Test Decreasing Increasing Deadline Miss Ratio Total System Load
Soft Real-Time Test - Credit Decreasing Increasing Deadline Miss Ratio Theory Guarantee When Deadline Miss Credit scheduler can NOT deliver real-time performance. Total System Load
Soft Real-Time Test - Deferrable Decreasing Increasing Deadline Miss Ratio [30%, 45%] [R. Davis, A. Burns, RTSS 2005] Total System Load
Soft Real-Time Test - Periodic Decreasing Increasing Deadline Miss Ratio [30%, 50%], [60%, 75%] [R. Davis, A. Burns, RTSS 2005] Theory is pessimistic. Total System Load
Soft Real-Time Test - Overloaded Decreasing Increasing Deadline Miss Ratio Deferrable Server performs well Periodic Server performs worst Total System Load
Summary • Instantiation and empirical study of fixed-priority servers • Deferrable Server, Polling Server, Periodic Server, Sporadic Server • First comprehensive experimental comparison of these algorithms in the same virtualization platform • Overhead differences between servers are insignificant • For soft real-time performance: • Theory is pessimistic • Deferrable Server generally performs well • Periodic Server performs worst under overloadedsituations
Pointers • RT-Xen Website: • https://sites.google.com/site/realtimexen/ • All source code including test programs, task sets, documentation. • Call for users and contributors!