TCP is an important protocol in high-performance computing. It is used extensively in graphics programs and file systems and it is often the protocol used for the cluster control mechanism. As the breadth of applications increases, the need for a scalable and efficient implementation of TCP becomes more important. In addition to other bottlenecks that must be alleviated, TCP connection management must be made scalable. This becomes critical as we consider offloading TCP processing onto TCP offload engines (TOEs) or intelligent network interface cards (iNICs). In this paper, we show how to take advantage of special characteristics of the high-performance computing environment and apply existing operating system mechanisms in a unique way to address some of the scalability concerns in offloaded TCP. Specifically, we implement methods for activating and deactivating TCP connections. These allow us to maintain a large store of open TCP connections without a large amount of storage o...
Patricia Gilfeather, Arthur B. Maccabe