Offloading to CXL-based Computational Memory
Suyeon Lee, Kangkyu Park, Kwangsik Shin, Ada Gavrilovska
TL;DR
The paper tackles data movement bottlenecks in disaggregated memory by proposing CCM and a novel asynchronous back-streaming protocol. It introduces KAI, a system that enables continuous overlap of data movement and computation between host and CCM, achieving up to 50.4% end-to-end speedups and substantial idle-time reductions. By analyzing dual CCM architectures, workloads, and inefficiencies, the work demonstrates how end-to-end pipeline design can surpass traditional RP and BS offloading models. The findings suggest that asynchronous, device-initiated streaming with lightweight host polling and OoO capabilities can significantly improve general-purpose CCM performance in diverse workloads.
Abstract
CXL-based Computational Memory (CCM) enables near-memory processing within expanded remote memory, presenting opportunities to address data movement costs associated with disaggregated memory systems and to accelerate overall performance. However, existing operation offloading mechanisms are not capable of leveraging the trade-offs of different models based on different CXL protocols. This work first examines these tradeoffs and demonstrates their impact on end-to-end performance and system efficiency for workloads with diverse data and processing requirements. We propose a novel 'Asynchronous Back-Streaming' protocol by carefully layering data and control transfer operations on top of the underlying CXL protocols. We design KAI, a system that realizes the asynchronous back-streaming model that supports asynchronous data movement and lightweight pipelining in host-CCM interactions. Overall, KAI reduces end-to-end runtime by up to 50.4%, and CCM and host idle times by average 22.11x and 3.85x, respectively.
