86bd Summary of Five New TCP Congestion Control Algorithms Project - The FreeBSD Forums
The FreeBSD Forums  

Go Back   The FreeBSD Forums > The FreeBSD Forums > News & Announcements

News & Announcements Important information related to FreeBSD Forums and the FreeBSD project.

Reply
 
Thread Tools Display Modes
  #1  
Old March 8th, 2011, 14:00
admin admin is offline
Administrator
 
Join Date: Sep 2007
Posts: 627
Thanks: 0
Thanked 113 Times in 40 Posts
Post Summary of Five New TCP Congestion Control Algorithms Project

Grenville Armitage has provided a summary of the completed TCP Congestion Control Algorithms project:

Background

TCP is a crucial part of any modern operating system. FreeBSD's standard "NewReno" congestion control (CC) is not able to fully utilize the high capacity links available today. A range of newer CC algorithms have emerged (and continue to emerge) from the networking research community over the past 15+ years. These include traditional loss-based algorithms (where packet losses indicate network congestion) and delay-based algorithms (where changes in Round Trip Time, RTT, are used to infer network congestion).

However, to date FreeBSD's TCP stack has not had an easy-to-use mechanism for introducing new CC algorithms. In recent years the Centre for Advanced Internet Architectures (CAIA) at Swinburne University of Technology has (with the support of the Cisco University Research Program Fund at Community Foundation Silicon Valley) been developing a range of extensions to the FreeBSD TCP stack. These included a modular framework for adding new CC algorithms and new modular implementations of the existing NewReno algorithm, four other algorithms from the literature (H-TCP, CUBIC, Vegas and HD) and a novel algorithm developed at CAIA (CHD). In mid-2010 the FreeBSD Foundation funded CAIA to complete, tidy up and commit a number of these key enhancements to the FreeBSD TCP stack.

Delivered

Our project, "Five New TCP Congestion Control Algorithms for FreeBSD", has delivered
the following enhancements to FreeBSD's TCP stack:
  • Modular congestion control framework.
  • Khelp (Kernel Helper) and Hhook (Helper Hook) frameworks.
  • Basic Khelp/Hhook (Kernel help/hook) integration with the TCP stack.
  • ERTT (Enhanced Round Trip Time) Khelp module for delay-based TCP algorithms.
  • Modularised implementations of NewReno, CUBIC and HTCP loss-based TCP CC algorithms.
  • Modularised implementations of Vegas, "HD" and "CHD" delay-based TCP CC algorithms.
  • Technical report comparing the computational overhead associated with TCP before and after integrating the new frameworks and modularised NewReno algorithm

Benefits

Each congestion control algorithm is implemented as a loadable kernel module. Algorithms can be selected to suit the application/network characteristics and requirements of the host's installation. The modular CC framework also makes it much easier for developers to implement new algorithms, allowing FreeBSD's TCP to be at the forefront of advancements in this area, while still maintaining the stability of its network stack.

CUBIC and HTCP are variants of TCP that provide significant performance improvements (relative to NewReno) over high bandwidth, high latency paths. Vegas, HD, and CHD utilise RTT fluctuations to provide a more timely indication of network congestion -- by not forcing network queues to overflow, delay-based CC algorithms can help to keep queuing delays low along a network path. CHD is also tolerant of packet losses that are unrelated to congestion (such as can occur over wireless links).

In addition, the Khelp/Hhook frameworks provide useful kernel infrastructure which
are not specific to the TCP stack and we anticipate they will be used elsewhere in
the kernel in the future to provide other unrelated enhancements to FreeBSD.

Participants

Code development, testing, and documentation: David Hayes and Lawrence Stewart

Editorial review of code and documentation: Rui Paulo and Bjoern Zeeb

Project supervision: Grenville Armitage

Project URL: http://caia.swin.edu.au/freebsd/5cc/


More...
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Feed-Forward Clock Synchronization Algorithms Project admin News & Announcements 0 December 21st, 2010 18:10
Five new TCP Congestion Control Algorithms Project admin News & Announcements 0 December 4th, 2010 14:40
Summary of DTrace Project admin News & Announcements 0 September 25th, 2010 14:00
brightness control TCE Mobile Computing 10 May 10th, 2010 03:34
SCTP and congestion control chrcol Networking 2 December 22nd, 2008 12:45


All times are GMT +1. The time now is 21:49.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.
The mark FreeBSD is a registered trademark of The FreeBSD Foundation and is used by The FreeBSD Project with the permission of The FreeBSD Foundation.
Web protection and acceleration provided by CloudFlare
0