Advanced Flow-control Mechanisms for the Sockets Direct Protocol over InfiniBand

The Sockets Direct Protocol (SDP) is an industry standard to allow existing TCP/IP applications to be executed on high-speed networks such as InfiniBand (IB). Like many other high-speed networks, IB requires the receiver process to inform the network interface card (NIC), before the data arrives, about buffers in which incoming data has to be placed. To ensure that the receiver process is ready to receive data, the sender process typically performs flow-control on the data transmission. Existing designs of SDP flow-control are naive and do not take advantage of several interesting features provided by IB. Specifically, features such as RDMA are only used for performing zero-copy communication, although RDMA has more capabilities such as sender-side buffer management (where a sender process can manage SDP resources for the sender as well as the receiver). Similarly, IB also provides hardware flow-control capabilities that have not been studied in previous literature. In this paper, we utilize these capabilities to improve the SDP flow-control over IB using two designs: RDMA-based flow-control and NIC-assisted RDMA-based flow-control. We evaluate the designs using micro-benchmarks and real applications. Our evaluations reveal that these designs can improve the resource usage of SDP and consequently its performance by an order-of-magnitude in some cases. Moreover we can achieve 10-20% improvement in performance for various applications.

[1]  Han-Wei Shen,et al.  Parallel view-dependent isosurface extraction using multi-pass occlusion culling , 2001, Proceedings IEEE 2001 Symposium on Parallel and Large-Data Visualization and Graphics (Cat. No.01EX520).

[2]  D. Panda,et al.  Implementing efficient and scalable flow control schemes in MPI over InfiniBand , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[3]  Joel H. Saltz,et al.  Digital dynamic telepathology-the Virtual Microscope , 1998, AMIA.

[4]  Dror Goldenberg,et al.  Zero copy sockets direct protocol over infiniband-preliminary implementation and performance analysis , 2005, 13th Symposium on High Performance Interconnects (HOTI'05).

[5]  Joel H. Saltz,et al.  Design of a framework for data-intensive wide-area applications , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[6]  Wednesday September,et al.  2007 International Conference on Parallel Processing , 2007 .

[7]  Dhabaleswar K. Panda,et al.  High performance user level sockets over Gigabit Ethernet , 2002, Proceedings. IEEE International Conference on Cluster Computing.

[8]  Dror Goldenberg,et al.  Transparently Achieving Superior Socket Performance Using Zero Copy Socket Direct Protocol over 20Gb/s InfiniBand Links , 2005, 2005 IEEE International Conference on Cluster Computing.

[9]  Joel H. Saltz,et al.  The virtual microscope , 2003, IEEE Transactions on Information Technology in Biomedicine.

[10]  Jin-Soo Kim,et al.  Building a high-performance communication layer over virtual interface architecture on Linux clusters , 2001, ICS '01.

[11]  Hyun-Wook Jin,et al.  Asynchronous zero-copy communication for synchronous sockets in the sockets direct protocol (SDP) over InfiniBand , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[12]  Dhabaleswar K. Panda,et al.  Sockets Direct Protocol over InfiniBand in clusters: is it beneficial? , 2004, IEEE International Symposium on - ISPASS Performance Analysis of Systems and Software, 2004.

[13]  Dhabaleswar K. Panda,et al.  Impact of high performance sockets on data intensive applications , 2003, High Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on.

[14]  Joel H. Saltz,et al.  A Component-based Implementation of Iso-surface Rendering for Visualizing Large Datasets , 2001 .

[15]  Ron Oldfield,et al.  Armada: a parallel file system for computational grids , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[16]  Jin-Soo Kim,et al.  SOVIA: a user-level sockets layer over virtual interface architecture , 2001, Proceedings 42nd IEEE Symposium on Foundations of Computer Science.

[17]  Joel H. Saltz,et al.  Distributed processing of very large datasets with DataCutter , 2001, Parallel Comput..

[18]  Karsten Schwan,et al.  dQCOB: managing large data flows using dynamic embedded queries , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[19]  Calton Pu,et al.  High Performance Sockets and RPC over Virtual Interface (VI) Architecture , 1999, CANPC.

[20]  Dhabaleswar K. Panda,et al.  Head-to-TOE Evaluation of High-Performance Sockets over Protocol Offload Engines , 2005, 2005 IEEE International Conference on Cluster Computing.