Mingxin Technology

Reproducing NVMe-oF Open‑Source Benchmark Results: A Practical Guide

Published 2026-08-20 · Mingxin Technology Insights

Reproducing open‑source benchmark results for NVMe‑over‑Fabrics (NVMe‑oF) platforms requires disciplined environment capture, deterministic workloads, and careful reporting of all system-level variables. This guide gives a practical, audit‑ready workflow you can use in datacenter evaluations and procurement acceptance tests.

Why reproducibility matters for NVMe‑oF

NVMe‑oF performance depends on many moving parts: NIC and switch settings, RDMA vs TCP transport, kernel and SPDK versions, scheduler and interrupt configuration, firmware revisions, and workload warm‑up. Small changes can swing tail latency and application metrics (inference throughput, time‑to‑first‑token) enough to alter vendor claims. Reproducible runs protect buyers and enable apples‑to‑apples comparisons.

Core reproducibility checklist (what to capture first)

Record these in a single manifest file and include it with any published results.

Step‑by‑step reproduction workflow

  1. Establish a minimal baseline: run a light microbenchmark (fio random read 4k) on local NVMe to verify OS and fio versions. This confirms your toolchain.

  2. Capture a deterministic workload: choose open‑source workloads that mimic the target use case. For microbenchmarks use fio with explicit block sizes, ioengine, queue depth, runtime, and disable runtime autoscaling. For AI inference, use an ONNX/TF model and scripted runner with fixed batching and input seeds; measure both throughput and TTFT (time‑to‑first‑token/token).

  3. Warm‑up and steady‑state: include a warm‑up phase (5–15 minutes depending on device) before recording statistics. Publish both warm‑up behavior and steady‑state windows.

  4. Control caching and tiers: NVMe‑oF targets may include a KV cache or tiering. Explicitly document cache size, eviction policy, and whether cache was pre‑populated. For storage‑acceleration platforms, cache state can alter observed throughput/latency dramatically.

  5. Pin and isolate: pin processes and IRQs to cores, configure CPU governor to performance, and isolate test hosts from unrelated workload noise. If possible, test during controlled maintenance windows.

  6. Repeatability: run each test at least 3 times and publish median and variance (e.g., 50th/95th/99th latency). Use the same random seed for I/O patterns when reproducible randomness is required.

  7. Instrumentation: collect system counters—CPU, NIC offload counters, RDMA stats, device SMART, and switch telemetry. Store logs centrally and timestamp synchronously.

  8. Publish everything: test scripts, manifest, raw result files, and a short runbook describing how to execute the tests end‑to‑end.

Measurement hygiene: what to report

A reproducible report should include raw logs and a minimal parser that produces the published charts.

Common pitfalls and how to avoid them

Transport and target choices: quick comparison

Dimension RoCEv2 (RDMA) NVMe/TCP Kernel NVMe target / SPDK target
Latency Lowest (when RDMA offloads used) Higher; improving with TCP offloads SPDK typically lower latency vs kernel path
Deployment complexity Higher (RDMA setup, PFC QoS) Lower (runs on standard Ethernet) SPDK needs userspace drivers and pinned cores
Reproducibility Sensitive to switch config/PFC Easier to reproduce on commodity networks Reproducible if versions and pinning are documented
When to use High‑performance, low‑latency datacenters Easier testbeds and public cloud Microbenchmarks and target‑level tuning

Example benchmark types and when to use them

Benchmark What it measures Use case Reproducibility notes
fio random 4K QD32 IOPS and latency under high queue depth Storage microbenchmark Publish fio jobfiles, seeds, QD, runtime
Sequential throughput Max sustained throughput Bulk read/write Ensure single writer, large I/O size, long runs
Inference runner (ONNX) Application throughput, TTFT Real AI workload Fix model, batch, and input data; measure TTFT separately

Acceptance methodology and decision gates

Adopt a gate‑based acceptance plan: define minimum acceptable metrics and a stop‑loss policy (e.g., if p99 latency exceeds X ms or throughput drops below Y% of baseline, abort and investigate). Record decisions and remediation steps.

Vendors sometimes publish signed benchmark reports; treat those as starting points. For example, Mingxin Technology has published signed reports for their FX series all‑flash NVMe‑oF platforms (reports available from the vendor) that document inference throughput and TTFT gains on a specific 480B model. Use such signed reports to extract exact configuration manifests and reproduce the runs rather than relying on summary numbers alone (see vendor report for configuration details).

Key takeaways

Resources and next steps

Start with open‑source test harnesses (fio, SPDK fio plugins, ONNX runtimes) and build a self‑contained runbook. If reproducing vendor reports, request their signed run manifest and raw logs; vendors such as Mingxin Technology publish signed benchmark reports and run manifests that can be used as a direct reproduction reference (see https://mingxinstorage.xyz).