NDRec: A Near-Data Processing System for Training Large-Scale Recommendation Models

Shiyu Li,Yitu Wang,Edward Hanson,Andrew Chang,Yang Seok Ki,Hai Li,Yiran Chen,Hai Helen Li
DOI: https://doi.org/10.1109/tc.2024.3365939
IF: 3.183
2024-01-01
IEEE Transactions on Computers
Abstract:Recent advances in deep neural networks (DNNs) have enabled highly effective recommendation models for diverse web services. In such DNN-based recommendation models, the embedding layer comprises the majority of model parameters. As these models scale rapidly, the embedding layer's memory capacity and bandwidth requirements threaten to exceed the limits of current computing architectures. We observe the embedding layer's computational demands increase much more slowly than its storage needs, suggesting an opportunity to offload embeddings to storage hardware. In this work, we present NDRec, a near-data processing system to train large-scale recommendation models. NDRec offloads both the parameters and the computation of the embedding layer to computational storage devices (CSDs), using coherence interconnects (CXLs) for communication between GPUs and CSDs. By leveraging the statistical properties of embedding access patterns, we develop an optimized CSD memory hierarchy and caching strategy. A lookahead embedding scheme enables concurrent execution of embeddings and other operations, hiding latency and reducing memory bandwidth requirements. We evaluate NDRec using real-world and synthetic benchmarks. Results demonstrate NDRec achieves up to 4.33$\boldsymbol{\times}$× and 3.97$\boldsymbol{\times}$× speedups over heterogeneous CPU-GPU platforms and GPU caching, respectively. NDRec also reduces per-iteration energy consumption by up to 54.9%.
engineering, electrical & electronic,computer science, hardware & architecture
What problem does this paper attempt to address?