Approximate nearest neighbor search (ANNS) plays an indispensable role in a wide variety of applications, including recommendation systems, information retrieval, and semantic search. Among the cutting-edge ANNS algorithms, graph-based approaches provide superior accuracy and scalability on massive datasets. However, the best-performing graph-based ANN search solutions incur tens of hundreds of memory footprints as well as costly distance computation, thus hindering their efficient deployment at scale. The 3D NAND flash is emerging as a promising device for data-intensive applications due to its high density and nonvolatility. In this work, we present the near-storage processing (NSP)-based ANNS solution Proxima, to accelerate graph-based ANNS with algorithm-hardware co-design in 3D NAND flash. Proxima significantly reduces the complexity of graph search by leveraging the distance approximation and early termination. On top of the algorithmic enhancement, we implement Proxima search algorithm in 3D NAND flash using the heterogeneous integration technique. To maximize 3D NAND's bandwidth utilization, we present customized dataflow and optimized data allocation scheme. Our evaluation results show that: compared to graph ANNS on CPU and GPU, Proxima achieves a magnitude improvement in throughput or energy efficiency. Proxima yields 7x to 13x speedup over existing ASIC designs. Furthermore, Proxima achieves a good balance between accuracy, efficiency and storage density compared to previous NSP-based accelerators.
翻译:近似最近邻搜索(ANNS)在推荐系统、信息检索和语义搜索等各类应用中扮演着不可或缺的角色。在前沿ANNS算法中,基于图的方法在处理海量数据集时提供了卓越的准确性和可扩展性。然而,性能最优的基于图的ANN搜索方案需要占用数十至数百倍的内存足迹,并伴随昂贵的距离计算,从而阻碍了其大规模高效部署。3D NAND闪存凭借其高密度和非易失性,正成为数据密集型应用中有前景的设备。本文提出基于近存储处理(NSP)的ANNS解决方案Proxima,通过算法-硬件协同设计在3D NAND闪存中加速基于图的ANNS。Proxima利用距离近似与提前终止策略显著降低图搜索的复杂度。在算法优化的基础上,我们采用异构集成技术在3D NAND闪存中实现Proxima搜索算法。为最大化3D NAND的带宽利用率,我们提出了定制化数据流和优化的数据分配方案。评估结果表明:与CPU和GPU上的图ANNS相比,Proxima在吞吐量或能效上实现了数量级提升;相较于现有ASIC设计,Proxima实现7倍至13倍加速。此外,与先前基于NSP的加速器相比,Proxima在准确性、效率和存储密度之间取得了良好平衡。