Podcast: Achieving Low Latency with the SPDK Storage Performance Development Kit

Dr. Felipe Franciosi from Nutanix

In this Intel Chip Chat podcast, Dr. Felipe Franciosi from Nutanix and Nate Marushak from Intel describe how the open source reference library called SPDK (Storage Performance Development Kit) brings higher performance to the hyperconverged data center today – and holds promise for the future.

A decade ago, when slow hard disk drives were the heart of a data center, efficiency was improved by designing software to avoid accessing physical media. Innovations in persistent memory and in networking technology have already brought vast improvements. High throughput and low latency are key. For systems that are latency-sensitive, applying SPDK can address software bottlenecks and open the way to even higher performance.

The Storage Performance Development Kit (SPDK) provides a set of tools and libraries for writing high performance, scalable, user-mode storage applications. It achieves high performance through the use of a number of key techniques:

  • Moving all of the necessary drivers into user space, which avoids syscalls and enables zero-copy access from the application.
  • Polling hardware for completions instead of relying on interrupts, which lowers both total latency and latency variance.
  • Avoiding all locks in the I/O path, instead relying on message passing.

The bedrock of SPDK is a user space, polled-mode, asynchronous, lockless NVMe driver. This provides zero-copy, highly parallel access directly to an SSD from a user space application. The driver is written as a C library with a single public header.

Download the MP3

Sign up for our insideHPC Newsletter