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.1. TCP Hardware Requirements 83<br />

CPU Load (fraction)<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

CPU Requirements for Various TCP Throughputs<br />

Sender Kernel<br />

Receiver Kernel<br />

Sender User<br />

Receiver User<br />

0<br />

0 100 200 300 400 500 600 700 800 900 1000<br />

Throuhgput (mbit/sec)<br />

Figure 5.3: CPU utilisation with different TCP throughputs.<br />

identical Dual Xeon 2.0Ghz PCs over the MB-NG private WAN (See Appendix<br />

C.2). The configuration of both machines is presented in Table B.2.<br />

The receiver is configured to simulate packet loss by dropping every n th<br />

packet to achieve a desired throughput as determined by the response function<br />

which limits the throughput of TCP based upon the loss rate experienced<br />

(See Equation 5.7). As each TCP connection under Linux is h<strong>and</strong>led under a<br />

single processor thread, the benefits of SMP systems are limited, <strong>and</strong> this is<br />

demonstrated by nearly 100% utilisation of a single processor at high speeds.<br />

It was observed that the TCP receiver requires a higher CPU load than<br />

that of the sender, with an almost linear relation. The sender, on the other<br />

h<strong>and</strong>, requires more CPU at higher speeds (with a higher gradient at higher<br />

throughputs), most likely to due to influx of ack packets that require extra<br />

processing overheads (such as duplicate acks <strong>and</strong> SACKs).<br />

Other research [tePM] confirms the approximate calculation that 1Ghz<br />

CPU is required for each Gigabit/sec throughput when the performance is<br />

restricted to end-node hardware rather than Internet performance.

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

Saved successfully!

Ooh no, something went wrong!