310 likes | 534 Views
Soft Timers: Efficient Microsecond Software Timer Support for Network Processing. Paper by: Mohit Aron and Peter Druschel of Rice University Presenter: Billy Cheung. Outline. Background: ScalaServer Timers Key Principles Motivation for Soft Timers Applications in Network setting
E N D
Soft Timers: Efficient Microsecond Software Timer Support for Network Processing Paper by: Mohit Aron and Peter Druschel of Rice University Presenter: Billy Cheung
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
ScalaServer: System Support for Scalable Network Servers http://www.cs.rice.edu/CS/Systems/ScalaServer/
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
Keep a large timing wheel A curser in the timing wheel moves one location every time unit (just like a seconds hand in the clock) If the timer interval is within a rotation from the current curser position then put the timer in the corresponding location Requires exponential amount of memory Simple Timing Wheel 0 1 7 2 6 3 5 4 START_TIMER = O(1) STOP_TIMER = O(1) PER_TICK_BOOKKEEPING = O(1) Taken from http://ieeexplore.ieee.org/iel4/90/14085/00650142.pdf?arnumber=650142
Maximum Bound Time: Governed by periodic interrupt
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
Problem: Polling can cause horrible latency problems (especially with anything you need real-time)
Outline • Background: • ScalaServer • Timers • Key Principles • Motivation for Soft Timers • Applications in Network setting • Rate-Based Clocking • Network Polling • Summary/Discussion
References: ScalaServer: http://www.cs.rice.edu/CS/Systems/ScalaServer/ Hashed and hierarchical timing wheels: Data structures for the efficient implementation of a timer facility: http://portal.acm.org/citation.cfm?id=37504 Anticipatory scheduling: a disk scheduling framework to overcome deceptive idleness in synchronous I/O: http://portal.acm.org/ft_gateway.cfm?id=502046&type=pdf&coll=portal&dl=ACM&CFID=11111111&CFTOKEN=2222222