FOSSLC is a non-profit organization that specializes in technology and know-how to record conferences with excellent quality. Click on the icons below to view great videos from communities we are actively involved with:

 

A new packet scheduling architecture for FreeBSD

in BSD, BSDCan2010, FreeBSD, Networking, Programming, BSD
FreeBSD

Location

Ottawa, ON
Canada
45° 24' 41.6592" N, 75° 41' 53.4984" W

Historically, FreeBSD has had two packet scheduling options: AltQ, which can do output scheduling using the network card as a transmission clock, and "dummynet", which was born as a link emulator but also included one scheduling algorithm.

We have recently made an almost complete rewrite of dummynet to support multiple scheduling algorithms, so that users can pick the ones that fit best their needs. In the process, we also performed a thorough performance analysis of the tool, so now users can make more informed choices on how to configure their packet scheduling/shaping architecture and on which tradeoffs are involved.

In this talk we will make the following contributions:

   1. describe the internal architecture of the new version of "dummynet", and the API used by the loadable packet schedulers;
   2. give a "user view" of the new features made available by this updated version of dummynet;
   3. briefly discuss the theory behind packet scheduling, and show how different solutions expose different tradeoffs betweeen service properties, guarantees and run-time complexity;
   4. show a number of examples and experiments, running real code from the SVN tree, to demonstrate that the (apparently dry) theory discussed in #3 has actual implications in practice.

Minutes: 
60
Event: 
BSDCan2010
Speaker: 
Luigi Rizzo
Filmed: 
13.05.2010