Will Persistent Memory Solve My Performance Problem?

  • Overview
  • Resources
  • Transcript

Persistent memory is adding a completely novel memory tier to the memory hierarchy that fits between DRAM and SSDs. In this video, we will show software developers how they can analyze their application in order to identify if they will benefit from persistent memory.

Persistent memory is adding a completely novel memory tier to the memory hierarchy that fits between DRAM and SSD. It promises to provide memory that is larger capacity, affordable, and persistent at the same time. My name is Thomas Wilhelm and in this video, we will show software developers how they can analyze the application in order to identify if they will benefit from persistent memory.

If you're using Fido today, the question is if persistent memory will bring you some advantage. Persistent memory can be seen as an ultra-fast SSD. The performance will only improve if the application is currently I/O bound. The Intel® VTune™ Disk I/O analysis is a great tool to identify if the application is I/O bound and can help to quantify the impact. On the other hand, if you come from the top and you're using DRAM today, when does it make sense to replace it by persistent memory?

Persistent memory will have much larger capacity than DRAM at a better price. The VTune memory consumption analysis will help you understand where your application is using memory and which data structures you might want to move to persistent memory. When you keep your data in persistent memory, you don't need to reload it when the program or the system is restarted. This allows you to quickly suspend your program or a fast restart during planned or unplanned downtime.

But keep in mind, persistent memory has high latency which might negatively impact performance when you move data structures from DRAM to persistent memory. The VQ memory access analysis quantifies how much your application is impacted by latency. Furthermore, it allows you to identify data structures and functions that are sensitive to latency, which you might not want to move from DRAM to persistent memory.

Persistent memory creates completely new opportunities, being a hybrid of RAM and storage. As you have seen, performance profiles let you analyze the behavior of your workload and quantify the impact that it will have on your application. Thanks for watching. Don't forget to like this video, subscribe, and visit the links provided to start analyzing your application.

Categories: