Update on PMDK and our long term support strategy

Following Intel’s Q2 earnings call announcing the wind-down of Intel’s Optane business, Intel will also be winding down its investment in new feature development on Persistent Memory Development Kit (PMDK) libraries and adjusting long-term support and maintenance plans accordingly.

The PMDK collection of open-source libraries and tools hosted on GitHub will continue to be available to the software community. Documentation and resources via the pmem.io website will also remain available.

The PMDK suite builds on the SNIA NVM Programming Model for persistent memory, and, in several cases, the standard volatile memory programming model as well. While the design of PMDK is vendor-neutral and memory device neutral, Intel’s staffing for the development and validation of PMDK has been motivated by the Intel(R) Optane(TM) product line. Intel will continue to support PMDK during the product lifetime of the Intel(R) Optane(TM) persistent memory 100 series and 200 series. Intel announced the end of future development of Optane products. Documentation and resources via the pmem.io website will be updated with specific support plans for each library. Intel continues to encourage community contributions to PMDK.

We are engaging with customers to determine their specific needs for ongoing PMDK support. Intel plans on providing critical security and bug fixes to the PMDK libraries until the associated Optane products reach the end of life.

Intel encourages community members to become maintainers for libraries they are interested in. We are in discussions with customers and co-collaborators on PMDK to take on maintainer roles to continue the long-term development of PMDK and pmem.io. We will support the transition to support these new maintainers as they take on the leadership of the project.

The PMDK libraries, as well as the applications using them, are expected to work with the emerging CXL memory products without code changes, as the programming models for both persistent and volatile memory remains the same. Of course, the power and performance characteristics of the solution will depend on the power and performance specifics of the CXL attached devices, which may be different from Optane devices.

Intel has invested in bringing innovative new usage models to memory tiering and persistent memory via PMDK. These usage models will continue with the introduction of a new class of third-party CXL attached memory devices. We hope that the work we’ve done with PMDK and pmem.io will benefit the larger open-source community for years to come and look forward to welcoming new maintainers to carry it forward.

Thank you for your continued partnership.

Regards,

David Tuhy- Vice President, Intel Data Center & AI Group, GM Intel Optane Group

Andy Rudoff – Persistent Memory Software Architect, Intel Labs

Frequently Asked Questions

Q: Which libraries will have support for bug fixes?

A: Please see below for a summary table of the specific support. Intel will only address issues and bug fixes related to Intel Optane PMem products.

LibraryURLSupport Summary
libpmem
libpmem2
libpmemobj
libpmempool
pmempool
pmreorder
https://github.com/pmem/pmdkIssue Reporting and Bug Fixes via GitHub and pmdk_support@intel.com
Seeking new co-maintainer(s) to continue development towards production release
valgrind
pmemcheck
https://github.com/pmem/valgrindIssue Reporting and Bug Fixes via GitHub and pmdk_support@intel.com
Seeking new co-maintainer(s) to continue development towards production release
libmemkind
TieredMemDB
https://github.com/memkind/memkind
https://github.com/TieredMemDB
Issue Reporting and Bug Fixes via GitHub and pmdk_support@intel.com
PMUL
LLPL
PCJ
https://github.com/pmem/pmul
https://github.com/pmem/llpl
https://github.com/pmem/pcj
Issue Reporting and Bug Fixes via GitHub and pmdk_support@intel.com
Intel JAVA Team Maintaining
ndctlhttps://github.com/pmem/ndctlIssue Reporting and Bug Fixes via GitHub and pmdk_support@intel.com
Intel Linux Kernel Team Maintaining and continuing development for CXL-based memory devices & NVDIMMs
librpmahttps://github.com/pmem/rpmaNo further support or maintenance planned
pmdk-converthttps://github.com/pmem/pmdk-convertNo further support or maintenance planned
Libpmemstreamhttps://github.com/pmem/pmemstreamNo further support or maintenance planned
Libpmemblk
Libpmemlog
https://github.com/pmem/pmdkNo further support or maintenance planned
Libvmemhttps://github.com/pmem/vmemNo further support or maintenance planned
Libpmemobj-cpphttps://github.com/pmem/libpmemobj-cppNo further support or maintenance planned
Libpmemkv
and its language bindings
https://github.com/pmem/pmemkvNo further support or maintenance planned
pmemkv-javahttps://github.com/pmem/pmemkv-javaNo further support or maintenance planned
pmemkv-nodejshttps://github.com/pmem/pmemkv-nodejsNo further support or maintenance planned
pmemkv-pythonhttps://github.com/pmem/pmemkv-pythonNo further support or maintenance planned
pmemkv-rubyhttps://github.com/pmem/pmemkv-rubyNo further support or maintenance planned
pmemkv-benchhttps://github.com/pmem/pmemkv-benchNo further support or maintenance planned
Libminiasynchttps://github.com/pmem/miniasyncNo further support or maintenance planned
vmemcachehttps://github.com/pmem/vmemcacheNo further support or maintenance planned
pmemfilehttps://github.com/pmem/pmemfileNo further support or maintenance planned
kb.pmem.iohttps://github.com/pmem/knowledge-baseNo further support or maintenance planned
vltracehttps://github.com/pmem/vltraceNo further support or maintenance planned
pynvmhttps://github.com/pmem/pynvmNo further support or maintenance planned
syscall-intercepthttps://github.com/pmem/syscall_interceptExternal maintainer took over the maintenance and development of this repository
Issues reporting and bug fixes via GitHub only

Q: What documentation is available for PMDK?

A: The documentation for PMDK is available today and will continue to be available via both docs.pmem.io as well as https://github.com/pmem/docs.

Q: How do I get help with PMDK?

A: The official means to report issues or get Intel support will be via issue submission on the GitHub repositories and sending a request with details to pmdk_support@intel.com.

Q: What will happen to the open forum and slack channel connected on PMEM.io?

A: We expect that Intel developers and other community members will continue to communicate and support via the open forum and slack channel through the end of Q1’23. The ongoing availability of the open forum and slack channel on pmem.io depends on the results of ongoing discussions with community co-maintainers.

Q: Will Intel be testing any of the PMDK libraries on other products in addition to Optane?

A: No, Intel will focus testing on Optane products. There are no constraints to community members using PMDK libraries with DRAM, NVDIMMs, or CXL-attached memory devices.

Q: Will the PMDK libraries function on CXL-attached devices?

A: If abstractions in the application and OS user space have been implemented according to CXL specifications, we expect that the PMDK libraries can be functionally used with CXL-attached memory devices.

Q: When will support for the libraries end?

A: For the libraries Intel continues to support, the critical security and bug fixes will follow the Intel Optane persistent memory lifecycle. Once an Optane persistent memory product reaches end of life (EOL), the associated bug fix support for PMDK on that product will also end. Some libraries will not have bug fix support, those are outlined in the table above.

[This entry was edited on 2023-03-28 to reflect the latest announcement]
[This entry was edited on 2023-09-05 to reflect announcement about librpma discontinuation]
Share this Post:

Related Posts: