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.

A.2. Network Interface Cards 285<br />

200<br />

Mean Latency (usec)<br />

150<br />

100<br />

50<br />

RxInt 0<br />

RxInt 5<br />

RxInt 40<br />

RxInt 64<br />

RxInt 100<br />

0<br />

0 200 400 600 800 1000 1200 1400 1600<br />

UDP Packet Size (bytes)<br />

Figure A.12: Effect of Interrupt Coalescing upon packet latency.<br />

A.2.4<br />

Interrupt Coalescing<br />

Depending on the configuration set by the driver, a modern NIC can interrupt<br />

the host for each packet sent or received or it can continue to buffer packets for<br />

a certain period of time. This is known as interrupt coalescing [PJD04] <strong>and</strong><br />

the details <strong>and</strong> options are hardware <strong>and</strong> NIC driver dependent. The NIC<br />

may generate interrupts after a fixed number of packets have been processed<br />

or after a fixed time from the first packet transferred after the last interrupt.<br />

In some cases, the NIC dynamically changes the interrupt coalescence times<br />

dependent on the packet receive rate [Cor]. Separate parameters are usually<br />

available for the transmit <strong>and</strong> receive functions of the NIC.<br />

The effect of interrupt coalescing are most apparent upon packet latencies<br />

as shown in Figure A.12.<br />

It shows that as the packet size is increased,<br />

a predictable increase in the latency for each interrupt coalesce setting is<br />

achieved.<br />

More importantly, higher values of interrupt coalesce result in<br />

proportionate increases in the experienced latency.<br />

The effect of a high value of coalescing often lowers throughput as packets<br />

could be dropped due to the lack of buffer space. When set too low, high<br />

CPU utilisation occurs due to the necessary context switching between kernel<br />

processes to absorb/transmit the packet .

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

Saved successfully!

Ooh no, something went wrong!