What is Persistent Memory Over Fabric?

Learn how to utilize persistent memory over fabric (PMOF) to move data in and out of persistent memory attached to many physical systems, and why PMOF will become a key technology for Cloud and High-Performance Computing.

Hi I'm Chet Douglas. In this video, I'll explain persistent memory over fabric or PMOF and why it will become a key technology for cloud and high performance computing. Pure math is largely rooted in persistent memory. Persistent memory, sometimes called storage class memory, is only recently available on modern hardware. This is due to the emergence of new technologies such as Intel's 3D cross point memory. 

In this video, we will discuss how to utilize PMOF to move data in and out of persistent memory attached to many physical systems. If you'd like to learn the basics in utilizing persistent memory on a single physical system and how to move data efficiently into and out of that memory, check out the What is Persistent Memory videos provided in the links. 

Cloud in high performance computing requires data to be moved between hundreds or even thousands of physical systems. Data may be replicated across multiple nodes for redundancy and protection. Or the data can be split across physical systems for performance. High performance networking fabrics provide this interconnect between these physical systems. The fabrics utilize network adapter hardware in each physical system to move the data using a point to point connection. Two types of fabrics are typically used. The first is TCP/IP based networks that utilize the CPU on each end of the connection to move the data. 

The second is remote DMA cable networks or RDMA. It is a more efficient transport that will be utilized in PMOF. It utilizes a special network adapter hardware or arnix to offload the data movement from the CPU to each system's network adapter. This improves system performance by allowing the CPUs to data process and the arnix to move data between systems. When moving data between systems, volatile DRAM memory is typically utilized. Once the data is written into the DRAM on remote physical system, the system is notified that the data has been moved, and the local CPU can begin processing the new data. 

Now with persistent memory over fabric, it is possible to replace the vault of DRAM in the system with persistent memory. This allows us to utilize RDMA with persistent memory instead of DRAM. PMOF adheres to the storage networking industry association or SNIA programming model which requires that any CPU caches be flushed before the persistence of the data can be guaranteed. After data is written into the persistent memory using RDMA, the software will need to flush the node CPU caches before the software can assume the data to be persistent. 

Alternatively, if the system can bypass CPU caches when moving the data, CPU flushes are no longer required. PMOF supplies two solutions to accomplish this. The persistent memory development kit or PMDK provides a native PMOF solution that supports the standard high-performance networking protocols. PMDK supports one simple PMOF use case-- persistent memory replication from a local system to one or more remote systems. This provides high-performance data redundancy across multiple feathered events. 

Once your application is ported to PMDK, enabling PMOF to replicate persistent memory is done with a simple set of updates to existing PMDK configuration files. No further changes to your application are required to make use of this powerful feature. Thanks for watching. To learn more, check out the Persistent Memory Development Kit playlist and see the links provided. Don't forget to like this video and subscribe to the Intel software YouTube channel. Thank you.