@inproceedings{2fcc7984e36944ac989c0023ae380690,
title = "FluidMeM: full, flexible, and fast memory disaggregation for the cloud",
abstract = "This paper presents a new approach to memory disaggregation called FluidMem that leverages the userfault mechanism in Linux to achieve full memory disaggregation in software. FluidMem enables dynamic and transparent resizing of an unmodified Virtual Machine{\textquoteright}s (VM{\textquoteright}s) memory footprint in the cloud. As a result, a VM{\textquoteright}s memory footprint can seamlessly scale over multiple machines or even be downsized to a near-zero footprint on a given server. FluidMem{\textquoteright}s architecture provides flexibility to cloud operators to manage remote memory without requiring guest intervention, while also supporting paging out the entirety of a VM{\textquoteright}s pages within its address space. FluidMem integrates with a remote memory backend in a modular way, easily supporting systems such as RAMCloud to harness remote memory. We demonstrate FluidMem outperforms an existing memory disaggregation approach based on network swap. Microbenchmarks are evaluated to characterize the latency of different components of the FluidMem architecture, and two memory-intensive applications are demonstrated using FluidMem, the Graph500 benchmark, and MongoDB. Additionally, we show FluidMem can flexibly and efficiently grow and shrink the memory footprint of a VM as defined by a cloud provider.",
keywords = "memory disaggregation, Cloud, Virtualization",
author = "Blake Caldwell and Sepideh Goodarzy and Sangtae Ha and Richard Han and Eric Keller and Eric Rozner and Youngbin Im",
year = "2020",
doi = "10.1109/ICDCS47774.2020.00090",
language = "English",
series = "IEEE International Conference on Distributed Computing Systems",
publisher = "Institute of Electrical and Electronics Engineers (IEEE)",
pages = "665--677",
booktitle = "Proceedings - 2020 IEEE 40th International Conference on Distributed Computing Systems, ICDCS 2020",
address = "United States",
note = "40th IEEE International Conference on Distributed Computing Systems, ICDCS 2020 ; Conference date: 29-11-2020 Through 01-12-2020",
}