It is recommended to seek advice from the server OEM/ODM directly. While it is possible to support GPUs and persistent memory in the same system, several factors need to be considered which include, but are not limited to the following:
It is recommended to seek advice from the server OEM/ODM directly. While it is possible to support FPGAs and persistent memory in the same system, several factors need to be considered which include, but are not limited to the following:
Intel® Optane™ persistent memory operating system (OS) mode support information.
|OS Version||Memory Mode||App Direct Mode||Dual Mode|
|Ubuntu* 16.04 LTS||Yes|
|Windows* Server 2016||Yes|
|Oracle* Linux* 7.6 with UEK R5 Update 2||Yes||Yes|
|VMware* vSphere 6.7 EP10||Yes||Yes|
|CentOS* 7.6 or later||Yes||Yes||Yes|
|RHEL 7.6 or later||Yes||Yes||Yes|
|SLES* 12 SP4 or later||Yes||Yes||Yes|
|SLES 15 or later||Yes||Yes||Yes|
|Ubuntu 18.04 LTS||Yes||Yes||Yes|
|Ubuntu 18.10 or later||Yes||Yes||Yes|
|VMWare* ESXi 6.7 U1 or later||Yes||Yes||Yes|
|Windows 10 Pro for Workstation Version 1809 or later||Yes||Yes||Yes|
|Windows Server 2019 or later||Yes||Yes||Yes|
This Storage Networking Industry Association (SNIA) Non-Volatile Memory (NVM) Programming model was jointly developed between ~50 industry leading companies to address the ongoing proliferation of new non-volatile memory (otherwise known as persistent memory) functionality and new NVM technologies. An extensible NVM Programming Model is necessary to enable an industry wide community of NVM producers and consumers to move forward together through a number of significant storage and memory system architecture changes.
This specification defines recommended behavior between various user space and operating system (OS) kernel components supporting NVM. This specification does not describe a specific API. Instead, the intent is to enable common NVM behavior to be exposed by multiple operating system specific interfaces.
The current version of the specification can be found on the SNIA website - SNIA NVM Programming Model.
Direct Access (DAX) enables direct access to files stored in persistent memory or on a block device. Without DAX support in a file system, the page cache is generally used to buffer reads and writes to files, and requires an extra copy operation.
DAX removes the extra copy operation by performing reads and writes directly to the storage device. It is also used to provide the pages that are mapped into a user space by a call to mmap. For more information, refer to Direct Access for Files.
The Persistent Memory Development Kit (PMDK), formerly known as the Non-Volatile Memory Library (NVML), is a collection of libraries and tools designed to support development of persistent-memory-aware applications. The open source PMDK project currently supports ten libraries, which are targeted at various use cases for persistent memory with language support for C, C++, Java,
and Python. The PMDK also includes tools like the pmemcheck plug-in for the open source toolset, valgrind, and an increasing body of documentation, code examples, tutorials, and blog entries. The libraries are tuned and validated to production quality and are issued with a license that allows their use in both open and closed source products. The project continues to expand as new use cases are identified.
The Persistent Memory Development Kit (PMDK) is designed to solve persistent memory challenges and facilitate the adoption of persistent memory programming. It offers developers well-tested, production-ready libraries and tools in a comprehensive implementation of the Storage Networking Industry Association Non-Volatile Memory (SNIA NVM) programming model.
Copyright© kb.pmem.io 2020. All rights reserved.