[论文解读] Application-Driven Near-Data Processing for Similarity Search
本文提出SSAM,一种集成于混合内存堆栈(HMC)的近数据处理加速器,通过在内存中直接执行k近邻(kNN)计算来实现相似性搜索。通过将处理单元与DRAM共置,并针对数据并行的距离计算和top-k排序进行优化,SSAM在面积归一化吞吐量和能效方面相比CPU、GPU和FPGA最高提升100倍,同时还能高效构建kNN索引,并作为大容量内容可寻址内存使用。
Similarity search is a key to a variety of applications including content-based search for images and video, recommendation systems, data deduplication, natural language processing, computer vision, databases, computational biology, and computer graphics. At its core, similarity search manifests as k-nearest neighbors (kNN), a computationally simple primitive consisting of highly parallel distance calculations and a global top-k sort. However, kNN is poorly supported by today's architectures because of its high memory bandwidth requirements. This paper proposes an application-driven near-data processing accelerator for similarity search: the Similarity Search Associative Memory (SSAM). By instantiating compute units close to memory, SSAM benefits from the higher memory bandwidth and density exposed by emerging memory technologies. We evaluate the SSAM design down to layout on top of the Micron hybrid memory cube (HMC), and show that SSAM can achieve up to two orders of magnitude area-normalized throughput and energy efficiency improvement over multicore CPUs; we also show SSAM is faster and more energy efficient than competing GPUs and FPGAs. Finally, we show that SSAM is also useful for other data intensive tasks like kNN index construction, and can be generalized to semantically function as a high capacity content addressable memory.
研究动机与目标
- 为解决相似性搜索工作负载中日益严重的内存带宽瓶颈,特别是针对大规模多媒体和数据密集型应用。
- 通过将计算与内存共置的近数据处理技术,减少kNN搜索中的数据移动开销。
- 设计一种面向kNN工作负载的应用驱动型加速器,利用HMC等新兴3D堆叠内存技术。
- 展示在相似性搜索及相关任务中,相比传统CPU、GPU和FPGA,SSAM在性能和能效方面实现显著提升。
- 探索该加速器在作为大容量内容可寻址内存方面的能力,以支持数据密集型工作负载。
提出的方法
- 设计一种基于可编程向量处理器的加速器,集成于层叠堆叠的HMC中,直接在内存中执行kNN操作。
- 实现硬件支持以并行计算距离,并使用优先队列实现全局top-k选择,从而最小化数据移动。
- 扩展指令集以包含专用于相似性搜索的操作,如向量点积和比较指令。
- 将SSAM设计综合并仿真至物理布局,以实现性能和面积的精确估算。
- 使用真实世界的kNN工作负载和索引任务,与CPU、GPU和FPGA进行对比评估。
- 利用HMC等新兴内存技术,实现高内存带宽和密度,从而支持高效的内存内计算。
实验结果
研究问题
- RQ1近数据处理能否显著减少kNN相似性搜索中的数据移动开销,从而提升性能和能效?
- RQ2面向kNN工作负载进行协同优化的应用驱动型加速器设计,与GPU和FPGA等通用加速器相比表现如何?
- RQ3在大规模数据集中,使用向量处理器进行内存内处理在多大程度上能降低kNN查询的延迟和能耗?
- RQ4该加速器架构能否被复用于相关数据密集型任务,如kNN索引构建?
- RQ5SSAM设计能否作为大容量内容可寻址内存使用,实现超越kNN的关联搜索能力?
主要发现
- SSAM在面积归一化吞吐量方面相比多核CPU最高提升两个数量级。
- SSAM在相似性搜索工作负载中相比多核CPU能效最高提升两个数量级。
- SSAM在kNN搜索的吞吐量和能效方面均优于GPU和FPGA。
- SSAM通过减少向量处理过程中的数据移动,实现了高效的kNN索引构建。
- SSAM可泛化为大容量内容可寻址内存,展现出超越kNN的语义灵活性。
- 通过硬件与指令集扩展的协同设计,SSAM显著提升了性能,其架构与kNN的计算模式高度匹配。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。