RIOSTREAM(1)
π RIOSTREAM(1) π
okay bestie, so this is a page from the librdmacm manual, and today we're talking about riostream β¨ β literally zero-copy streaming over RDMA, ping-pong style. no cap, it's giving network test main character energy π
πΈ NAME πΈ
riostream β zero-copy streaming over RDMA ping-pong test. periodt. π
π SYNOPSIS π
riostream [-s server_address] [-b bind_address] [-B buffer_size]
[-I iterations] [-C transfer_count]
[-S transfer_size] [-p server_port] [-T test_option]
π¦ DESCRIPTION π¦
So the way this works is: it uses the streaming over RDMA protocol (aka rsocket, iykyk) to connect a client and a server application, and then they exchange data. that's it, that's the whole vibe π
β¨ OPTIONS β¨
-sserver_address β the network name or IP address of the server system that's out here listening for connections π the name or address you use must route over an RDMA device, fr fr. this one is required if you're the client, bestie β you gotta specify it π-bbind_address β the local network address to bind to π-Bbuffer_size β tells you the size of the send and receive network buffers π«Ά-Iiterations β how many times that specified number of messages gets exchanged between the client and the server. default is1000β-Ctransfer_count β the number of messages transferred from client β server β back again on each and every iteration. default is1π-Stransfer_size β the size of each send transfer, in bytes. default is1000β¨ and if you passall,rstreamwill run a whole series of tests at various sizes π-pserver_port β the server's port number πΈ-Ttest_option β specifies the test parameters. the available options are:a|asyncβ uses asynchronous operation (e.g.select/poll) π§b|blockingβ uses blocking calls π΄n|nonblockingβ uses non-blocking calls πv|verifyβ verifies data transfers π
π NOTES π
the basic usage bestie is: start riostream on a server system first, then run riostream -s server_name on a client system π by default, riostream will run a series of latency and bandwidth performance tests π₯ and if you specify a different iterations, transfer_count, or transfer_size, it'll run a user-customized test, using the default values wherever you didn't specify anything π
okay important one, listen up π¨ because this test maps RDMA resources into userspace, users must make sure they have available system resources and permissions. see the libibverbs README file for the additional deets. don't skip this, it's not a vibe check you wanna fail π
π SEE ALSO π
and that's the whole page, bestie π«Ά this was librdmacm, dated 2012-10-24 β iconic, timeless, slay π bye bye, go run your tests π¦
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
- centos-stream 10: librdmacm-utils 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: librdmacm-utils 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: rdmacm-utils 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: rdmacm-utils 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: librdmacm-utils 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: librdmacm-utils 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: librdmacm-utils 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: rdmacm-utils 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdmacm-utils 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdmacm-utils 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: rdmacm-utils 56.1-1ubuntu1
- ubuntu resolute: rdmacm-utils 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: rdmacm-utils 64.0-1ubuntu1 Β· BSD-MIT OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms