Build & maintain complex distributed systems
October 1–2, 2017: Training
October 2–4, 2017: Tutorials & Conference
New York, NY

Four things I wish I'd known sooner about persistent memory

Rob Dickinson (resurface.io)
3:50pm4:30pm Tuesday, October 3, 2017

Who is this presentation for?

  • Application architects, software developers, and DevOps engineers

Prerequisite knowledge

  • General software development knowledge

What you'll learn

  • Learn how to better frame your own persistent memory initiatives, avoiding some common problems in the process

Description

On the surface, adapting software to use persistent memory seems obvious. After all, persistent memory is simply fast memory that maintains state when the power goes out, like an SSD. But unlike SSDs, persistent memory challenges long-held ideas and conventions about how software works.

While the dust has yet to settle, some basic guidelines about how to best enable software to use persistent memory have become clear. Drawing on his experience enabling software for persistent memory over the last year, Rob Dickinson outlines four key ideas that will help focus your persistent memory strategy.

  1. Persistent memory is not exactly like memory or storage. Persistent memory has different performance, capacity, cost, and wear characteristics compared with other types of memory and storage. Rob reviews the new “latency diet” that applications should expect when persistent memory is present.
  2. Persistent memory will be used in concert with other memory and storage technologies. Because persistent memory has unique characteristics, expect hybrid architectures that span all available tiers of storage. Rob presents two specific examples where hybrids outperform more simplistic approaches.
  3. Persistent memory supports a variety of enablement models. Application architects will have a large range of choices for how use of persistent memory bubbles up into the application. The most exciting model is to provide raw byte-addressable memory directly into userspace, but this is also the most disruptive. Rob reviews several approaches for enabling use of persistent memory, including some easy ways to get started.
  4. Persistent memory reexposes some classic problems. The more layers of software that we strip away to improve performance, the more effort has to be spent by the application to do things that were transparent to the application before. Rob reviews some of these basic problems—including memory allocation, position independence, type safety and transactions—and efforts underway to provide solutions.
Photo of Rob Dickinson

Rob Dickinson

resurface.io

Over the last 20 years, Rob has led development of monitoring and performance solutions at Xaffire, Dell Software and Intel. He founded resurface.io to strike a devops-friendly balance between deep API monitoring and the latest privacy and security standards. When Rob isn’t geeking out, he’s camping and snowboarding with his wife and three kids in Colorado.