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 88<br />

granularity of 1.024µsec time slices. This value was varied to investigate<br />

the effect upon CPU utilisation which was measured using the Unix time<br />

comm<strong>and</strong>. Figure 5.4 shows the effects of varying the interrupt values on the<br />

Intel e1000 (version 5.2.20) driver on back-to-back tests at 1Gb/sec using<br />

TCP <strong>and</strong> iperf on the MB-NG testbed network (See Appendix C.2). In all<br />

tests, it can be seen that the most intensive component of CPU utilisation<br />

is that of the kernel process, which involves both the memory h<strong>and</strong>ling <strong>and</strong><br />

packet interrupts.<br />

Figure 5.4(a) shows the effect of changing the coalescing values on the<br />

sender only, with the receiver set to interrupt on every packet (RXIntValue=0).<br />

It clearly shows the reduction of CPU load on the sending machine as it approaches<br />

23µsec - which is equivalent to approximately 2 packets (in this<br />

case acks) that are received back-to-back due to the use of ABC (See Section<br />

5.2.4) which causes two data packets to be sent back-to-back. As the<br />

receiver is constantly interrupting on every (data) packet, its CPU utilisation<br />

remains constant.<br />

Figure 5.4(b) shows the effects of adjusting the receiver’s RXIntValue. It<br />

can be seen that a small change of this value to approximately the time taken<br />

to process one packet can reduce the CPU utilisation of the kernel by about<br />

half. As it is now the sender which is interrupting on each packet, it can be<br />

seen that there is also the benefit of lower CPU utilisation on the sender at<br />

the same settings.<br />

Figure 5.5 shows similar tests but varying the transmitting TXIntValue<br />

coalesce value rather than the receiving.<br />

It was observed that altering the TXIntValue on the receiver has no effect<br />

on the CPU utilisation of either system. This is due to the fact that even<br />

though ack clocking is important to TCP, it does not affect the number

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

Saved successfully!

Ooh no, something went wrong!