page 1
play

Page 1 Time Stolen by Network Stolen Time Solutions Receive - PDF document

Outline of Talk Background Augmented CPU Open real-time systems Reservations Rez and HLS Stolen time Rez-C and Rez-FB John Regehr John A. Stankovic Design University of Virginia Performance More stolen time


  1. Outline of Talk � Background Augmented CPU � Open real-time systems Reservations � Rez and HLS � Stolen time � Rez-C and Rez-FB John Regehr John A. Stankovic � Design University of Virginia � Performance � More stolen time data May 31, 2001 � Related work � Conclusions 1 2 Background: Soft Real- Rez: A Reservation Time in an Open System Scheduler � Algorithm: � Goal: Coexisting, independently developed real-time applications � EDF � Digital video and audio, voice � Budgets recognition, vision, soft modem, � Implementation: games, etc. � In Windows 2000 kernel � A solution: add CPU reservations � Uses HLS hierarchical scheduler to general-purpose OS infrastructure � Applications scheduled at specified � 400 lines of C rate and granularity � E.g. 1 ms / 7.5 ms, 15 ms / 250 ms 3 4 HLS Example A Problem: Stolen Time � OS may steal CPU time from applications, causing missed Rez Schedulers deadlines communicate � Stolen time sources: using virtual � DPCs in Windows NT / 2000 Video processors PS � Bottom half handlers in Unix Voice � Stolen time mechanisms: high Emacs priority, not preemptible, not accounted for HLS = Windows 2000 + 3100 lines of C 5 6 Page 1

  2. Time Stolen by Network Stolen Time Solutions Receive Processing � Move CPU-intensive tasks into threads � Make stolen time mechanisms preemptible � Account for worst-case amount of stolen time � Augmented CPU reservations 7 8 Rez-FB Augmented Reservations Set point: R Actuator: C t � Strategy: accurately measure (requested (actual reservation reservation stolen time amount) amount) � Instrument Windows 2000 dispatch interrupt handler Rez-FB OS Application � Rez-C: avoid deducting stolen Feedback: P t time from budgets (amount of � Rez-FB: feedback control stolen time) � Goal: actual CPU time == Feedback equation: requested CPU time C t+1 = C t + G(R-P t ) Evaluated each period for each reservation 9 10 Augmented Reservation More Stolen Time Data Performance � Test machine: 500 MHz PIII � Receive processing for 100 Mbps Ethernet: � More than 20% of reservation in Linux and Windows 2000 � Software modem: � 9.9% in Windows 2000 � USB 1.1 � 5.7% in Windows 2000 � USB 2.0, Firewire � ?? 11 12 Page 2

  3. Time Stolen by Disk Driver Related Work Moving code into scheduled contexts � � Soft modems [Jones and Saroiu 01] Scheduling bottom-half activity � � Mach [Rashid et al. 89] � Nemesis [Leslie et al. 96] � FreeBSD [Jeffay et al. 98] Including stolen time in schedulability � analysis � Accounting for interrupt costs [Jeffay and � 49% of reservation stolen by Stone 93] Linux IDE disk driver in default Feedback-based scheduling � mode (PIO) � FC-EDF [Lu et al. 99] 13 14 Conclusion The End � Stolen time is a serious problem � Experiments show up to 50% of � More info and papers here: CPU being stolen http://www.cs.utah.edu/~regehr � OSs have hundreds of drivers, many of which may steal time � Augmented CPU reservations: � Let’s talk… � Simple and non-intrusive � Increase application scheduling predictability during stolen time 15 16 Augmented Reservation OS Design Rule Contributions � Mechanisms that are invoked often must be lightweight � Rez-C and Rez-FB � Interrupts � 6% over-reservation to eliminate � Highest priority most deadline misses due to network traffic � Fixed-priority scheduler � vs. 24% over-reservation for plain � DPCs, bottom-half handlers Rez � Medium priority � Quantified severity of stolen time � FIFO scheduler � Windows 2000 + Rez and Linux/RT � Threads � Network, disk, software modem, � Lowest priority USB � Time-sharing scheduler 17 18 Page 3

Recommend


More recommend