On behalf of the SPDK community I'm pleased to announce the release of SPDK 21.10!
This release contains the following new features:
- DMA library: Added DMA library providing the necessary infrastructure for handling
systems and devices with multiple memory domains to perform DMA transfers between them.
- Fully asynchronous NVMe driver: Removed NVMe driver inline polling during controller
initialization and reset. This enables use of SPDK in cluster solutions.
- SPDK container scripts: Added set of scripts to serve as an example of how SPDK can be
encapsulated into docker container images. Please see spdk/docker/README.md for details.
- Scheduler API and improvements: API for implementing schedulers and governors plugins
has been made public. Please see include/spdk/scheduler.h for details. Additionally
improved dynamic_scheduler by favoring performance over power saving for cases with
multiple threads with low activity.
- Trace parser library: Added trace parser library that parse traces recorded by an SPDK
application. It includes merging traces from multiple cores, sorting them by their
timestamp and constructing trace entries spanning across multiple buffers.
- IDXD perf tool: Added a standalone tool for measuring IDXD performance.
The full changelog for this release is available at:
https://github.com/spdk/spdk/releases/tag/v21.10
This release contains 619 commits from 47 authors with over 38k lines of code changed.
We'd especially like to recognize all of our first time contributors:
Andreas Economides
Denis Nagorny
Liu Qing
Sydney Vanda
Tan Long
Tomasz Bielecki
Tomasz Rochumski
Xin Huang
Zhao Shushu
Thanks to everyone for your contributions, participation, and effort!
Thanks,
Tomek