Skip to main content

ntprof

Profiling NVMe-over-TCP in Linux

What is ntprof?

ntprof is a systematic, informative, and lightweight NVMe-over-TCP profiler. The key idea is to view the NVMe/TCP storage substrate as a lossless switched network and apply network monitoring techniques. It models each on-path system module as a software switch, equips it with a programmable profiling agent on the data plane, and develops a proactive query interface for statistics collection and analysis. Comprising a kernel module and a user-space utility, it allows developers to define various profiling tasks, incurs marginal overhead when co-locating with applications, and generates performance reports based on prescribed specifications.

页-1工作表.1圆形.16357工作表.3工作表.4工作表.5

Informative

ntprof provides adequate running statistics about NVMe/TCP processing at the prescribed I/O granularity and profiling scope for protocol understanding, performance diagnostic, and bottleneck localization.

页-1工作表.24圆形.16358工作表.26六边形六边形.16350六边形.16351六边形.16352六边形.16353六边形.16354六边形.16355

Profiling Rich

ntprof provides diverse end-to-end profiling capabilities, accommodating various storage workload profiles, dissecting deep and pipelined protocol handling, analyzing inter-layer interaction, and reporting characteristics based on the task specification.

页-1工作表.34圆形.16359工作表.36工作表.37

Lightweight

ntprof allows online and offline profiling based on the developer's need. It also provides tunable options to contorl the sample rate. It splits the statisc collection and analysis to minimize the overhead.