背景
向量搜索的兴起主要源于两方面原因。首先,由于智能手机、物联网设备和社交媒体等应用的迅猛发展,非结构化数据(如图像、文本和视频等)呈现爆炸式增长的趋势。据预测,到2025年,80%的数据将由非结构化数据组成。其次,非结构化数据往往难以被计算机直接识别,需要使用特定的语义特征来实现高质量数据处理,而向量正是这种语义特征的一种形式。
这种趋势促进了大数据和人工智能的快速发展。尽管 CPU 的性能不断增强,但存储器的发展速度远远落后于 CPU,这导致了所谓的“冯诺伊曼瓶颈”问题。此外,大数据应用需要处理海量数据,计算单元对存储器的访问频率也越来越高,进一步加剧了瓶颈问题。
近年来,闪存技术得到了不断改进,但闪存内部带宽和I/O接口速度的差距仍在不断增加。这些趋势表明,我们需要新的体系结构来解决日益严重的冯诺依曼瓶颈问题。
传统的以 CPU 为核心的计算机架构存在着许多限制,特别是在处理特定领域的应用时,难以发挥出优异的性能。例如,在处理神经网络或一些并行计算时,CPU 的性能可能无法满足需求。为了弥补这种缺陷并提高计算机处理数据的能力,目前专门针对不同领域的定制化架构正在迅速发展。其原理是利用高性能的处理单元,根据数据的状态进行处理,并定制微结构以适应特定领域的应用程序,从而实现数量级的性能提升,同时还要达到更低的功耗比。
可计算存储
例如,GPU 可用于处理运算密集的任务,而 TPU、NPU 和 PIM 等专用架构也在快速发展。在数据传输方面,可以将 CPU 对网络包的处理任务、分布式环境下的一致性或并发控制卸载到 DPU 或智能网卡上,以提高系统整体效率。可计算存储是基于移动计算比移动数据更高效的思想,即在数据存储的地方做计算,以减少数据移动的开销。
存储与网络协会将可计算存储定义为一种能够提供与存储耦合的可计算存储功能,赋予存储器一定的计算资源,从而将 CPU 的一部分数据密集型任务卸载到存储器的内部架构,以减少数据移动带来的开销。
上图是两种可计算存储的通用架构。(a)为 on 的结构,即存储控制器可以同时负责数据 IO 请求和计算功能;(b)是 offpa 的架构,这种架构是在存储器内部单独集成一个 FPGA 或者是一个高端的 arm 芯片,计算单元与存储介质通过一个内部的互联总线相连接,使得计算单元可以直接去获取存储介质当中的数据,且不需要经过主机参与。
传统存储架构与可计算存储架构的对比
上图是传统架构与可计算存储加持的一个近数据处理架构的对比。由于可计算存储每个存储器内部它都可以进行数据处理