Efficient Microsecond Software Timer Support For Network
-
Upload
nirmala-last -
Category
Technology
-
view
537 -
download
2
Transcript of Efficient Microsecond Software Timer Support For Network
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
Periodic Timer
Soft Timer
One-Shot Timer
One Timer
Two Timers
Outline
• Background:• ScalaServer• Timers
• Key Principles• Motivation for Soft Timers• Applications in Network setting
• Rate-Based Clocking• Network Polling
• Summary/Discussion
Based on Convenience/Laziness
Trigger States
Timing Wheels
Simple Timing Wheel
• 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
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
1
2
345
6
70
Disadvantages?
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
Why do we need them?
Interrupts and context switches are expensive
Outline
• Background:• ScalaServer• Timers
• Key Principles• Motivation for Soft Timers• Applications in Network setting
• Rate-Based Clocking• Network Polling
• Summary/Discussion
Rate-based Clocking
Problem: ACK Compression
Problem: big ACKs
Problem: Slow start is slow
Network Polling
Problem: Transmit/Receiver Interrupts common
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
Soft Timers work.
• 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