Providing Native Support for Byte-Addressable Persistent Memory in Golang

Library Content Type:
Publish Date: 
Wednesday, January 22, 2020
Event Name: 
Focus Areas:

Persistent memory provides various benefits. First, its high density allows for large capacity random access storage to be situated close to compute. Second, its memory like latency allows for applications to directly place data structures that are latency sensitive in them. We fully expect the first value proposition to be the leading factor in the adopiton of persistent memory, primarily because it requires no changes to the applications. But, for full adoption of persistent memory, we need to make programming for byte addressable persistence easy. There are several efforts in this direction, and I will describe one of them that we are conducting in VMware, where we have ported the Golang compiler to have native support for persistent memory. We then use this compiler to develop a Redis compatible key value store, and we show that our compiler modifications make it easier to touch and feel byte addressable persistent memory from an application.

Watch video: