<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Perftest on Council of Elrond</title><link>https://songkou.github.io/tags/perftest/</link><description>Recent content in Perftest on Council of Elrond</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 18 Jul 2026 20:00:00 +0800</lastBuildDate><atom:link href="https://songkou.github.io/tags/perftest/index.xml" rel="self" type="application/rss+xml"/><item><title>Perftest_RDMA_Benchmarking</title><link>https://songkou.github.io/posts/perftest/</link><pubDate>Sat, 18 Jul 2026 20:00:00 +0800</pubDate><guid>https://songkou.github.io/posts/perftest/</guid><description>&lt;h2 id="what-is-perftest"&gt;What is perftest?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;perftest&lt;/strong&gt; is the standard micro-benchmark suite for RDMA — it validates and benchmarks InfiniBand, hardware RoCE, and Soft-RoCE links, not ordinary TCP networking. Each tool measures one RDMA verb:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Test&lt;/th&gt;
					&lt;th&gt;Measures&lt;/th&gt;
					&lt;th&gt;Real-world workloads it models&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_write_bw&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;RDMA Write bandwidth&lt;/td&gt;
					&lt;td&gt;Data replication, storage writes, GPU/bulk data transfers&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_write_lat&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;RDMA Write latency&lt;/td&gt;
					&lt;td&gt;Updating remote memory — small one-sided writes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_read_bw&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;RDMA Read bandwidth&lt;/td&gt;
					&lt;td&gt;Distributed storage and database reads, remote memory access&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_read_lat&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;RDMA Read latency&lt;/td&gt;
					&lt;td&gt;Fetching remote memory — storage/database-style lookups&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_send_bw&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Send/Receive bandwidth&lt;/td&gt;
					&lt;td&gt;MPI messages, RPC, request queues&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_send_lat&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Send/Receive latency&lt;/td&gt;
					&lt;td&gt;Small request/response round trips — RPC and MPI latency&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_atomic_bw&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Atomic operation rate&lt;/td&gt;
					&lt;td&gt;Distributed locks and counters&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ib_atomic_lat&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Atomic latency&lt;/td&gt;
					&lt;td&gt;Synchronization primitives&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="write-read-and-send-are-different-operations"&gt;Write, Read, and Send are different operations&lt;/h3&gt;
&lt;p&gt;The grouping in the table is not accidental — the three verbs have different semantics:&lt;/p&gt;</description></item></channel></rss>