一种学习索引的微体系结构分析
数据结构与算法
2021-09-20 v1 数据库
机器学习
摘要
自2018年《学习索引结构的案例》发表以来,针对不同的领域和功能的学习索引研究不断增多。尽管若干研究已证明学习索引作为B+树等传统索引结构替代方案的有效性,先前工作往往聚焦于吞吐量、索引大小等高层性能指标。本文中,我们的目标是更深入地研究学习索引在微体系结构层面相对于传统索引的行为。具体而言,我们聚焦于先前提出的学习索引结构ALEX,它是一种基于树的、由机器学习模型层次构成的记忆体内索引结构。与最初的学习索引提案不同,ALEX从底层设计即支持更新与插入,从而支持使用学习索引的更动态工作负载。本工作中,我们对ALEX进行微体系结构分析,并将其行为与未基于学习模型的基于树的索引结构(即ART与B+树)比较。结果表明,ALEX受内存停顿限制,主要是末级缓存数据缺失引起的停顿。与ART和B+树相比,ALEX在不同工作负载下表现出更少的停顿与更低的每指令周期数。另一方面,ALEX中处理越界插入所需的指令量会显著增加写密集工作负载下每次请求所需指令(达10倍)。然而,微体系结构行为显示该指令足迹的增加表现出较高的指令级并行度,因此不会对总体执行时间产生负面影响。
引用
@article{arxiv.2109.08495,
title = {Micro-architectural Analysis of a Learned Index},
author = {Mikkel Møller Andersen and Pınar Tözün},
journal= {arXiv preprint arXiv:2109.08495},
year = {2021}
}
备注
Under submission