Sorry, you need to enable JavaScript to visit this website.

Closing the NVMe-CPCS Stack Gap: An End-to-End Implementation and Per-Workload Break-Even Characterization

San Tomas + Lawrence

Mon Sep 28 | 8:30am

Abstract

The growth of AI and large-scale analytics workloads has made data movement a primary bottleneck of modern storage systems.Near-Data Processing (NDP) addresses this by executing portions of the workload close to where the data resides.
The protocol-level fragmentation that historically blocked NDP adoption has now closed.The SNIA Computational Storage Architecture and Programming Model, the SNIA Computational Storage API, and the NVMe Computational Programs (CP) and Subsystem Local Memory (SLM) command sets — all three now ratified — together define the architecture model, host-side programming interface, and wire protocol for compute offload to storage targets.
The remaining barrier is stack fragmentation.They define the interface but do not deliver an integrated implementation: no documented end-to-end open implementation has combined a SNIA CS API host library, a CP/SLM transport layer, and an NVMe-oF target for the CP/SLM command sets.Without it, break-even goes unmeasured, deployments unvalidated, and future CSD silicon has no conformant reference.
We close this gap with a two-layer reference stack.The host layer exposes the SNIA CS API to applications; the target layer handles CP/SLM commands as an NVMe-oF Computational Storage target.NVMe wire protocol connects them; either layer is replaceable at the protocol boundary without changing the other.
The host layer, libcs, implements the SNIA CS API.Compute requests dispatch via xNVMe (extended with CP/SLM support) over NVMe-oF TCP; transport and target details stay behind a pluggable backend.
The target layer, SPDK CPCS, runs on a JBOF CPU over NVMe-oF TCP; no specialized CSD silicon required.A virtual dispatch layer routes execution to built-in, eBPF, or passthrough runtimes under a single NVMe wire protocol.
We characterize per-workload break-even across aggregation, filtering, vector similarity, and compression by sweeping buffer size, selectivity, dimensionality, and input entropy, identifying per-workload thresholds at which target-side offload outperforms host-side execution end-to-end.
Our contribution is the first publicly described end-to-end NVMe-CPCS stack: libcs and SPDK CPCS connected via xNVMe, integrated on commodity hardware. The per-workload break-even methodology is reusable by any conforming NVMe-CPCS target, including future CSD silicon, without modifying the application layer above libcs.