Optimizing data transfer nodes using packet pacing
Nathan Hanford, Brian Tierney, Dipak Ghosal · 2015
An important performance problem that we foresee with Data Transfer Nodes (DTNs) in the near future is a fast sending host over-running a slow receiving host, and packets getting dropped, leading to poor performance. Due to the design of the Transmission Control Protocol (TCP), if this occurs over a high-latency path, the performance impact can be quite dramatic. For example, for a 40 Gbps DTN sending to a 10 Gbps DTN over a 100 ms path, throughput can drop to less than 1 Gbps. Slow firewalls, under-buffered switches, or other devices in the network path that can not handle high speed flows also have this negative impact on throughput. In this paper we describe a simple tuning daemon at the sending host that detects flows when this is happening, and then tells the Linux kernel to throttle those flows to a rate that the network and receive host can handle. We also describe the results of several experiments to test the feasibility of such a solution, and in doing so are able to present some of the bounds of flow pacing at these line rates.