efficient microsecond software timer support for network

Post on 28-Jun-2015

537 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related