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

1<br />

0.8<br />

Graph of Sender RX Interrupt Effect on CPU<br />

Sender Kernel<br />

Receiver Kernel<br />

Sender User<br />

Receiver User<br />

1<br />

0.8<br />

Graph of Receiver RX Interrupt Effect on CPU<br />

Sender Kernel<br />

Receiver Kernel<br />

Sender User<br />

Receiver User<br />

CPU Load (fraction)<br />

0.6<br />

0.4<br />

CPU Load (fraction)<br />

0.6<br />

0.4<br />

0.2<br />

0.2<br />

0<br />

0 20 40 60 80 100<br />

RXInt (usec)<br />

(a) Sender<br />

0<br />

0 20 40 60 80 100<br />

RXInt (usec)<br />

(b) Receiver<br />

Figure 5.4: Effect of varying RX Interrupt values on CPU load.<br />

can be deactivated using Web100’s net.ipv4.WAD_IFQ sysctl.<br />

However, imposing a large txqueuelen may add to extra delays in the<br />

transport of TCP segments due to extra queuing latencies that may be experienced.<br />

This could result in large variations of RTT <strong>and</strong> hence result in<br />

poor ack-clocking <strong>and</strong> spurious timeouts [LK02, GL03].<br />

The default value of 100 for txqueuelen in the Linux 2.4 kernels has been<br />

reported to be insufficient to maintain high throughput transport [ABL + 03].<br />

Newer Linux 2.6 kernels implement a default of 1,000.<br />

Similarly, at the receiving end of transport, packets will be queued, once<br />

past the device driver, in a queue called max_backlog.<br />

5.2.3 Driver Modifications<br />

Interrupt Coalescing<br />

By reducing the number of context switches required to process a packet,<br />

CPU overheads can be reduced at the expense of increased latency upon the<br />

incoming/outgoing packets.<br />

Intel e1000 network interface card drivers enable interrupt coalescing in

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

Saved successfully!

Ooh no, something went wrong!