Pond: CXL-Based Memory Pooling Systems for Cloud Platforms - Li, Huaicheng; Berger, Daniel S.; Novakovic, Stanko; Hsu, Lisa; Ernst, Dan; Zardoshti, Pantea; Shah, Monish; Rajadnya, Samir; Lee, Scott; Agarwal, Ishwar; Hill, Mark D.; Fontoura, Marcus; et al. (Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2023)
Public cloud providers seek to meet stringent performance requirements and low hardware cost. A key driver of performance and cost is main memory. Memory pooling promises to improve DRAM utilization and thereby reduce costs. However, pooling is challenging under cloud performance requirements. This paper proposes Pond, the first memory pooling system that both meets cloud performance goals and significantly reduces DRAM cost. Pond builds on the Compute Express Link (CXL) standard for load/store access to pool memory and two key insights. First, our analysis of cloud production traces shows that pooling across 8-16 sockets is enough to achieve most of the benefits. This enables a small-pool design with low access latency. Second, it is possible to create machine learning models that can accurately predict how much local and pool memory to allocate to a virtual machine (VM) to resemble same-NUMA-node memory performance. Our evaluation with 158 workloads shows that Pond reduces DRAM costs by 7% with performance within 1-5% of same-NUMA-node VM allocations.
Distinguished Paper Award