rstream — streaming over RDMA ping-pong test.


rstream [-s server_address] [-b bind_address] [-f address_format]
			[-B buffer_size] [-I iterations] [-C transfer_count]
			[-S transfer_size] [-p server_port] [-T test_option]


Uses the streaming over RDMA protocol (rsocket) to connect and exchange data between a client and server application.


-s server_address

The network name or IP address of the server system listening for connections.  The used name or address must route over an RDMA device. This option must be specified by the client.

-b bind_address

The local network address to bind to.

-f address_format

Supported address formats are ip, ipv6, gid, or name.

-B buffer_size

Indicates the size of the send and receive network buffers.

-I iterations

The number of times that the specified number of messages will be exchanged between the client and server.  (default 1000)

-C transfer_count

The number of messages to transfer from the client to the server and back again on each iteration.  (default 1000)

-S transfer_size

The size of each send transfer, in bytes.  (default 1000)  If 'all' is specified, rstream will run a series of tests of various sizes.

-p server_port

The server's port number.

-T test_option

Specifies test parameters.  Available options are:

s | socket  - uses standard socket calls to transfer data

a | async - uses asynchronous operation (e.g. select / poll)

b | blocking - uses blocking calls

f | fork - fork server processing (forces -T s option)

n | nonblocking - uses non-blocking calls

r | resolve - use rdma cm to resolve address

v | verify - verifies data transfers


Basic usage is to start rstream on a server system, then run rstream -s server_name on a client system.  By default, rstream will run a series of latency and bandwidth performance tests. Specifying a different iterations, transfer_count, or transfer_size will run a user customized test using default values where none have been specified.

Because this test maps RDMA resources to userspace, users must ensure that they have available system resources and permissions.  See the libibverbs README file for additional details.

See Also


Referenced By


2011-11-16 librdmacm