CS533 Winter 2007

14
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007

description

Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel. CS533 Winter 2007. Motivation. Conventional timer facilities schedule events by hardware interrupts Interrupts and Context Switches are expensive - PowerPoint PPT Presentation

Transcript of CS533 Winter 2007

Page 1: CS533 Winter 2007

Soft Timers : Efficient Microsecond Software Timer Support for Network Processing

- Mohit Aron & Peter Druschel

CS533 Winter 2007

Page 2: CS533 Winter 2007

Motivation Conventional timer facilities schedule events by

hardware interrupts

Interrupts and Context Switches are expensive• Not a concern if occurs on msec timescale –

conventional timer interrupts for timeslicing• Have significant impact if in order of μsec –

network receive interrupts in high speed network

Cost of timer interrupt – 4.45μsec

Page 3: CS533 Winter 2007

Soft Timers A mechanism for scheduling fine grained events

in an OS with low overhead Trigger States – during normal operation a

system frequently reaches states where an event handler can be invoked with minimum overhead

a. end of system call before to returning to user program

b. when CPU is executing in idle loop

c. End of page fault handler or software managed TLB miss

Page 4: CS533 Winter 2007

Why Trigger states? No saving and restoring of registers necessary Locality of reference already disturbed Costs no more than a function call

What happens Soft timer facility checks for pending soft timer events &

invokes associated handlers Involves reading clock & comparing with scheduled time of

earliest soft timer event

What can go wrong Event may be delayed past its scheduled time Maximal delay is bounded – to invoke periodic hardware

interrupt

Page 5: CS533 Winter 2007

Point to note – as long as a system reaches trigger states with sufficient frequency the soft timer facility can schedule events with much finer granularity than periodic hardware interrupts.

T < Actual Event Time < T + X + 1

T = measure clock resolution = 1micro sec

interrupt clock resolution = 1 msec

so X = 1000 and maximum delay is 1001 micro secs

Page 6: CS533 Winter 2007

Applications - Network Processing

Rate based Clocking Network Polling

Page 7: CS533 Winter 2007

Rate Based Clocking Current implementations of TCP perform self –clocking Rate Based Clocking – is to transmit packets at a constant

rate rather than in response to arrival of ACK’s Helps achieve high utilization in networks with large

BDP 1Gbps network ,1500 byte packets requires a transmission

every 12μsecs Soft timers allow fine grained scheduling with low

overhead

Page 8: CS533 Winter 2007

Protocol Implementation – adaptive algorithm to smooth variations caused by probabilistic nature of soft timers

Two parameters – target transmission rate maximal allowable burst transmission rate keeps track of average of actual transmission rate

When actual transmission rate < target rate interval for next transmission is adjusted according to maximum

allowable burst transmission rate.

Page 9: CS533 Winter 2007

Network polling Network interfaces generate a hardware interrupt to signal packet

reception or transmission Another approach is pure polling : where the scheduler periodically

calls network driver to poll network interfaces Hybrid technique is to use interrupts under normal load and polling

during network overload Soft timers can be schedules at μsec granularity and similar to pure

polling as far as locality of reference is concerned.

Page 10: CS533 Winter 2007

Experimental results – Base overhead incurred

Hardware timer overhead does not scale with CPU speed. Relative cost increases as CPU gets faster. Base overhead imposed by on-chip timer is low Base overhead of software timers is negligible – overhead of

procedure call

off-chip timer on-chip timer

Page 11: CS533 Winter 2007

Experimental results

Page 12: CS533 Winter 2007

Experimental results

System calls and IP packet transmissions are most important sources in this workload.

Most practical programs frequently make system calls, suffer page faults or general exceptions that causes system to reach trigger state.

Page 13: CS533 Winter 2007

Experimental results – Network Polling

Page 14: CS533 Winter 2007

Conclusion

Soft timers allow system to efficiently schedule events at granularity of μsecs.

Event granularity increases linearly with CPU speed & network speed.

Can be integrated with on-chip hardware to provide fine-grained events with tight deadlines at very low overhead.