DRIM-ANN: An Approximate Nearest Neighbor Search Engine based on Commercial DRAM-PIMs

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Chen, Mingkai, Han, Tianhua, Liu, Cheng, Liang, Shengwen, Yu, Kuai, Dai, Lei, Yuan, Ziming, Wang, Ying, Zhang, Lei, Li, Huawei, Li, Xiaowei
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912555298979840
author Chen, Mingkai
Han, Tianhua
Liu, Cheng
Liang, Shengwen
Yu, Kuai
Dai, Lei
Yuan, Ziming
Wang, Ying
Zhang, Lei
Li, Huawei
Li, Xiaowei
author_facet Chen, Mingkai
Han, Tianhua
Liu, Cheng
Liang, Shengwen
Yu, Kuai
Dai, Lei
Yuan, Ziming
Wang, Ying
Zhang, Lei
Li, Huawei
Li, Xiaowei
contents Approximate nearest neighbor search (ANNS) is essential for applications like recommendation systems and retrieval-augmented generation (RAG) but is highly I/O-intensive and memory-demanding. CPUs face I/O bottlenecks, while GPUs are constrained by limited memory. DRAM-based Processing-in-Memory (DRAM-PIM) offers a promising alternative by providing high bandwidth, large memory capacity, and near-data computation. This work introduces DRIM-ANN, the first optimized ANNS engine leveraging UPMEM's DRAM-PIM. While UPMEM scales memory bandwidth and capacity, it suffers from low computing power because of the limited processor embedded in each DRAM bank. To address this, we systematically optimize ANNS approximation configurations and replace expensive squaring operations with lookup tables to align the computing requirements with UPMEM's architecture. Additionally, we propose load-balancing and I/O optimization strategies to maximize parallel processing efficiency. Experimental results show that DRIM-ANN achieves a 2.46x speedup over a 32-thread CPU and up to 2.67x over a GPU when deployed on computationally enhanced PIM platforms.
format Preprint
id arxiv_https___arxiv_org_abs_2410_15621
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle DRIM-ANN: An Approximate Nearest Neighbor Search Engine based on Commercial DRAM-PIMs
Chen, Mingkai
Han, Tianhua
Liu, Cheng
Liang, Shengwen
Yu, Kuai
Dai, Lei
Yuan, Ziming
Wang, Ying
Zhang, Lei
Li, Huawei
Li, Xiaowei
Performance
Approximate nearest neighbor search (ANNS) is essential for applications like recommendation systems and retrieval-augmented generation (RAG) but is highly I/O-intensive and memory-demanding. CPUs face I/O bottlenecks, while GPUs are constrained by limited memory. DRAM-based Processing-in-Memory (DRAM-PIM) offers a promising alternative by providing high bandwidth, large memory capacity, and near-data computation. This work introduces DRIM-ANN, the first optimized ANNS engine leveraging UPMEM's DRAM-PIM. While UPMEM scales memory bandwidth and capacity, it suffers from low computing power because of the limited processor embedded in each DRAM bank. To address this, we systematically optimize ANNS approximation configurations and replace expensive squaring operations with lookup tables to align the computing requirements with UPMEM's architecture. Additionally, we propose load-balancing and I/O optimization strategies to maximize parallel processing efficiency. Experimental results show that DRIM-ANN achieves a 2.46x speedup over a 32-thread CPU and up to 2.67x over a GPU when deployed on computationally enhanced PIM platforms.
title DRIM-ANN: An Approximate Nearest Neighbor Search Engine based on Commercial DRAM-PIMs
topic Performance
url https://arxiv.org/abs/2410.15621