暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

鲲鹏NUMA 与openGauss

MTL-9527 2022-09-21
1385

鲲鹏NUMA 架构优化 

⚫ openGauss根据鲲鹏处理机的多核NUMA架构特点,进行针对性一系列NUMA架构相关 优化,一方面尽量减少跨核内存访问的时延问题,另一方面充分发挥鲲鹏多核算力优势, 所提供的关键技术包括重做日志批插、热点数据NUMA分布、CLog分区等,大幅提升TP 系统的处理性能。 

⚫ openGauss基于鲲鹏芯片所使用的ARMv8.1架构,利用LSE扩展指令集实现高效的原子操 作,有效提升CPU利用率,从而提升多线程间同步性能,XLog写入性能等。 

⚫ openGauss基于鲲鹏芯片提供的更宽的L3缓存cacheline,针对热点数据访问进行优化, 有效提高缓存访问命中率,降低Cache缓存一致性维护开销,大幅提升系统整体的数据访 问性能。

鲲鹏NUMA CPU 结构

⚫ NUMA:Non Uniform Memory Access。 

⚫ NUMA距离:NUMA node的处理器和内存块 的物理距离。通过numactl工具可以查询到 CPU访问的距离信息。


NUMA ARM 原子指令

⚫ CAS(Compare and Swap),原子操作,用于多线程操作下,确保数据写入的一致性。 

⚫ 在多线程编程中实现不被打断的数据交换操作,避免同时改写某一数据时由于执行顺序不确定性及中断的不可预知性导致 数据不一致问题。


NUMA 内核数据结构

⚫ 线程绑核,避免线程在核间偏移。 

⚫ NUMA化数据结构改造,减少跨核访 问。 

⚫ 数据分区,减少线程访问冲突。 

⚫ 算法调整,减少单点瓶颈。 

⚫ 借助ARM原子指令,减少计算开销。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论