On high-speed networks, data transmission is limited by the data copy, which occurs in the network stack at the end-hosts. Also on high-speed network, the fundamental problem is that current flow control protocols are unable to determine the changes in the available network bandwidth in a short period of time.
This project aims to optimize the network bandwidth in high-speed networks by eliminating the data copy between the application and kernel domains during data transfer and by implementing a flow control algorithm that adapts to the changes in available network bandwidth in as little as one round trip time.
Elimination of the data copy between the application and operating system kernel is achieved by the Zbufs Framework, which performs explicit exchange of buffers during data transfer through the network stack. We also present an additional set of APIs to take advantage of the new I/O framework, which lends itself to an efficient elimination of this copy. The increase in network throughput and reduction in CPU utilization justifies the new set of APIs at the socket interface.
Packet-Pair is a feedback-based adaptive rate control scheme for faster networks that use Fair Queuing at switches. Under packet-pair, each source continually estimates the effective speed of its bottleneck link by transmitting its data as pairs of back-to-back packets and measuring the separation of the returning pairs of acknowledgements. The source periodically adjusts its sending rate in an effort to avoid both overflow and underflow of its logical buffer at the bottleneck switch. The packet-pair scheme includes a timeout and retransmission strategy optimized to deal with losses.