持久化学习型索引利用机器学习模型拟合数据分布模式,能够显著提高索引的搜索性能。然而,在动态场景下,持久化学习型索引需要频繁进行重训练以维持模型精度,从而严重阻塞索引操作并显著降低系统性能。此外,为了保证崩溃一致性,现有的持久化学习型索引将模型结构保存在NVM中,从而在索引操作的关键路径上产生大量的模型读写开销,并迅速消耗NVM带宽。
为了降低持久化学习型索引的重训练和持久化开销,信息存储与光显示功能实验室硕士生童傲洋在华宇教授的指导下,提出了一种通过DPU加速的持久化学习型索引DALdex。针对学习型索引高昂的重训练开销,DALdex提出了一种在线增量学习算法,并通过DPU卸载增量学习,将模型重训练移除到学习型索引关键路径之外。针对NVM带宽有限的问题,DALdex设计了DRAM-NVM分层索引结构,将模型与数据解耦合,消除了索引操作中模型的NVM读写开销。在系统崩溃时,DALdex利用DPU进行故障容错,并通过DMA快速恢复索引结构。实验结果表明,与最先进的持久化传统索引和学习型索引相比,DALdex实现了1.07-6.34倍的性能提升,并将DRAM和NVM内存开销分别降低了58.9-123.7%和18.9-43.4%。此外,将DALdex集成到Redis中,实现了1.32-1.40倍的性能提升。
该研究工作题为“DALdex: A DPU-Accelerated Persistent Learned Index via Incremental Learning”,被中国计算机学会推荐的B类国际学术会议The 39th International Conference on Supercomputing (ICS ’25)录用。该研究工作得到了国家自然科学基金项目(No. 62125202和No. U22B2022)的支持。

图1 DALdex结构图

图 2 不同索引结构在不同的读写比例负载下执行索引操作的性能