Dynamic Capacity Service for Improving CXL Pooled Memory Efficiency
Minho Ha, Junhee Ryu, Jungmin Choi, Kwang-Jin Ko, Sunwoong Kim, Sung-woo Hyun, Donguk Moon, Byungil Koh, Hokyoon Lee, Myoung-Seo Kim, Hoshik Kim, Kyoung Park
Abstract
Compute Express Link (CXL) pooled memory is gaining attention from the industry as a viable memory disaggregation solution offering memory expansion and alleviating memory overprovisioning. One essential feature for the efficient use of the pooled memory is to dynamically allocate or release memory from the pool based on hosts’ demands. We refer to this feature dynamic capacity service (DCS). This article introduces one of the industry’s first DCS implementation for CXL pooled memory. We demonstrate fully functional DCS by implementing a field-programmable gate array-based CXL pooled memory prototype and full software stacks. Our experiment shows that DCS can substantially improve system memory utilization by dynamically allocating and releasing memory resources on demand. We also present the lessons learned from the DCS implementation.