From sac-owner Mon Nov 16 11:19:32 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nAGJJWli021371
	for <one-pager@sac.eng.sun.com>; Mon, 16 Nov 2009 11:19:32 -0800 (PST)
Received: from sunmail3mpk.sfbay.sun.com (localhost [127.0.0.1])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nAGJJWFq012906
	for <one-pager-not-2b-used-directly@sunmail3mpk.sfbay.sun.com>; Mon, 16 Nov 2009 11:19:32 -0800 (PST)
Received: (from noaccess@localhost)
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id nAGJJWUu012904
	for one-pager-not-2b-used-directly; Mon, 16 Nov 2009 11:19:32 -0800 (PST)
X-Authentication-Warning: sunmail3mpk.sfbay.sun.com: noaccess set sender to one-pager-request@sun.com using -f
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nAGJJU1M012873
	for <@sunmail2sca.sfbay.sun.com:one-pager@sun.com>; Mon, 16 Nov 2009 11:19:31 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KT70060FV0JLR00@nwk-avmta-2.sfbay.sun.com> for one-pager@sun.com
 (ORCPT one-pager@sun.com); Mon, 16 Nov 2009 11:19:31 -0800 (PST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KT700LAOV0IBLE0@nwk-avmta-2.sfbay.sun.com> for
 one-pager@sun.com (ORCPT one-pager@sun.com); Mon,
 16 Nov 2009 11:19:30 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nAGJJUam028542	for
 <one-pager@sun.com>; Mon, 16 Nov 2009 11:19:30 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KT700J00UCEUI00@fe-sfbay-10.sun.com> for one-pager@sun.com
 (ORCPT one-pager@sun.com); Mon, 16 Nov 2009 11:19:30 -0800 (PST)
Received: from [129.146.104.83] ([unknown] [129.146.104.83])
 by fe-sfbay-10.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KT7005UGV0CDJH0@fe-sfbay-10.sun.com> for one-pager@sun.com
 (ORCPT one-pager@sun.com); Mon, 16 Nov 2009 11:19:29 -0800 (PST)
Date: Mon, 16 Nov 2009 11:19:23 -0800
From: Artem Kachitchkine <Artem.Kachitchkin@sun.com>
Subject: [2009/629]Pluggable TCP Congestion Control
Sender: Artem.Kachitchkin@sun.com
To: one-pager@sun.com
Message-id: <4B01A5BB.4080102@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
User-Agent: Thunderbird 2.0.0.22 (X11/20090909)
Status: RO
Content-Length: 4645

Template Version: @(#)onepager.txt 1.35 07/11/07 SMI
Copyright 2007 Sun Microsystems

1. Introduction
    1.1. Project/Component Working Name:
	Pluggable TCP Congestion Control

    1.2. Name of Document Author/Supplier:
	Artem Kachitchkine <artem.kachitchkin@sun.com>

    1.3. Date of This Document:
	11/16/09
	
    1.4. Name of Major Document Customer(s)/Consumer(s):
	1.4.1. The PAC or CPT you expect to review your project:
		Solaris PAC
	1.4.2. The ARC(s) you expect to review your project:
		PSARC
	1.4.3. The Director/VP who is "Sponsoring" this project:
		Greg.Lavender@sun.com
	1.4.4. The name of your business unit:
		Systems

    1.5. Email Aliases:
     	1.5.1. Responsible Manager: Victor.Nelson@sun.com
     	1.5.2. Responsible Engineer: Artem.Kachitchkin@sun.com
     	1.5.3. Marketing Manager: Jeff.McMeekin@Sun.COM
	1.5.4. Interest List:

2. Project Summary
    2.1. Project Description:
	We propose to replace hard-coded congestion control in Solaris
	TCP and SCTP stacks with a pluggable module framework. We also
	propose to implement several alternative congestion control
	algorithms that can achieve better bandwidth utilization, among
	other useful properties, compared to the existing "NewReno"
	algorithm.

    2.2. Risks and Assumptions:
	This project has no significant risks.

3. Business Summary
	Solaris is trailing Linux and other OSes by not implementing
	modern congestion control algorithms, possibly hindering its
	deployment in some network environments.

    3.1. Problem Area:
	The current congestion control algorithm in Solaris
	underutilizes network bandwidth in presence of packet loss in
	certain environments. Better algorithms have been developed
	that can achieve much better utilization.

    3.2. Market/Requester:
	Any customer that strives to maximize network performance.

    3.3. Business Justification:

    3.4. Competitive Analysis:
	Open and closed source operating systems.

    3.5. Opportunity Window/Exposure:

    3.6. How will you know when you are done?:


4. Technical Description:
     4.1. Details:
	A new type of kernel loadable module will be introduced. Each
	module will implement a congestion control algorithm. Modules
	will be loaded on demand by the transport protocol. Algorithms
	that we plan to implement initially: NewReno, HighSpeed, CUBIC,
	Westwood+, Vegas.

	Module administration will be done using ipadm(1M) command.
	Subcommands for adding, removing and listing modules will be
	added. It will be possible to set the default congestion
	control algorithms systemwide or on a per-zone basis.

	New socket options will be introduced for setting algorithm for
	a connection and for inquiring various congestion relater
	parameters. Socket options are available to applications via
	exiisting getsockopt and setsockopt(3SOCKET) interfaces. The
	proposed socket options are compatible with those implemented
	by Linux and FreeBSD.

     4.2. Bug/RFE Number(s):
     	6901708

     4.3. In Scope:

     4.4. Out of Scope:
	This project focuses on wired networking. While wireless
	performance will likely improve by using some of the new
	algorithms, it is not an explicit requirement of this project.

     4.5. Interfaces:
	New Consolidation Private kernel interfaces are introduced
	between loadable modules and the rest of the networking stack.

	New ipadm(1M) subcommands are Committed.

	New socket options are Uncommitted.

     4.6. Doc Impact:
	ipadm(1M) man page
	Solaris System Administration Guide

     4.7. Admin/Config Impact:
	ipadm(1M) will get new subcommands.

     4.8. HA Impact:

     4.9. I18N/L10N Impact:

     4.10. Packaging & Delivery:
	New packages might be introduced.

     4.11. Security Impact:
	None.

     4.12. Dependencies:
	Depends on: 2009/306 Brussels II - ipadm and libipadm

5. Reference Documents:

6. Resources and Schedule:
    6.1. Projected Availability:
	Q2 2010

    6.2. Cost of Effort:
	Development: 4 man-months
	Test development: 3 man-months
	Documentation: 1 man-week

    6.3. Cost of Capital Resources:
	$10K

    6.4. Product Approval Committee requested information:
    	6.4.1. Consolidation or Component Name:
		ON
	6.4.3. Type of CPT Review and Approval expected:
		FastTrack
         6.4.4. Project Boundary Conditions:
	6.4.5. Is this a necessary project for OEM agreements:
		No
	6.4.6. Notes:
	6.4.7. Target RTI Date/Release:
		Apr 2010
	6.4.8. Target Code Design Review Date:
		Feb 2010
	6.4.9. Update approval addition:

    6.5. ARC review type:
		Standard
    6.6. ARC Exposure:
		open

7. Prototype Availability:
    7.1. Prototype Availability:
	Now

    7.2. Prototype Cost:
	2 man-months


