Declarative Memory Services

Authors:
Jeronimo Castrillon, Jana Giceva, Yu Hua, Kimberly Keeton, Akhil Shekar, Kevin Skadron, Tianzheng Wang, Huanchen Zhang
Abstract

The advent of new memory devices (e.g., high-bandwidth memory and processing-in-memory devices) and interconnects (e.g., Compute Express Link) brings a diverse landscape of modern memory systems with high performance and non-traditional features such as compression, encryption, replication and domain-specific as well as general-purpose computation. Meanwhile, it has become highly complex to program modern memory systems, leading to hand-crafted systems that are not sustainable as the hardware evolves. Our vision is to build declarative memory services (DMS) where developers only need to specify the desirable properties supported by the devices without having to dictate how these properties are implemented using which device, which is performed by a DMS runtime, so as to hide the complexity and allow ample space for optimizations. We demonstrate the potential of DMS via real use cases and outline a research agenda towards realizing this vision.