HP Sockets Direct Protocol (SDP) User Guide HP-UX 11i v3 Abstract This document provides an introduction to SDP and instructions to configure SDP. It also describes the major limitations of SDP, and the tools used for monitoring and troubleshooting SDP. This document is intended for HP-UX system administrators who are involved in installing and configuring SDP.
© Copyright 2013 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Contents 1 Introduction to SDP.....................................................................................4 2 Installing and configuring SDP.....................................................................5 Configuring SDP using libsdp.conf file.........................................................................................5 3 Using SDP.................................................................................................6 Integrating applications with SDP using libsdp.
1 Introduction to SDP SDP is a byte-stream transport protocol that provides TCP stream semantics. SDP is capable of utilizing InfiniBand's advanced protocol offload capabilities and can provide lower latency, higher bandwidth, and lower CPU utilization than IPoIB running sockets-based applications. SDP can be used to transparently (that is, without any recompilation of application source code) improve performance of applications.
2 Installing and configuring SDP SDP shares the same IP addresses and interface names as IPoIB. For more information about IPoIB, see IPoIB(7) and HP Fabric Clustering System - HP-UX Administrator's Guide at www.hp.com/go/ fabric-clustering-infiniband-docs. Prerequisites IB4X-00 depot version 1.31.1304 must be installed on the system. It can be downloaded from the HP Software Depot website at www.software.hp.com. This depot contains the drivers for infiniband HCA and the RDS protocols.
3 Using SDP Integrating applications with SDP using libsdp.so library The dynamically linked libsdp.so library is used for transparent integration of applications with SDP. The library is preloaded and hence, takes precedence over the libc library for certain socket calls. Therefore, the libsdp.so library can transparently replace the TCP socket family with SDP socket calls. Using a configuration file (/etc/libsdp.
use family sdp role connect program * address:port[-range] 192.168.1.
sdp_zcopy_thresh This tunable sets the threshold value to make use of RDMA READ (also called as Zcopy). If the size of the buffer used for send/recv operation is greater than the value of sdp_zcopy_thresh, the send/recv operation uses ZCopy. Using RDMA for large buffers For smaller buffers, the overhead of preparing a user buffer to be sent using RDMA is big. Therefore, it is more efficient to use BCopy. RDMA is used to send large buffers because they lower CPU utilization. This mode is called ZCopy mode.
4 Monitoring and troubleshooting SDP This section describes the tools used for monitoring and troubleshooting SDP. Using sdpnetstat command to check SDP's functioning Because SDP is a transparent TCP replacement, it is sometimes difficult to know whether SDP is working correctly or not. To verify whether traffic is passing through SDP or TCP, use the sdpnetstat command [-S option] and monitor the counters that are running.
flag with the value 1). A non-root user can configure libsdp.conf to record function calls and return values in the /var/adm/libsdp.log file. For more information about debugging SDP, see “Configuration files for libsdp.conf” (page 14). Debugging SDP using NetTL SDP supports tracing packets and logging through NetTL subsystem. The libfmsdp library is used for formatting SDP trace. While installing SDP, the libfmsdp library is placed under the /usr/ lib/hpux32 file.
5 Support and other resources Information to collect before you contact HP Be sure to have the following information available before you contact HP: • Software product name • Hardware product model number • Operating system type and version • Applicable error message • Third-party hardware or software • Technical support registration number (if applicable) How to contact HP Use the following methods to contact HP technical support: • In the United States, see the Customer Service / Contact HP
[] The contents are optional in syntax. If the contents are a list separated by |, you must select one of the items. | Separates items in a list of choices. NOTE A note contains additional information to emphasize or supplement important points of the main text. Customer self repair HP products are designed with many Customer Self Repair parts to minimize repair time and allow for greater flexibility in performing defective parts replacement.
6 Documentation feedback HP is committed to providing documentation that meets your needs. To help us improve the documentation, send any errors, suggestions, or comments to Documentation Feedback (docsfeedback@hp.com). Include the document title and part number, version number, or the URL when submitting your feedback.
A Configuration files for libsdp.conf Sample configuration files for libsdp.conf: # libsdp.conf - configuration file for libsdp # # Comments are starts with # and cause the entire line after it to be ignored. # Any beginning whitespace is skipped. Any line that is empty is also skipped.
# # Get SDP usage per connect and listen into stderr # log min-level 7 destination stderr # # Send errors only into syslog # log min-level 9 destination syslog # ############################################################################## # SOCKET ADDRESS FAMILY CONTROL: # -----------------------------# The socket control statements allows the user to specify when libsdp will # replace AF_INET/SOCK_STREAM sockets with AF_SDP/SOCK_STREAM # sockets.
# Use TCP for any program with name starting with ttcp* serving ports 22 to 25 # family role program address:port[-range] # use tcp server ttcp* *:22-25 # # Listen on both TCP and SDP by any server that listen on port 8080 # family role program address:port[-range] # use both server * *:8080 # # Connect through SDP and fallback to TCP to hosts on 11.4.8.* port 22 # family role program address:port[-range] # use both connect * 11.4.8.
B Collecting SDP statistics The # sdpnetstat -S command collects all the SDP statistics that is useful for debugging and troubleshooting.
52 53 54 55 56 57 58 59 60 61 62 63 | | | | | | | | | | | | ************************************************** zcopy_tx_timeout zcopy_cross_send zcopy_tx_aborted zcopy_tx_error fmr_alloc_error keepalive_timer nagle_timer rx_completion_error rx_wc_error rx_wc_size_error rx_comp_work_miss rx_dma_map_error rx_ib_recv_error tx_ib_send_error tx_dma_map_error tx_completion_error tx_ib_send_keepalive_error tx_ib_send_rdma_read_error ib_rdma_mr_pool_depleted ib_rdma_mr_pool_wait ib_rdma_mr_alloc ib_rdma_mr_used i
Glossary BCopy Buffered Copy. CQ polling Completion Queue polling. IB layer Infiniband layer. IPoIB Internet Protocol over Infiniband. NetTL Network Tracing and Logging. OFED Open Fabrics Enterprise Distribution. RDMA Remote Direct Memory Access. RDS reliable data socket. SDP Sockets Direct Protocol. SG Serviceguard TCP Transmission Control Protocol. ZCopy Zero Copy.