05.08.2014 Views

An Investigation into Transport Protocols and Data Transport ...

An Investigation into Transport Protocols and Data Transport ...

An Investigation into Transport Protocols and Data Transport ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.2. TCP Tuning & Performance Improvements 86<br />

Initial Window Size<br />

For short TCP connections that only transfer a small amount of data, the<br />

rate of transfer is limited primarily by the amount of time spent in slow<br />

start. TCP is currently defined to start a connection with an initial cwnd of<br />

one. Therefore, by increasing this value to three segments rather than one,<br />

the amount of data transferred at the start of the connection is improved<br />

by a factor of three <strong>and</strong> the connection can therefore terminate earlier for<br />

the same amount of data sent. However, due to the larger initial burst, a<br />

connection across links with very small router buffers may experience loss<br />

sooner <strong>and</strong> therefore resort back <strong>into</strong> congestion avoidance.<br />

[AFP98] defines an experimental extension that allows an increase of the<br />

initial window to three or four segments. However, the number of segments<br />

sent after an RT O is still fixed at one segment.<br />

However, for large file transfers that take a long time, the time saved by<br />

having a larger initial window is irrelevant as TCP will most likely spend<br />

most of its time in congestion avoidance.<br />

5.2.2 Host Queues<br />

The txqueuelen is a Linux sysctl variable that determines the maximum<br />

number of packets that can be buffered on the egress queue of the kernel<br />

before it enters the NIC’s device driver [ABL + 03].<br />

Higher queues sizes means that more packets can be buffered <strong>and</strong> hence<br />

not lost. This is especially important for TCP in the Linux kernel as the<br />

overflow of this queue will cause immediate congestion control to be instantiated,<br />

even though the packet is lost locally rather than on the network. The<br />

Linux Web100 patch [MHR03] determines such action as SendStalls <strong>and</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!