✨ 要点🔬 技术摘要
想象一下,你是一位庞大且高速运转的图书馆(即数据库 )的管理员,这座图书馆建在一个充满未来感的城市(NUMA 服务器 )之中。这座城市并非一个巨大的开放空间,而是被划分为几个不同的街区(NUMA 节点 ),每个街区都有自己的本地分馆(核心/Cores )。
在过去,这些街区都是完全相同的。但今天,这座城市变得复杂了。有些街区之间由超高速公路连接,而有些街区则通过缓慢、蜿蜒的乡村小路相连。如果你派一名图书管理员去遥远的街区取书,他们会浪费大量宝贵的时间在路上。如果你把他们派往一个已经拥挤不堪的街区,他们就会陷入交通拥堵。
这正是 P-MOSS 所要解决的问题。
问题所在:“餐桌上的错位”
把你的计算机处理器想象成一张拥有数百个座位(核心)的巨大餐桌。数据(书籍)就散落在桌上的各个盘子里。
旧方法: 操作系统(宿主)只是简单地说:“随便坐!”或者“均匀分布!”它并不关心坐在你旁边的人是否正好拿着你需要的那本书,也不关心坐在桌子对面的人是否挡住了你的视线。
结果: 图书管理员在不同街区之间奔波的时间比实际看书的时间还要长。图书馆运行缓慢。
解决方案:P-MOSS(智能图书管理员)
P-MOSS 是一位全新的、由 AI 驱动的经理,它能学习如何精准地安排每一位图书管理员的座位,以及每一本书的摆放位置,从而将步行时间降至最低。它不仅仅是在靠猜;它在从城市的交通模式中进行学习。
以下是它的工作原理,我们使用简单的类比来解释:
1. “下一个 Token”技巧(预测未来)
该论文将 P-MOSS 与类似于能为你写文章的**大语言模型(LLM)**进行了对比。
LLM 如何工作: 它们阅读一个句子并预测“下一个词”。如果句子是“猫坐在……”,模型会预测“垫子上”。
P-MOSS 如何工作: P-MOSS 预测的不是单词,而是一系列决策序列。它会问:“我已经把书放在了 A、B 和 C 街区。根据我目前看到的交通情况,我应该为下一批书分配哪一个核心(座位) ?”
它将调度决策视为一个句子,通过预测“下一个词”(最佳座位)来完成一个完美的调度方案。
2. “黑盒”报告员(硬件 PMU)
P-MOSS 如何知道交通状况如何?它不会要求图书管理员(软件)填写调查问卷,因为那样会拖慢他们的速度。
相反,P-MOSS 直接在硬件上安装了微小的、隐形的摄像头(性能监控单元或 PMU) 。
这些摄像头观察着城市的“引擎”:内存移动的速度有多快、有多少次因为缓存为空导致图书管理员不得不停下脚步,以及街区之间的道路上有多少交通流量。
P-MOSS 利用这些底层的原始统计数据来理解硬件的“情绪”,而不会干扰正常运行。
3. 两阶段训练(学校与实习)
P-MOSS 不会在图书馆营业期间通过试错来学习(那会造成混乱)。它分两个阶段进行学习:
第一阶段:预训练(课堂学习): P-MOSS 被喂入了来自许多不同类型城市(Intel、AMD、NVIDIA 服务器)和许多不同类型人群(读密集型、写密集型工作负载)的大量交通报告数据集。它学习到了通用规则:“哦,当遇到‘读密集型’人群时,我们应该把书聚集在一起。当遇到‘写密集型’人群时,我们应该把它们分散开。”
第二阶段:微调(实习期): 一旦 P-MOSS 掌握了通用规则,它就会观察它今天所服务的那个特定 城市。它通过对当前交通进行几次快速观察,调整其通用规则,以完美适配这个特定的街区。
结果:一座更快的图书馆
论文在多种不同类型的服务器上,针对一个标准的库索引(B+ 树)测试了 P-MOSS。
优势: P-MOSS 使图书馆的运行速度比目前操作系统使用的标准方法快了高达 6 倍 。
神奇之处: 它不仅仅适用于一种类型的计算机。它在 Intel、AMD 甚至 NVIDIA 服务器上都能表现出色,能够针对每台机器独特的“形状”调整其策略。
总结
P-MOSS 就像是计算机内存的超级智能交通控制器。它不靠猜测来放置数据,而是利用借鉴自 AI 聊天机器人的“下一个词”预测技巧,来计算出数据与处理器的完美座位安排。它通过硬件自带的“摄像头”(PMU)进行学习,确保每一件数据都紧挨着需要它的处理器,从而让无论你在使用什么样的计算机时,图书馆都能运行得极其高效。
技术摘要:P-MOSS
问题陈述
利用 NUMA(非一致内存访问)和 Chiplet 架构的现代多核服务器展现出了显著的硬件异构性。这种复杂性创造了一个巨大的设计空间,其中主内存索引(例如 B+ 树)的性能可能会根据两个因素产生高达一个数量级的差异:
数据分区(Data Partitioning): 索引分区在 NUMA 节点(内存控制器)上的分布位置。
核心调度(Core Scheduling): 将逻辑核心分配给执行特定索引分区查询的任务。
这种组合被称为空间调度(spatial scheduling) 。传统方法通常依赖于静态启发式算法(如轮询、交错)或操作系统默认设置,这些方法无法适应现代硬件(Intel、AMD、NVIDIA、ARM)的多样化拓扑结构以及变化的负载模式(读密集型、写密集型、扫描型)。现有研究要么侧重于时间调度(何时运行查询),要么解决关系表的数据放置问题,往往忽略了主内存索引中核心与数据亲和性这一关键的空间维度。此外,由于调度问题的组合特性,基于启发式的解决方案难以在不同的 CPU 厂商和架构之间实现泛化。
方法论:P-MOSS
本文介绍了 P-MOSS (性能监控单元驱动的空间查询调度器),这是一个利用大型语言模型(LLM)原理来优化空间调度的学习框架。
核心范式:下一标记预测 (Next Token Prediction, NTP)
P-MOSS 将空间调度问题重新定义为一个下一标记预测 任务。它不是预测句子中的下一个单词,而是预测一系列调度决策中的下一个 Core ID(核心 ID) 。
序列(Sequence): 该序列代表了索引的调度策略,其中每个“标记”(token)对应于将一个索引切片(基于键范围的逻辑分区)分配给特定的 CPU 核心。
上下文(Context): 与自然语言标记不同,Core ID 缺乏内在的句法规律。P-MOSS 通过从硬件性能统计数据中提取上下文来丰富这些“标记”,从而解决这一问题。
架构与训练流水线
P-MOSS 使用了**决策 Transformer(Decision Transformer, DT)架构,通过 离线强化学习(Offline RL)**进行训练。该系统分为三个阶段运行:
预训练(生成式预训练):
数据源: 从多样化的硬件(Intel、AMD、NVIDIA、IBM)、多种 NUMA 配置(1NPS、4NPS、Chiplet)以及多种负载(YCSB 变体)中构建离线数据集。
过程: 系统在查询执行期间探测硬件性能监控单元(PMU),以生成“硬件快照”。这些快照捕获低层级统计数据(指令计数、缓存缺失、内存流量),无需软件层面的簿记。
标记化(Tokenization): 硬件快照、当前调度策略和性能指标被标记化为 状态(State) 、动作(Action) 、待实现回报(Return-to-Go, RTG) 和 元数据(Meta) 标记。
目标: DT 学习跨不同环境的高效调度通用模式。
推理(在线执行):
训练好的“基础”模型为目标硬件和负载预测调度策略。
P-MOSS 以随机策略或前一策略作为引导,实时监控 PMU 统计数据,并将这些数据输入 DT 以推断索引切片到核心的最优映射。
系统通过将索引切片迁移到相应的 NUMA 节点并将查询执行绑定到特定核心来强制执行这些决策。
后训练(微调):
随着系统在目标硬件上运行,它会收集针对该环境的“微调数据集”。
基础模型会被增量更新(离线进行),从而创建一个“助手”模型,使其能够适应特定服务器和负载的独特特征。
关键技术组件
硬件剖析(PMU): P-MOSS 完全依赖于通过 PMU 收集的低层级硬件统计数据(如 LLC 缺失、内存控制器流量)。这避免了软件层面簿记带来的开销和不准确性。
标记化策略:
状态标记(State Token): 通过视图(View)、位置(Position)和机器(Machine)标记表示当前硬件状态(已占用的核心、缓存/内存统计数据)。
动作标记(Action Token): 预测的 Core ID。
RTG 标记: 期望的未来回报(目标吞吐量)减去当前回报,引导模型走向高性能结果。
元标记(Meta Token): 系统级上下文(插槽数、NUMA 拓扑、CPU 厂商)。
离线强化学习(Offline RL): 通过将学习过程与查询执行的关键路径解耦,P-MOSS 确保数据库管理系统(DBMS)在学习阶段不会遭受性能下降。
核心贡献
P-MOSS 框架: 首个针对现代 NUMA 和 Chiplet 服务器上的主内存索引进行学习型空间查询调度的框架,优先考虑数据放置和核心调度。
PMU 驱动的优化: 一种新型的 DBMS 内核优化方法,仅依赖于低层级硬件统计数据(PMU),无需软件层面的簿记,确保了对不同硬件厂商的适应性。
NTP 公式化: 将查询调度公式化为下一标记预测任务,使得能够使用离线强化学习和决策 Transformer 来学习调度策略,而无需与 DBMS 进行在线交互。
实证验证: 在广泛的 CPU(Intel、AMD、ARM、IBM)、NUMA 架构(1-4 插槽、2-8 节点)和负载上进行了广泛评估。
实验结果
评估是在包含 30M 到 1B 条记录的主内存 B+ 树上进行的,涵盖五种不同的服务器配置(AMD Milan、Intel Skylake X、Intel Sandy Bridge、NVIDIA Grace Hopper、IBM Power)。
吞吐量提升: 与传统调度策略相比,P-MOSS 实现高达 6 倍 的查询吞吐量提升。
基准测试对比:
与 OS 默认策略(OS:D, OS:I)和 NUMA 感知策略(SE:N, SN:N)相比,P-MOSS 显示出平均 1.92× 至 3.66× 的加速。
与其他学习型或基于启发式的“无共享”(Shared Nothing)策略(Grouped, Mixed, Spread, Random)相比,P-MOSS 始终表现更优,根据特定硬件和负载的不同,其提升幅度在 1.27% 到 3.95% 之间。
泛化能力: P-MOSS 展示了强大的泛化能力,在未见过的硬件(IBM Power)和未见过的数据分布(OSM 数据集)上,无需从头开始重新训练即可表现良好,充分利用了其预训练的基础模型。
开销: 通过 PMU 收集硬件统计数据的开销极小(约 0.73% 的性能下降),且使用 SIMD 指令处理这些统计数据使剖析阶段的系统性能提升了 60.37% 。
意义与主张
论文声称 P-MOSS 证明了将基础 LLM 概念(特别是下一标记预测 )应用于数据库优化任务的可行性。通过将调度视为序列建模问题,该框架能够比静态启发式算法更有效地应对现代硬件设计空间中的组合复杂性。
作者强调:
空间调度对于最大限度提高现代异构硬件的性能至关重要。
硬件性能统计数据(PMU)为机器学习驱动的数据库优化提供了一种鲁棒、低开销的特征表示。
离线强化学习允许学习过程与执行过程解耦,从而实现对多样化环境的安全且可扩展的适应。
该方法不仅限于空间调度,还为将类 LLM 技术推广到更广泛的 DBMS 优化挑战提供了蓝图。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。