首页 > 其他分享 >openGauss NUMA-aware分配和亲和性

openGauss NUMA-aware分配和亲和性

时间:2024-04-29 15:55:55浏览次数:23  
标签:分配 aware 访问 内存 openGauss MOT 节点 NUMA

NUMA-aware分配和亲和性

非统一内存访问(NUMA)是一种计算机内存设计,用于多重处理,其中内存访问时间取决于内存相对于处理器的位置。处理器可以利用NUMA的优势,优先访问本地内存(速度更快),而不是访问非本地内存(这意味着它不会访问另一个处理器的本地内存或处理器之间共享的内存)。

MOT内存访问设计时采用了NUMA感知。即MOT意识到内存不是统一的,而是通过访问最快和最本地的内存来获得最佳性能。

NUMA的优点仅限于某些类型的工作负载,特别是数据通常与某些任务或用户强相关的服务器上的工作负载。

在NUMA平台上运行的内储存数据库系统面临一些问题,例如访问远程主内存时,时延增加和带宽降低。为了应对这些NUMA相关问题,NUMA感知必须被看作是数据库系统基本架构的主要设计原则。

为了便于快速操作和高效利用NUMA节点,MOT为每个表的行分配一个指定的内存池,同时为索引的节点分配一个指定的内存池。每个内存池由多个2MB的块组成。指定API从本地NUMA节点、来自所有节点的页面或通过轮询分配这些块,每个块在下一个节点上分配。默认情况下,共享数据池以轮询方式分配,以保持访问均衡,同时避免在不同NUMA节点之间拆分行。但是,线程专用内存是从一个本地节点分配的,必须验证线程始终运行在同一个NUMA节点中。

总结

MOT有一个智能内存控制模块,它预先为各种类型的内存对象分配了内存池。这种智能内存控制可以提高性能,减少锁并保证稳定性。事务的内存对象分配始终是NUMA-local,从而保证了CPU内存访问的最佳性能,降低时延和争用。被释放的对象返回到内存池中。在事务期间最小化使用操作系统的malloc函数可以避免不必要的锁。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:分配,aware,访问,内存,openGauss,MOT,节点,NUMA
From: https://www.cnblogs.com/techbing/p/18165894

相关文章

  • openGauss Schema
    SchemaSchema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。每个数据库包含一个或多个Schema。数据库中的每个Schema包含表和其他类型的对象。数据库创建初......
  • openGauss MOT资源利用率
    MOT资源利用率在4路96核512GBRAM的x86服务器上测试的资源利用率如下所示。MOT能够高效持续消耗几乎所有可用的CPU资源。例如,192核390万tpmC的CPU利用率几乎达到100%。tmpC:每分钟完成的TPC-C事务数以橙色条柱和左侧的Y轴tpmC表示。CPU利用率(%):CPU利用率由蓝色线条和右侧的Y轴......
  • openGauss MOT纵向扩容架构
    MOT纵向扩容架构纵向扩容即为同一台机器添加额外的核以增加算力。纵向扩容是传统上为单对控制器和多核的机器增加算力的常见形式。纵向扩容架构受限于控制器的可扩展性。技术要求MOT旨在实现以下目标:线性扩容:MOT提供事务性存储引擎,利用单个NUMA架构服务器的所有核,以提供近线......
  • openGauss MOT部署
    MOT部署以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。MOT服务器优化:x86MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器MOT配置......
  • openGauss MOT测试总结
    MOT测试总结MOT比磁盘表性能提升2.5至4.1倍,在Arm/鲲鹏256核服务器上达到480万tpmC。测试结果清楚表明MOT在扩展和利用所有硬件资源方面的卓越能力。随着CPU槽位和服务器核数增加,性能会随之跃升。MOT在Arm/鲲鹏架构下最高可达3万tpmC/核,在x86架构下最高可达4万tpmC/核。由于持久......
  • openGauss MOT本地内存和全局内存
    MOT本地内存和全局内存SILO管理本地内存和全局内存,如所示。全局内存是所有核共享的长期内存,主要用于存储所有的表数据和索引。本地内存是短期内存,主要由会话使用,用于处理事务及将数据更改存储到事务内存中,直到提交阶段。当事务需要更改时,SILO将该事务的所有数据从全局内存复......
  • openGauss MOT并发控制机制
    MOT并发控制机制通过大量研究,我们找到了最佳的并发控制机制,结论为:基于SILO[的OCC算法是MOT中最符合ACID特性的OCC算法。SILO为满足MOT的挑战性需求提供了最好的基础。说明:MOT完全符合原子性、一致性、隔离性、持久性(ACID)特性,如MOT简介所述。下面介绍MOT的并发控制机制。......
  • openGauss MOT持久性
    MOT持久性持久性是指长期的数据保护(也称为磁盘持久化)。持久性意味着存储的数据不会遭受任何形式的退化或损坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。内存存储是易失的,需要电力来维护所存储的信息。......
  • openGauss MOT持久性概念
    MOT持久性概念持久性是指长期的数据保护(也称为磁盘持久性)。持久性意味着存储的数据不会遭受任何形式的退化或破坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。内存存储是易失的,需要电源来维护所存储的信......
  • openGauss MOT错误消息
    MOT错误消息错误可能由多种场景引起。所有错误都记录在数据库服务器日志文件中。此外,与用户相关的错误作为对查询、事务或存储过程执行或数据库管理操作的响应的一部分返回给用户。服务器日志中报告的错误包括函数、实体、上下文、错误消息、错误描述和严重性。向用户报告的错......