Title: Augmented CPU Reservations Towards Predictable Execution on General-Purpose Operating System
1Augmented CPU ReservationsTowards Predictable
Execution on General-Purpose Operating System
RTAS 2001
- John Regehr, John A. Stankovic
- Department of Computer Science
- University of Virginia
Speaker MingChieh Chang
2Outline
- Background
- Open real-time systems
- Rez
- Stolen time
- Rez-C and Rez-FB
- Design
- Performance
- More stolen time data
- Related work
- Conclusions
3Support Soft Realtime in GPOS
- Reserved time for a thread periodically
- Reservation scheduler
- EXRez
Algorithm Base on EDF Each thread is assigned
a budget (e.g. time quantum) Decrease when the
thread runs Implementation In Windows 2000
kernel
4A Problem
- OS may steal time from the running AP and it is
unaccountable - DPCs in Windows NT / 2000
- Bottom half handlers in Unix
AP
User
OS kernel
Unpredictable penalty
ISR
HW
trigger
5Steal time Network Receive Processing
(expectation)
(Real)
6How to cope with???
Reserve more time
Augmented CPU reservation
Measure stolen time and compensate it
7Rez-C
- C ? Catch up
- When timer is expired
- Call getstolen( ) to get stolen time
- Set budget by stolen time
- Schedule by EDF
Compensate stolen time at this period
8Rez-FB (1/2)
- FB ? FeedBack
- Key idea
- Assume amount of stolen time is similar to the
that of last period
consider stolen time at next period
9Rez-FB (2/2)
Set point R (requested reservation amount)
Actuator Ct (actual reservation amount)
Rez-FB
OS
Application
Feedback Pt (amount of CPU time that a thread
actually used)
Feedback equation Ct1 Ct G(R-Pt)
, G constant ?1
Evaluated each period for each reservation
10Experiment
- Machine
- P3-500
- 256 MB RAM
- Intel EtherExpress Pro/100B PCI Ethernet adapter
- OS
- Windows 2000 with Rez, Rez-C, Rez-FB
- Timer interrupt period
- 244us
11- Test Application (reserved time)
- Poll TSC (for measure)
- Period 20ms
- Reservation 4ms
- Workload (for stolen time)
- Receive processing for 100 Mbps Ethernet
12Augmented Reservation Performance
No workload
Because not consider hardware interrupt
(4m)
(3.6m)
(4.4m)
(4.8m)
13Performance of Rez-FB
14Overhead
- Compare with Windows 2000 Rez
- Rez-C
- 0.012 0.0028
- Rez-FB
- 0.017 0.0024
15Conclusion
- Stolen time is a key problem
- OSs have hundreds of drivers, many of which may
steal time - Augmented CPU reservations
- Simple
- Increase application scheduling predictability
during stolen time