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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

the BDP of the network at just under 600 packets, which is the maximal rate<br />

at which the receiver is able to receive packets as the sender is transferring<br />

data at line rate.<br />

It is clearly visible that the oscillatory behaviour of TCP is minimised<br />

such that the sustained throughput is higher. However, it should also be<br />

noted that due to the drop in cwnd upon loss, the utilisation of a DRS’d flow<br />

is not maximal as with the case of normal TCP. The advantage of imposing<br />

such an algorithm is two-fold: with appropriate measures to minimise the<br />

socket-buffer size to that actually used by the flow (i.e. approximately the<br />

value of cwnd) memory is not wasted; <strong>and</strong> induced loss through sending too<br />

many packets <strong>into</strong> the network is also minimised, <strong>and</strong> therefore should the<br />

buffer provision be small along the path, a DRS’d flow should be able to<br />

obtain higher utilisation than a normal flow.<br />

5.2.6 Socket Buffer Auto-Tuning & Caching<br />

[SMM98] describes modifications to a NetBSD kernel that allow the kernel<br />

to automatically resize the sender’s buffers. It enables a host that serves<br />

many clients (such as a web server) to fairly share the available kernel buffer<br />

memory <strong>and</strong> to provide better throughput than manually configured TCP<br />

socket buffers. This is called socket buffer autotuning <strong>and</strong> is important as the<br />

assignment of large default socket buffer sizes for all TCP connections would<br />

result in the reduction of physical memory.<br />

For applications that do not explicitly set the TCP send buffer size via<br />

the setsockopt() options, socket buffer autotuning allows the sender socket<br />

buffer to grow with cwnd <strong>and</strong> utilise the available b<strong>and</strong>width of the link<br />

(up to the receiver’s advertised window). As the number of flows increases,

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

Saved successfully!

Ooh no, something went wrong!