Page 467 - 《软件学报》2025年第12期
P. 467
5848 软件学报 2025 年第 36 卷第 12 期
表简化为向量结构, S 表外键值可以直接映射为 R 表向量的偏移地址, 实现基于值-地址映射的直接访问. 从而可
以简化哈希表结构, 优化哈希表大小并消除传统哈希探测过程中较高哈希值计算、键值匹配、溢出桶遍历等操作
的 CPU 计算代价 [9] . 这种基于简单高效向量结构的算法可以应用于数据库的分组聚集和多表连接操作, 来提升数
据库基础算子的性能 [18] . 需要特别指出的是, 相对于文献 [4] 指出连接代价占查询总代价比例偏低的结论, SSB 查
询基于连接索引, 其连接操作执行代价占比达到 85% 以上, 从而使连接操作的优化在查询处理中获得最大收益.
最新研究 [7] 指出, 在学术界广泛关注和研究的 Radix 分区哈希连接算法在真实系统 TPC-H 负载上只有极为有限的
性能收益. 从理论研究与应用实践相结合的视角来看, 无分区哈希连接算法及向量连接算法的优化工作需要进一
步强化. 我们在文献 [19] 中深入研究了在不同 CPU 平台上, 数据库细粒度算子性能基准与宏基准的性能特征, 通
过 SSB 数据集模拟了无分区哈希连接算法、Radix 分区哈希连接算法和向量连接算法的多表连接性能, 实验结果
显示向量连接和无分区哈希连接在性能上远优于 Radix 分区哈希连接算法. 因此本文研究工作的重点放在前两个
连接算法, Radix 分区连接算法仅用作基准性能对比.
在相关连接优化研究工作中, NUMA 优化通常作为一种辅助优化手段. CPU 不同硬件技术路线发展趋势加大
了 NUMA 硬件的差异性, 如降低整体跨 NUMA 访问延迟和增加每 CPU 内部 NUMA 节点数量、减少内部 NUMA
节点访问延迟等技术路线. 从而使 NUMA 优化从阶段性走向全局性, 从连接算法维度的优化走向结合存储引擎优
化的维度, 在算法设计上从集中式模式走向微观 NUMA SN 集群模式, 丰富了 NUMA 研究的应用场景. 当前学术
界对 NUMA 优化的连接算法研究缺乏整体技术框架, 本文基于不同的 CPU 硬件架构提出了一个系统性的 NUMA-
conscious 连接优化技术框架, 为新型硬件平台 NUMA 优化技术提供一个全面深入的算法库、基准测试方法和研
究框架. 与本文探索静态的面向 NUMA 节点特性的数据放置策略, 以较小的系统调优代价来最大化利用硬件性能
和数据库负载在 NUMA 架构下的性能收益的立足点不同的是, Dominico 等人 [20] 提出了一种基于抽象模型的弹性
多核动态分配机制为操作系统提供特定 NUMA 节点中的局部最佳核心数量来减轻跨 NUMA 节点访问数据代价,
但这种机制理论上并不能发挥出硬件资源 (如所有核心) 的最佳性能. Fogli 等人 [21] 基于分布式数据库负载研究进
一步发现在 chiplet-based 架构的 CPU 上, chiplet-aware 的优化技术相对于 NUMA-aware 的优化技术有更大的性
能收益, 所以我们在下一步的工作中将参考其结论研究集中式内存数据库在 chiplet-based 架构上的优化技术.
6 结 论
本文聚焦于代表性的 5 款、两代 (二代和三代)、两种架构 (ARM 和 x86)、3 种类型 (ARM, Intel, AMD)
CPU 上, 面向 NUMA 架构的连接优化技术研究. 发现连接性能没有单一的答案, 而是一个多维度的问题. 从算法
维度而言, hardware-oblivious 的向量连接算法在 ARM, CLX 和 ICX 平台上优于 hardware-conscious 的 Radix 分区
连接算法, 主要原因是其较大的 L3 cache 容量和效率. 从 NUMA-conscious 算法设计的维度来说, 不同连接算法
对 NUMA-conscious 优化技术的敏感度不同, 无分区哈希连接算法通常对 NUMA-conscious 优化技术有较强及多
样化的敏感性, 适合 NUMA-conscious 优化技术的应用场景较多且在方法的选择上具有多样性; Radix 分区哈希连
接算法对 NUMA-conscious 优化技术的敏感性中等且较为稳定, 而向量连接算法对 NUMA-conscious 优化技术的
敏感性较低, 从而使其具备 hardware-oblivious 和 NUMA-oblivious 的特性, 可以在保证较高性能的基础上简化数
据库连接算法的设计. 从硬件维度来看, 不同连接优化技术在不同架构的 CPU 平台呈现不同的性能特征, NUMA-
conscious 优化技术的性能收益在 Intel 架构的 CLX 和 ICX 平台上低于 AMD 架构的 Rome Zen2 和 Milan Zen3 以
及 ARM 平台, 其较低的跨 NUMA 访问延迟降低了 NUMA 优化的重要性, 而较高的跨 NUMA 访问延迟特性则强
化了 NUMA 优化的权重. 从 CPU 硬件技术发展趋势来看, 单 CPU 单 NUMA、大容量集中式 cache、低内存访问
延迟、高带宽、更多并行核心等硬件特性可以通过 NUMA-oblivious 算法获得较高的性能, 而单 CPU 多 NUMA、
分散式小容量 L3 cache、高内存访问延迟等硬件特性则需要与 NUMA-conscious 优化技术深度结合以发挥更高
的性能. 从数据库模式优化的维度来说, 通过模式优化技术提高频繁访问数据集的大小以提高数据访问局部性、
通过部分物化或冗余连接降低大表连接代价能够更好地利用当前 CPU cache 容量的发展趋势, 简化数据库连接算

