Inactive

Project Summary

  Analyzed 7 days ago based on code collected 7 days ago.

PSPacer (Precise Software Pacer) is a qdisc kernel module which realizes precise transmission bandwidth control. It makes bursty traffic which is often generated by TCP smooth without any special hardware.

Bursty traffic can degrade the communication performance, because it causes buffer overflow at intermediate network nodes and results in packet losses. In a bursty traffic, packets are sent back to back. By adding a short pause in between the packets, traffic bursts can be avoided.

PSPacer controls the interval between outgoing packets very precisely. The key idea of PSPacer is to determine transmission timing of packets by the number of bytes transferred. If packets are transferred back to back, the timing a packet is sent can be determined by the number of bytes sent before the packet. PSPacer fills the gaps between time aligned "real packets" (the packets which are sent by user program) by "gap packets". The real packets and gap packets are sent back to back, and thus the timing of transmission of each real packet can be precisely controlled by adjusting the gap packet size. As the gap packets, the IEEE 802.3x PAUSE frames are used. PAUSE frames are discarded at a switch input port, and only real packets go through the switch keeping the original intervals.

In the past, some software-based pacing schemes have been proposed. These schemes use timer interrupt based packet transmission timing control. Therefore, to achieve precise pacing, they require the operating system to maintain a high resolution timer, which could incur a large overhead.

Share

In a Nutshell, pspacer...

Languages

Autoconf
47%
C
27%
HTML
11%
5 Other
15%
 
 

Lines of Code

 

Activity

30 Day Summary

Apr 26 2015 — May 26 2015

12 Month Summary

May 26 2014 — May 26 2015

Community

Ratings

Be the first to rate this project
 
Click to add your rating
 
Review this Project!