110 likes | 225 Views
Predictable Scheduling for a Soft Modem. Michael B. Jones – Microsoft Research Stefan Saroiu – University of Washington. Why Study Soft Modems ?. Signal Processing done on host CPU: requires predictable scheduling requires low latency responses While coexisting with other system activities
E N D
Predictable Scheduling for a Soft Modem Michael B. Jones – Microsoft Research Stefan Saroiu – University of Washington
Why Study Soft Modems ? • Signal Processing done on host CPU: • requires predictable scheduling • requires low latency responses • While coexisting with other system activities • Soft Modem is a background real-time task • Successful in home computer market: • Low cost • Easy to update – software upgrade
Driver versions (INT/DPC/THR/RES) • Vendor version (INT) : 1. DMA transfers between A/D and D/A and physical memory 2. when enough data samples, the modem raises an interrupt 3. inside ISR, process incoming data and provide outgoing samples, before buffers exhausted • Signal processing routines executed: • in a DPC context (DPC) • in a thread context (THR) scheduled by NT scheduler • in a thread context (RES) scheduled by a real-time scheduler based on Rialto/NT
Interrupt Rate 3 different phases, interrupts very regular
Elapsed Times in ISR (INT) 1.8 ms on a Pentium II 450 with a repeatable worst case of 3.3 ms PC 99 recommends maximum time during which a driver-based modem disables interrupts should not exceed 100 µs
CPU Utilization 16% sustained CPU load
CPU Reservation Abstraction and Implementation • CPU Reservation abstraction: • ongoing reservation for X time units out of every Y units for a thread • Implementation limitation: • CPU Reservations must be multiples of milliseconds
File Transfer Times Results for 10 copies of 200,000 bytes each For 1/8, 2/15, 3/17, 4/17, 7/20 no test passed
Modem Reservation Ranges Nonlinear behavior If period < 12.5ms, must get 16% to work If period > 12.5ms, (period – amount) >= 12.5ms must also hold
Conclusions • Signal Processing in interrupt context is: • Unnecessary • Detrimental to the predictability and latencies of the coexisting activities • The DPC version has similar problems • Threads help alleviate these problems • Modem runs well with real-time priorities and non-real-time competition • Real-time scheduler allows control over modem’s degree of interference with other time-sensitive activities
For More Information • See Mike Jones (mbj@microsoft.com): • research.microsoft.com/~mbj/ • or me, Stefan Saroiu (tzoompy@cs.washington.edu): • www.cs.washington.edu/homes/tzoompy • Tech Report available shortly