Scheduling Issues in Consumer Real-Time
Goal: Coexisting Independent Real-Time Applications
Outline of Talk
Part I: Rialto/NTIntroductionRialto BackgroundWindows NT ImplementationPerformance and TracesApplication ResultsConclusions
Soft Real-Time
Why Soft Real-Time on Windows 2000?
Why not use Windows NT as is?
How Real-Time isWindows 2000?
How Real-Time isWindows 2000? (Cont’d)
What We Did
Teaser Capability
How did we do it?
IntroductionRialto BackgroundWindows NT ImplementationPerformance and TracesApplication ResultsConclusions
Abstraction: CPU Reservation
Abstraction: Time Constraint
Implementation: Precomputed Scheduling Plan
Scheduling Plan Example
Using the Windows NT Scheduler
Multiprocessor Issues
Affinity vs. Priority
Discrete Time
Implementation Details
Non-invasive Implementation
Complication: Unpredictable Dispatch Latency
Better Living Through Simulation
Test Platform
Context Switch Time
Time to Acquire Reservations
Time to Acquire Constraints
Reservations with a Background Thread
Reservations and Constraints
Dual Processor Traces
Windows Media Player
Media Player Thread Structure (Simplified)
MP3 Playback w/o Contention
Starvation Caused by Competing Thread @ Priority 10
Media Player + Reservation
Priority Inversion Caused by Competing Thread
Media Player Deadlock
Results
Implications of Results
Further Research
Rialto/NT Conclusions
References
Part II: Hierarchical Schedulers with Performance Guarantees and Resource Management
Problem Statement
A Solution: Hierarchical Scheduling
Why Hierarchical Loadable Schedulers?
Why Hierarchical Loadable Schedulers? (Cont’d)
Why Not Hierarchical Schedulers
Performance Guarantees
Composability
The Resource Manager
Thesis Statements
Hierarchical Scheduler Operation
Application Mode Change
Implementation 1
Implementation 2
Related Work
Conclusions
For More Information
Not Research Questions
Acquiring a New Guarantee
Interesting Question
Question (Cont’d)
Email: regehr@virginia.edu
Home Page: http://www.cs.utah.edu/~regehr/