Storage Performance Development Kit
This article appears to have been generated by a large language model (such as ChatGPT) without having been rigorously scrutinized for verifiability, neutrality, original research, and copyright compliance. It may include misleading or inaccurate claims and fake references that sound plausible. (April 2026) (Learn how and when to remove this template message) |
Storage Performance Development Kit (SPDK) is an open-source software framework consisting of libraries and tools for building high-performance, scalable storage applications.[1] It enables applications to access storage devices directly from user space, bypassing traditional kernel-based storage stacks in order to reduce latency and increase throughput.[2]
Originally developed by Intel, SPDK is used in a range of environments including cloud infrastructure, software-defined storage, and high-performance computing systems.[3]
Overview
SPDK is designed to maximise the performance of modern storage devices, particularly NVMe (Non-Volatile Memory Express) solid-state drives.[1] It achieves this by implementing a user-space, polled-mode driver architecture that eliminates the overhead associated with system calls and interrupt handling.[2]
Instead of relying on interrupt-driven I/O, SPDK uses a polling model in which applications actively check for completed operations. This approach reduces latency variability and improves determinism, making it suitable for performance-critical applications.[1]
Architecture
SPDK employs several design principles aimed at improving efficiency and scalability:
- User-space drivers: Storage device drivers run entirely in user space, avoiding kernel context switches.[2]
- Polling-based I/O: Hardware queues are polled for completions rather than relying on interrupts.[1]
- Zero-copy mechanisms: Data is transferred directly between application memory and devices using direct memory access (DMA).[3]
- Lockless concurrency: Per-core data structures and message passing are used to minimise contention between threads.[1]
The architecture is conceptually similar to other kernel-bypass frameworks such as the Data Plane Development Kit (DPDK), which also prioritises low-latency, high-throughput processing.[4]
Components
SPDK provides a modular set of libraries and services that can be combined to build storage systems. These include:
- NVMe driver for direct access to NVMe devices
- NVMe over Fabrics (NVMe-oF) target implementation
- iSCSI target
- Virtio and vhost support for virtualised environments
- Block device abstraction layer
- Acceleration and memory management frameworks[5]
Use cases
SPDK is used in a variety of storage and data-intensive applications, including:
- Cloud storage platforms and hyperscale data centres
- Software-defined storage systems
- High-performance databases and analytics platforms
- NVMe over Fabrics deployments for storage disaggregation
It is also integrated into larger storage systems such as the Distributed Asynchronous Object Storage (DAOS) platform.[6]
Development and governance
SPDK was initially developed by Intel and later evolved into a community-driven open-source project.[2] The project is maintained by a consortium of contributors from industry and academia and is hosted on GitHub.[7]
In 2025, SPDK was contributed to the Linux Foundation to support long-term governance and encourage broader collaboration across the storage ecosystem.[8]
See also
- Data Plane Development Kit
- Non-Volatile Memory Express
- NVMe over Fabrics
- Software-defined storage
- Daos (software)
References
- ↑ 1.0 1.1 1.2 1.3 1.4 "About SPDK". SPDK Project. Retrieved 22 April 2026.
- ↑ 2.0 2.1 2.2 2.3 "Storage Performance Development Kit (SPDK)". SPDK Project. Retrieved 22 April 2026.
- ↑ 3.0 3.1 "SPDK explained". Simplyblock. Retrieved 22 April 2026.
- ↑ "Data Plane Development Kit". DPDK Project. Retrieved 22 April 2026.
- ↑ "SPDK GitHub repository". GitHub. Retrieved 22 April 2026.
- ↑ "DAOS Architecture". DAOS Project. Retrieved 22 April 2026.
- ↑ "SPDK project". GitHub. Retrieved 22 April 2026.
- ↑ "SPDK joins the Linux Foundation". SPDK Project. Retrieved 22 April 2026.
This article "Storage Performance Development Kit" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Storage Performance Development Kit. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
