Taking Advantage of Persistent Memory with Open Source PMDK and Intel Profiling Tools
TimeMonday, July 291:30pm - 5pm
DescriptionThe recent emergence of persistent memory offers a new tier of data placement, with memory-style access and storage-style persistence. This half-day workshop covers how operating systems expose persistent memory to applications, and ways applications can fully leverage what it can do. Full program examples showing solutions using persistent memory are presented. The workshop covers the use of the Persistent Memory Development Kit, PMDK, a growing collection of libraries which have been developed for various use cases, tuned, validated to production quality, and thoroughly documented. These libraries build on the Direct Access (DAX) feature available in both Linux and Windows, which allows applications direct load/store access to persistent memory by memory-mapping files on a persistent memory aware file system. PMDK (http://pmem.io/pmdk/) will work with any persistent memory that provides the SNIA NVM Programming Model (https://www.snia.org/sites/default/files/technical_work/final/NVMProgrammingModel_v1.2.pdf). It is open source and welcomes community contributions.
In addition to PMDK, this educational session will show users how to take advantage of freely available tools from Intel – namely the Intel® VTune™ Amplifier. This premier performance profiler has new capabilities to help you optimize your persistent memory programs. This workshop will show users how to:
• Analyze systems over longer intervals. Find out which workloads can benefit from larger memory allocations and which system configuration better fits the workloads.
• Locate code that is sensitive to memory bandwidth and latency issues. Identify hot, warm, or cool data to optimize memory usage and placement.
• Identify opportunities to replace disk or SSD-based storage with faster persistent memory.
The workshop will also show users how to take advantage of the new Intel® Persistence Inspector tool. This tool finds persistence errors quickly to make software fast and reliable.