PostgreSQL 合并对 NUMA Awareness 的初步支持


PostgreSQL开源数据库服务器最近经历了一系列令人兴奋的变化,比如PostgreSQL 18合并IO_uring支持、AVX-512加速CRC32计算,可提升高达3倍的性能。

近日,PostgreSQL合并了针对非一致性内存访问感知能力(NUMA Awareness )的初步支持,用于提升多节点/套接字服务器的PostgreSQL性能。

commit 详情

在PostgreSQL 18.0发布(预计9月)之前,合并到PostgreSQL Git中的是基本的NUMA Awareness。如果使用"--with-libnuma"配置选项构建,目前只提供了Linux版本。其他操作系统的NUMA Awareness将在后续添加。

这项工作是基于去年由微软工程师Andres Freund在PGConf EU演讲中提出的。对于多插槽服务器尤其如此,这种NUMA感知能力能够帮助降低延迟,还可以帮助在更靠近PCIe连接的存储的NUMA节点上执行数据库I/O,或者更好地处理CXL内存周围的问题。

在为PostgreSQL添加基本的NUMA意识之后,针对pg_shmem_allocations_numa和pg_buffercache_numa的一些后续工作也已经落地,这些工作提供了关于共享内存如何在NUMA节点之间分配的信息,以及单个缓冲区信息在NUMA内存节点上的分布情况。


相關推薦

2022-02-23

量的代码提交。这些提交内容都将在 3 月下旬 Linux 5.18 的合并窗口启动时引入内核。 在邮件中特别强调到,通过使用正在开发的最新代码,用于获取随机字节的 getrandom() 调用能够获得更好的性能。在配备英特尔 Xeon E5-2697 v

2022-10-11

Andrew Morton 提交了大量针对 Linux 6.1合并窗口的内存管理(简称“MM”)代码。其中最值得注意的是多代 LRU “MGLRU” 页面回收策略和 Maple Tree 功能。 多代 LRU “MGLRU” 由 Google 开发,可用于改进 Linux 内核的页面回收策略。MGLRU

2022-05-24

Linux 5.18 新功能的报道: 英特尔 CPU 内购功能 (SDSI)将合并到 Linux 5.18 中 Linux 5.18 支持更灵活的 LLVM 配置方式 Linux 5.18 对 exFAT 文件系统支持进行了两项关键改进 Linux 5.18 内核 C 标准从 C89 升级到 C11/GNU11 Linux 5.18 带来许多

2022-06-28

注的变化是修复了性能回归问题。早在 3 月份的 Linux 5.19 合并窗口期间,Linux 5.18 Stress-NG 中出现了一个很大的 NUMA 回归问题。目前针对该问题的补丁被合并到了 Linux 5.19-rc4 中,估计也会被回传到 Linux 5.18。这个补丁是"mm: lru_cache_

2023-02-24

NET Runtime 的 GitHub 仓库近日合并了一个新 PR,该 PR 包含为 RISC-V 架构添加初步支持的代码。 从 PR 的描述来看,它主要是用于为 .NET Runtime 提供初步的 RISC-V 构建支持。该代码已经成功测试了 RISC-V 的交叉构建,甚至可以在 R

2022-10-15

虽然早在 Linux 5.19 就已合并龙芯 LoongArch CPU 架构,但初步支持阶段的功能非常有限,甚至缺少一些关键的设备驱动程序 —— 所以当时 Linux 5.19 暂未支持在搭载 LoongArch CPU 的设备上启动。正式从这时开始,龙芯团队也一直在

2022-06-15

交的一个补丁可以进一步调整 Linux 内核的调度程序围绕 NUMA 的不平衡状态,对于某些工作负载,该调度程序的调整补丁可显著改善基于 AMD Zen 的系统性能,甚至在 Intel Xeon 服务器上也可提供帮助。 补丁的内容主要为:当 find_idl

2023-03-13

OpenBSD 就是其中之一。 不过根据 OpenBSD 代码仓库近期的合并记录,他们即将在安装程序中添加引导式磁盘加密 (Guided Disk Encryption) 选项。 代码仓库显示,本周已合并对引导式磁盘加密的初步支持代码。与需要手动设置任何加

2022-10-12

Linux 6.1 内核日前合并了大量 EFI(可扩展固件接口,Extensible Firmware Interface)的新特性代码。 commit 信息显示,这些 EFI 新特性的代码包括 LoongArch EFI Boot,因此适用于 LoongArch 架构的 Linux 6.1 已准备好支持 LoongArch EFI Boot。这是继8

2023-01-24

t语言通用代码生成器:莲花,发布冒烟测试版3,开始支持PostgreSQL数据库,更多功能,更多示例 Rust语言通用代码生成器:莲花,已发布冒烟测试版3,此版本初步支持PostgreSQL数据库。支持更多示例和功能,对MariaDB支持比较完善。

2023-02-09

Steam Deck 控制器的初始支持,一旦该补丁集在 Linux 6.3 中合并, 即意味着 SteamDeck 的手柄可以在 Linux 系统的任意应用中使用,而不仅限 Steam 客户端。 内核中的 Hid-Steam 板块最初是为支持 Steam 控制器手柄而创建的 HID 内核驱动程

2023-03-07

缩放比率的提示,以与wp_viewport协议一起使用。” 该合并请求自开放起至最终被合并共历时了 10 个月。 根据介绍,fractional_scale_v1 协议用于向 surfaces 传达首选的分数缩放,并与 wp_viewport 协议一起用于渲染分数缩放平面

2023-07-02

个开源数据库,旨在使 SQL 可扩展到时间序列数据,基于 PostgreSQL 构建的,并打包为 PostgreSQL 扩展程序,提供跨时间和空间的自动分区,以及完整的 SQL 支持。 这个版本包含自 2.11.0 版本以来的错误修复,值得注意的更新内容包

2023-07-13

易委员会的行政诉讼得到解决之前,是否应停止甚至终止合并。基于所解释的原因,法院认为 FTC 并未证明其所主张的,关于这一特定行业的纵向兼并可能会大大减少竞争的可能性。相反,记录证据表明消费者有更多机会获得《