Draft:Storage Performance Development Kit
| This is a draft article. It is a work in progress open to editing by anyone. Please ensure core content policies are met before publishing it as a live Wikipedia article. Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL Last edited by MSK (talk | contribs) 43 days ago. (Update)
Finished drafting? |
This article may incorporate text from a large language model, which is prohibited in Wikipedia articles. (April 2026) |
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
- ^ a b c d e "About SPDK". SPDK Project. Retrieved 22 April 2026.
- ^ a b c d "Storage Performance Development Kit (SPDK)". SPDK Project. Retrieved 22 April 2026.
- ^ a b "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.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.