Abstract
Starting from a couple academic papers and no actual persistent memory, the PMDK team made its first commit in 2014 and began a long journey of invention and learning. Persistent memory programming can be simple, given the right high-level APIs, and it can be complex and error prone when more flexible and powerful APIs are used. Meeting application requirements and constructing useful APIs requires years of experimentation, learning from mistakes, and integrating feedback from a large ISV community. Lead PMDK architect Piotr Balcer will talk through some of the lessons learned during PMDK development and usage by applications.