64
Although the PMDK was created by Intel to support its hardware products, Intel is
committed to ensuring the libraries and tools are both vendor and platform neutral. This
means that the PMDK is not tied to Intel processors or Intel persistent memory devices.
It can be made to work on any other platform that exposes the necessary interfaces
through the operating system, including Linux and Microsoft Windows. We welcome
and encourage contributions to PMDK from individuals, hardware vendors, and ISVs.
The PMDK has a BSD 3-Clause License, allowing developers to embed it in any software,
whether it’s open source or proprietary. This allows you to pick and choose individual
components of PMDK by integrating only the bits of code required.
The PMDK is available at no cost on GitHub (https://github.com/pmem/pmdk) and
has a dedicated web site at https://pmem.io. Man pages are delivered with PMDK and
are available online under each library’s own page. Appendix B of this book describes
how to install it on your system.
An active persistent memory community is available through Google Forums at
https://groups.google.com/forum/#!forum/pmem. This forum allows developers,
system administrators, and others with an interest in persistent memory to ask questions
and get assistance. This is a great resource.
Choosing the Right Semantics
With so many libraries available within the PMDK, it is important to carefully consider
your options. The PMDK offers two library categories:
1. Volatile libraries are for use cases that only wish to exploit the
capacity of persistent memory.
2. Persistent libraries are for use in software that wishes to
implement fail-safe persistent memory algorithms.
While you are deciding how to best solve a problem, carefully consider which
category it fits into. The challenges that fail-safe persistent programs present are
significantly different from volatile ones. Choosing the right approach upfront will
minimize the risk of having to rewrite any code.
You may decide to use libraries from both categories for different parts of the
application, depending on feature and functional requirements.
Chapter 5 IntroduCIng the persIstent MeMory developMent KIt
Although the PMDK was created by Intel to support its hardware products, Intel is
committed to ensuring the libraries and tools are both vendor and platform neutral. This
means that the PMDK is not tied to Intel processors or Intel persistent memory devices.
It can be made to work on any other platform that exposes the necessary interfaces
through the operating system, including Linux and Microsoft Windows. We welcome
and encourage contributions to PMDK from individuals, hardware vendors, and ISVs.
The PMDK has a BSD 3-Clause License, allowing developers to embed it in any software,
whether it’s open source or proprietary. This allows you to pick and choose individual
components of PMDK by integrating only the bits of code required.
The PMDK is available at no cost on GitHub (https://github.com/pmem/pmdk) and
has a dedicated web site at https://pmem.io. Man pages are delivered with PMDK and
are available online under each library’s own page. Appendix B of this book describes
how to install it on your system.
An active persistent memory community is available through Google Forums at
https://groups.google.com/forum/#!forum/pmem. This forum allows developers,
system administrators, and others with an interest in persistent memory to ask questions
and get assistance. This is a great resource.
Choosing the Right Semantics
With so many libraries available within the PMDK, it is important to carefully consider
your options. The PMDK offers two library categories:
1. Volatile libraries are for use cases that only wish to exploit the
capacity of persistent memory.
2. Persistent libraries are for use in software that wishes to
implement fail-safe persistent memory algorithms.
While you are deciding how to best solve a problem, carefully consider which
category it fits into. The challenges that fail-safe persistent programs present are
significantly different from volatile ones. Choosing the right approach upfront will
minimize the risk of having to rewrite any code.
You may decide to use libraries from both categories for different parts of the
application, depending on feature and functional requirements.
Chapter 5 IntroduCIng the persIstent MeMory developMent KIt
