DRIM-ANN: An Approximate Nearest Neighbor Search Engine based on Commercial DRAM-PIMs
Fuente:
arXiv
Saved in:
| Main Authors: | , , , , , , , , , , |
|---|---|
| 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 |