Free Webinar
November 15 | 11am PT / 2pm ET
VMware & StarWind: Guarantee data safety and constant applications availability
Speaker: Alexey Khorolets, Pre-Sales Engineer, StarWind

StarWind rPerf:
RDMA Performance Benchmarking Tool

Published: October 2, 2018

INTRODUCTION

StarWind rPerf is a free software that measures the latency and throughput on RDMA connections between systems with different operating systems. In addition to estimating the RDMA connection performance between Windows operating systems, StarWind rPerf measures latency and throughput on cross-platform scenarios for Windows – Linux.

This guide is intended for experienced Windows and Linux system administrators and IT professionals who would like to use StarWind rPerf in order to obtain the precise information on latency and throughput on the cross-platform RDMA connections.

A full set of up-to-date technical documentation can always be found here, or by pressing the Help button in the StarWind Management Console.

For any technical inquiries please visit our online community, Frequently Asked Questions page, or use the support form to contact our technical support department.

Configuration Diagram

Servers interconnection diagram is demonstrated on the image below.

Servers interconnection diagram

In this guide, to measure the RDMA connection between Windows and Linux operating systems, two servers are connected directly over RDMA. As an example, Windows Server 2016 has been installed on Host 1 and Linux CentOS 7 has been installed on Host 2.

Requirements

Operating Systems

StarWind rPerf is compatible with the following operating systems:

  • Microsoft Windows 7 or later versions,
  • Microsoft Windows Server 2012 and later versions,
  • CentOS 7,
  • Ubuntu.

Network

  • For Windows-based systems, NIC must have Network Direct Provider v1 and lossless RDMA configured. Latest drivers from NIC manufacturer are recommended, as standard Windows drivers don’t have ND API support.
  • For Linux-based systems, latest network drivers with RDMA and RoCE support are required.

The utility has been tested on Mellanox ConnectX-3, ConnectX-4 cards.

Implementing StarWind rPerf

1. Download StarWind rPerf tool from the StarWind website at the following link: https://www.starwindsoftware.com/starwind-rperf#download

2. Copy the rperf utility to both Windows and Linux hosts to a directory of choice.

3. Change the utility mode to allow its execution on Linux by executing the following command: chmod +x rperf.

4. The list of command line options used to launch the StarWind rPerf tool is provided in the tables below.

General Options
Command line option Description
-a addr IP address. IP address set for the server should be specified on the client side to connect to the server.
-d debug Emit debugging output.
-p port The server port for the server to listen on and the client to connect to. This should be the same in both client and server. Default is 17174.

 

Server Specific Options
Command line option Description
-s server Run StarWind rPerf in a server mode. To bind to any address with IPv6 use -a ::0

 

Client Specific Options
Command line option Description
-c client host Run StarWind rPerf in a client mode, connecting to an StarWind rPerf server running on host.
-C count Count the number of iterations.
-o operation Set the operation to be performed: [S], [R], [W] (SEND/READ/WRITE)
-q queue depth Set the queue depth.
-S size Set the data size to be transferred.

Examples

This section provides the examples of measuring the network speed between Linux-based and Windows-based systems with the use of StarWind rPerf.

5. Launch the rperf utility with the following parameters from the command line:

For Windows:

Server: nd_rperf -s [-d] [-a addr] [-p port]

Client: nd_rperf -c [-d] [-S size] [-C count] -a addr [-p port]

For Linux:

Server: ./rperf -s [-d] [-a addr] [-p port]

Client: ./rperf -c [-d] [-S size] [-C count] -a addr [-p port]

6. To set the Windows Server host as a server, run:

nd_rperf.exe -s -a 10.1.2.11

7. To set the Linux host as a client, run:

./rperf -c -a 10.1.2.11 -C 100000 -S 4096 -q 16 -o W

In this example, rperf will perform 100000 write iterations with 4096 size of the buffer and queue depth of 16.

8. The RDMA connection throughput and latency values are displayed on the client host.

9. To set Linux host as a server, run:

./rperf -s -a 10.1.2.12

10. To set the Windows Server host as a client, run:

nd_rperf.exe -c -a 10.1.2.12 -C 10000 -S 4096 -q 16 -o R

In this example, rperf will perform 10000 read iterations with 4096 size of the buffer and queue depth of 16.

11. The RDMA connection throughput and latency values are displayed on the client host.

CONCLUSION

StarWind rPerf tool allows easily measuring the RDMA connection latency and throughput between servers with different operating systems such as Windows and Linux. The utility is simple to deploy and requires no additional software for measuring the RDMA connection performance.