A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/freebsd/freebsd/commit/8ad879445281027858a7fa706d13e458095b595f below:

DCTCP (Data Center TCP) implementation. · freebsd/freebsd-src@8ad8794 · GitHub

1 +

.\"

2 +

.\" Copyright (c) 2014 Midori Kato <katoon@sfc.wide.ad.jp>

3 +

.\" Copyright (c) 2014 The FreeBSD Foundation

4 +

.\" All rights reserved.

5 +

.\"

6 +

.\" Portions of this documentation were written at Keio University, Japan.

7 +

.\"

8 +

.\" Redistribution and use in source and binary forms, with or without

9 +

.\" modification, are permitted provided that the following conditions

10 +

.\" are met:

11 +

.\" 1. Redistributions of source code must retain the above copyright

12 +

.\" notice, this list of conditions and the following disclaimer.

13 +

.\" 2. Redistributions in binary form must reproduce the above copyright

14 +

.\" notice, this list of conditions and the following disclaimer in the

15 +

.\" documentation and/or other materials provided with the distribution.

16 +

.\"

17 +

.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND

18 +

.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

19 +

.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

20 +

.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR

21 +

.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

22 +

.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS

23 +

.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

24 +

.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

25 +

.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY

26 +

.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

27 +

.\" SUCH DAMAGE.

28 +

.\"

29 +

.\" $FreeBSD$

30 +

.\"

31 +

.Dd January 12, 2015

32 +

.Dt CC_DCTCP 4

33 +

.Os

34 +

.Sh NAME

35 +

.Nm cc_dctcp

36 +

.Nd DCTCP Congestion Control Algorithm

37 +

.Sh DESCRIPTION

38 +

The DCTCP (data center TCP) congestion control algorithm aims to maximise

39 +

throughput and minimise latency in data center networks by utilising the

40 +

proportion of Explicit Congestion Notification (ECN) marks received from capable

41 +

hardware as a congestion signal.

42 +

.Pp

43 +

DCTCP uses fraction of ECN marked packets to update congestion window. The

44 +

window reduction ratio is always <= 1/2. Only when all of the packets are

45 +

marked, congestion window is halved.

46 +

.Pp

47 +

In order to keep the accuracy of the ECN marked fraction, a DCTCP receiver

48 +

mirrors back incoming (or missing) CE marks by setting (or clearing) ECE marks.

49 +

This feedback methodology is also adopted when the receiver uses delayed ACK.

50 +

.Pp

51 +

FreeBSD DCTCP implementation includes two minor modifications for the one-sided

52 +

deployment. Considering the situation that DCTCP is used as sender and classic

53 +

ECN is used as receiver, DCTCP sets the CWR flag as the reaction to the ECE

54 +

flag. In addition, when classic ECN is used as sender and DCTCP is used as

55 +

receiver, DCTCP avoids to mirror back ACKs only when the CWR flag is

56 +

set in the incoming packet.

57 +

.Pp

58 +

The other specifications are based on the paper and Internet Draft referenced

59 +

in the

60 +

.Sx SEE ALSO

61 +

section below.

62 +

.Sh MIB Variables

63 +

The algorithm exposes the following tunable variables in the

64 +

.Va net.inet.tcp.cc.dctcp

65 +

branch of the

66 +

.Xr sysctl 3

67 +

MIB:

68 +

.Bl -tag -width ".Va alpha"

69 +

.It Va alpha

70 +

An initial estimator of the congestion on the link.

71 +

Default is 0.

72 +

.It Va dctcp_shift_g

73 +

An estimation gain in the alpha calculation.

74 +

Default is 16.

75 +

.It Va slowstart

76 +

A trigger to halve congestion window after slow start.

77 +

Default does nothing to halve window.

78 +

.Sh SEE ALSO

79 +

.Xr cc_chd 4 ,

80 +

.Xr cc_cubic 4 ,

81 +

.Xr cc_hd 4 ,

82 +

.Xr cc_htcp 4 ,

83 +

.Xr cc_newreno 4 ,

84 +

.Xr cc_vegas 4 ,

85 +

.Xr mod_cc 4 ,

86 +

.Xr tcp 4 ,

87 +

.Xr mod_cc 9

88 +

.Rs

89 +

.%A "Mohammad Alizadeh"

90 +

.%A "Albert Greenberg"

91 +

.%A "David A. Maltz"

92 +

.%A "Jitendra Padhye"

93 +

.%A "Parveen Patel"

94 +

.%A "Balaji Prabhakar"

95 +

.%A "Sudipta Sengupta"

96 +

.%A "Murari Sridharan"

97 +

.%T "Data Center TCP (DCTCP)"

98 +

.%U "http://research.microsoft.com/pubs/121386/dctcp-public.pdf"

99 +

.%J "ACM SIGCOMM 2010"

100 +

.%D "July 2010"

101 +

.%P "63-74"

102 +

.Re

103 +

.Rs

104 +

.%A "Stephen Bensley"

105 +

.%A "Lars Eggert"

106 +

.%A "Dave Thaler"

107 +

.%T "Microsoft's Datacenter TCP (DCTCP): TCP Congestion Control for Datacenters"

108 +

.%U "http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-01"

109 +

.Re

110 +

.Sh HISTORY

111 +

The

112 +

.Nm

113 +

congestion control module first appeared in

114 +

.Fx 11.0 .

115 +

.Pp

116 +

The module was first released in 2014 by Midori Kato studying at Keio

117 +

University, Japan.

118 +

.Sh AUTHORS

119 +

.An -nosplit

120 +

The

121 +

.Nm

122 +

congestion control module and this manual page were written by

123 +

.An Midori Kato katoon@sfc.wide.ad.jp

124 +

and

125 +

.An Lars Eggert lars@netapp.com

126 +

with help and modifications from

127 +

.An Hiren Panchasara hiren@FreeBSD.org


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4