[论文解读] Main Memory Adaptive Indexing for Multi-core Systems
本文提出了三种新颖的并行自适应索引算法——并行分块标准裂解(P-CSC)、并行分块粗粒度索引(P-CCGI)和并行范围分区排序(P-CRS)——以及一种NUMA感知的混合排序方法,表明基于排序的方法在多核环境中可优于自适应索引。关键发现是P-CCGI实现了最低的累积查询响应时间,而P-CRS和P-RPRS在超过约500个查询后展现出更优的可扩展性和性能,挑战了自适应索引在高度并行工作负载中的主导地位。
Adaptive indexing is a concept that considers index creation in databases as a by-product of query processing; as opposed to traditional full index creation where the indexing effort is performed up front before answering any queries. Adaptive indexing has received a considerable amount of attention, and several algorithms have been proposed over the past few years; including a recent experimental study comparing a large number of existing methods. Until now, however, most adaptive indexing algorithms have been designed single-threaded, yet with multi-core systems already well established, the idea of designing parallel algorithms for adaptive indexing is very natural. In this regard only one parallel algorithm for adaptive indexing has recently appeared in the literature: The parallel version of standard cracking. In this paper we describe three alternative parallel algorithms for adaptive indexing, including a second variant of a parallel standard cracking algorithm. Additionally, we describe a hybrid parallel sorting algorithm, and a NUMA-aware method based on sorting. We then thoroughly compare all these algorithms experimentally; along a variant of a recently published parallel version of radix sort. Parallel sorting algorithms serve as a realistic baseline for multi-threaded adaptive indexing techniques. In total we experimentally compare seven parallel algorithms. Additionally, we extensively profile all considered algorithms. The initial set of experiments considered in this paper indicates that our parallel algorithms significantly improve over previously known ones. Our results suggest that, although adaptive indexing algorithms are a good design choice in single-threaded environments, the rules change considerably in the parallel case. That is, in future highly-parallel environments, sorting algorithms could be serious alternatives to adaptive indexing.
研究动机与目标
- 为解决多核数据库系统中的性能差距,设计可随核心数量增加而扩展的高效并行自适应索引算法。
- 评估基于排序的方法是否可作为并行环境中自适应索引的可行且潜在更优的替代方案。
- 通过比较多种变体(包括NUMA感知和混合排序技术)来识别最高效的并行自适应索引算法。
- 分析所有算法中的系统级瓶颈,如缓存未命中、NUMA效应和锁开销,以指导架构优化。
- 确定在不同工作负载下,基于排序的方法的总查询响应时间超越自适应索引的临界点。
提出的方法
- 提出并行分块标准裂解(P-CSC),即对标准裂解进行线程级并行化,将数据划分为块以实现并发处理。
- 引入并行分块粗粒度索引(P-CCGI),在索引前应用范围分区以提升收敛速度并减少初始响应时间。
- 开发并行范围分区基数排序(P-RPRS),一种空间高效且可扩展的排序变体,作为自适应索引的高性能基线。
- 设计一种混合并行排序算法(P-CRS),结合自适应索引原理与排序技术,实现在初始排序后快速查询处理。
- 采用NUMA感知的排序策略,将数据分区到不同内存节点,以减少非统一内存访问架构中的延迟并改善缓存局部性。
- 通过广泛性能剖析测量所有算法的带宽利用率、缓存未命中、NUMA效应和锁开销,以识别性能瓶颈。
实验结果
研究问题
- RQ1在不断增加的线程数量下,并行自适应索引算法在初始响应时间和累积查询时间方面如何比较?
- RQ2在多核系统中,基于排序的方法是否可优于自适应索引,尤其是在查询数量增加时?
- RQ3NUMA感知的数据分区对并行排序和索引算法的性能有何影响?
- RQ4缓存未命中、内存带宽和锁开销等系统级因素如何影响并行自适应索引的可扩展性?
- RQ5在多核环境中,基于排序的方法的总查询响应时间何时会超越自适应索引?
主要发现
- 并行分块粗粒度索引(P-CCGI)实现了最低的累积查询响应时间,在约10个查询后优于所有其他算法。
- 并行分块标准裂解(P-CSC)具有最快的初始响应时间,但因收敛速度较慢,在约10个查询后被P-CCGI超越。
- 并行范围分区基数排序(P-RPRS)的可扩展性接近线性,且比标准并行基数排序显著减少额外空间需求。
- 混合排序算法P-CRS的初始响应时间与完整排序相当,并在查询数量增加时迅速成为最快方法之一。
- 自适应索引最快方法(P-CSC)与基于排序方法最快方法(P-CRS)之间的临界点移至约500个查询,表明在高并发场景下排序方法可能占据主导。
- 性能剖析显示,P-RPRS和P-CRS在排序阶段为CPU瓶颈,表明进一步提升线程数可使临界点更早出现。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。