Persistent Memory Developer Kit Long-Term Strategy

Learn about the long-term vision for Persistent Memory Developer Kit (PMDK) and why app developers can feel comfortable building their app in PMDK.

Persistent Memory Developer Kit (PMDK)

PMEM YouTube Playlist

Subscribe to the Intel Software YouTube Channel

I'm Ken Gibson from Intel. And in this video, I discuss the long term strategy for the persistent memory developer kit (PMDK), why you should be building your application on PMDK, and the benefits of participating in, and contributing to the PMDK open source community development process. 

We're heading towards a future where standard servers include both volatile memory, as we know it today, as well as a persistent memory tier. We created PMDK as the open source APIs you can start building on today to ensure your application works optimally, as persistent memory becomes a standard feature on all servers. Similar to the APIs for reading and writing files that have remained constant on operating systems, we created PMDK in partnership with the operating system vendors to be the standard set of long term stable APIs for using persistent memory. 

With storage, the hardware technology has evolved dramatically from hard drives the SSDs, from direct attached storage to extra storage and back again. But applications continue to work because the API abstracts away the differences between hardware implementations. Persistent memory hardware will also continue to improve over time. But the need for applications to manage their memory, to keep data structures consistent, to ensure transactional updates, and to guarantee data is reliably persisted at critical program steps, are some of the functionality application developers will continue to need. 

PMDK is the API that provides these functions, in a consistent way, as persistent memory hardware evolves. We will continue to develop PMDK through an open source process. In addition to using it for your application, you have an opportunity to engage in the open source process so that, together, we make PMDK the foundation you can build on for many years into the future. 

This includes, not just the native C language libraries, but also extensions into higher level languages and APIs. Some of the language interfaces the community is developing include c++ classes and templates, extensions into Java and Java class libraries, Python, as well as other popular languages. 

In addition to language interfaces, developers are creating key value API's for the growing number of cloud applications that use key value stores. We are also working with open source developers, in the high performance supercomputing space, on extensions for distributed object stores across large HPC clusters. Additionally, we work with industry standards groups like Storage Networking Industry Association (SNIA), on extensions for RDMA to make it easy for applications to directly access remote persistent memory. These are just some of the items on the long term strategic roadmap. 

Today, PMDK has the core features to make it easy to use persistent memory. And these are being tested to server class software quality criteria, and are being used by a growing set of applications. At the same time, PMDK is a fully open development project, hosted on GitHub, with a mix of stable, tested libraries combined with future experimental APIs that you can help develop. 

So prepare for the future server architecture and join the open source process to build the API's for persistent memory. Thanks for watching. Check out the links provided. And make sure to like this video and to subscribe.