← 返回信息流
AI 资讯Hacker News·6 天前

缓存感知调度在 PostgreSQL 和 Valkey 上为 AMD Zen 5 带来显著优势

原标题:Cache Aware Scheduling Shows Nice Wins for AMD Zen 5 on PostgreSQL, Valkey

速览

最新测试表明,采用缓存感知调度策略的 AMD Zen 5 架构在数据库和内存数据引擎中展现出优异性能。该技术在 PostgreSQL 和 Valkey 基准测试中取得了显著的性能提升。这一成果突显了底层硬件调度优化对关键数据工作负载的重要性。

AI 深度解读

背景

在数据库和缓存系统(如 PostgreSQL 和 Valkey)的性能优化中,CPU 调度策略对延迟和吞吐量有着至关重要的影响。AMD 最新的 Zen 5 架构以其高核心密度和先进的缓存层级设计著称,但在多租户或混合工作负载环境下,如何高效利用这些资源一直是一个挑战。

近期的一项测试表明,采用“感知缓存(Cache-Aware)”的调度策略,能够显著释放 AMD Zen 5 在处理此类工作负载时的潜力。这一发现通过 Hacker News 社区传播,引发了关于 Linux 内核调度器优化与特定硬件架构协同作用的广泛讨论。

核心内容

这项研究的核心在于对比传统调度策略与“感知缓存”调度策略在 AMD Zen 5 平台上运行 PostgreSQL(关系型数据库)和 Valkey(高性能内存数据结构存储,即 Redis 的开源替代品)时的表现。

1. 什么是 Cache-Aware Scheduling(感知缓存调度)?

传统的 CPU 调度器主要关注负载均衡和 CPU 利用率,往往忽略数据在 CPU 缓存(L1/L2/L3)中的局部性。而“感知缓存”调度器会尝试将相关的线程或进程调度到共享同一 L3 缓存或处于同一 CCX(Core Complex)内的核心上。这样可以最大限度地利用缓存热点,减少跨核心或跨 CCD(Chiplet)的数据传输延迟,从而提升性能。

2. 测试环境与对象

  • 硬件平台:基于 AMD Zen 5 架构的处理器。Zen 5 引入了更大的 L1 数据缓存和更高效的分支预测,但其复杂的 Chiplet 设计使得缓存亲和性(Cache Affinity)变得更加重要。
  • 软件负载
    • PostgreSQL:作为广泛使用的开源关系型数据库,其对 I/O 和内存访问模式非常敏感。
    • Valkey:作为 Redis 的社区分支,Valkey 是一个内存键值存储,对低延迟和高速缓存命中有着极高的要求。

3. 主要发现

测试结果显示,启用 Cache-Aware 调度后,AMD Zen 5 在这两项基准测试中均取得了显著的性能提升(Nice Wins)。

  • 对于 PostgreSQL:感知缓存调度减少了上下文切换带来的缓存失效,使得数据库查询处理更加连贯。特别是在高并发连接场景下,这种优化有效降低了尾部延迟(Tail Latency)。
  • 对于 Valkey:由于 Valkey 的工作负载高度依赖内存带宽和缓存命中率,调度器将相关线程紧密绑定在共享缓存的核心组内,显著提升了数据访问速度。

这一结果表明,在 Zen 5 这种具有复杂缓存层级和多 Chiplet 设计的架构上,软件层面的调度优化能够直接转化为硬件性能的释放。

关键要点

  • 调度策略至关重要:在高性能计算和数据库场景中,默认的 Linux 调度器可能并非最优解。针对特定硬件架构调整调度策略(如启用 Cache-Aware 调度)能带来可量化的性能增益。
  • Zen 5 的架构特性:AMD Zen 5 的高性能部分依赖于其缓存效率。由于其核心分组(CCX/CCD)设计,跨组的通信开销较大,因此保持工作负载在局部缓存内运行尤为关键。
  • 适用场景广泛:不仅限于特定的数据库引擎,任何对延迟敏感、数据局部性强的工作负载(如高频交易、实时分析、内存数据库)都能从这种调度优化中受益。
  • “Nice Wins”并非巨大飞跃,但具累积效应:虽然单次测试的提升幅度可能不是数量级的,但在生产环境中,稳定的低延迟和高吞吐量对于用户体验和系统稳定性具有决定性意义。

意义与影响

这一发现对系统管理员、数据库工程师以及硬件厂商具有深远的影响:

  1. 软件定义硬件性能:它强调了操作系统内核(如 Linux Kernel)与硬件架构之间的紧密耦合。硬件厂商(如 AMD、Intel)在发布新架构时,需要与软件社区(如 Linux 内核维护者)更紧密地合作,以提供针对新架构优化的默认调度策略。
  2. 优化成本效益:对于企业而言,在不升级硬件的情况下,通过调整系统配置和调度策略,可能以极低的成本获得显著的性能提升。这对于运行大规模 PostgreSQL 或 Valkey 集群的公司来说,意味着更高的资源利用率和更低的运营成本。
  3. 推动开源生态发展:此类测试和讨论推动了开源社区对性能调优的关注。Valkey 作为 Redis 的分支,其性能表现的提升也间接证明了开源替代方案在高性能场景下的竞争力。
  4. 未来架构设计的启示:随着 CPU 核心数量的不断增加和缓存层级的复杂化,传统的“尽力而为”调度模式将越来越难以满足需求。未来的操作系统调度器将更多地引入机器学习或启发式算法,以动态感知缓存状态并优化任务分配。

总之,Cache-Aware Scheduling 在 AMD Zen 5 上的成功应用,是软硬件协同优化的一个典型案例,提醒我们在追求极致性能时,不能忽视操作系统层面的细微调整。

查看原文 →phoronix.com