Font Size: a A A

Improving TCP performance via function offload and function enhancements

Posted on:2009-05-03Degree:Ph.DType:Thesis
University:Polytechnic Institute of New York UniversityCandidate:LaVoie, JasonFull Text:PDF
GTID:2448390005458557Subject:Computer Science
Abstract/Summary:
Network speed and bandwidth are steadily outpacing processor speeds preventing servers from scaling up to 40Gbps Ethernet network interface cards. Experiments have shown network processing to consume as much as 80% of the host's cycles. Transmission Control Protocol (TCP), the de facto standard for modern networks, has been known for a long while to consume up to 40% of cycles on the host processor for high volume network servers. Several approaches to addressing this problem are complex and invasive and have not caught on to the larger network community. Smaller, less obtrusive enhancements such as checksum offload and transmit segmentation offload have. This thesis looks for other areas where TCP performance can be improved without large changes to the protocol or the implementation.;To identify areas for improvement, deep callgraph analysis is performed on a recent Linux kernel under various workloads. Several new tools are implemented to develop, parse, and annotate callgraphs used to locate TCP functions that may be enhanced or offloaded to improve network throughput and response time by reducing cycles consumed on the host.;Three functions are identified as potential candidates for enhancement and/or offload. These functions meet specific criterion such that enhancing or offloading them does not require disruptive changes to the TCP implementation.;The IBM Full System Simulator is used to implement and evaluate offloaded functions. Offloaded functions are implemented inside the simulated network interface card. The cost to the network interface card is calculated using the instruction and memory footprint of the offloaded functions combined with the call frequencies observed in experiments. Two function enhancements are found to give respectable gains; however, both are small, easy to implement changes. One offloaded function provides 7% throughput gains using a realistic workload. The gains are seen with little change to the TCP stack and a small cost to the network interface card. A methodology for others to follow to ask different or validating questions is also presented.
Keywords/Search Tags:Network interface card, TCP, Function, Offload
Related items