倚天平台业务访存及网络延时性能调优实践

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 本文主要内容是业务在倚天平台上的性能调优实践,重点基于芯片的 NUMA 特性和一些其他硬件特性,进行访存和网络延时方面的性能调优方法介绍。

1、背景

业务在倚天新平台适配后,性能表现不如预期。本文介绍从芯片、OS 内核、网络 IO及软件各层的瓶颈分析和性能调优方法。

2、NUMA 及访存性能优化

优化措施 1:调整关键进程布局,减少跨 Node 访问内存。
倚天 710 芯片内核由两个 DIE 组成,对应两个 NUMA node。为了避免跨 Node 访问内存导致的性能下降,开启了 NUMA(感知到两个 Node),并通过 cgroup 的方式限制进程使用的 CPU 和内存在同一个 Node, 以避免跨 Node 访问内存,如下图:
image.png

优化措施 2:开启内核 Duptext 特性,防止代码段(.text)跨 Node 访问。
在进行访存性能分析中我们发现关键进程代码段与进程使用的 CPU 和内存是处于两个不同的 Node,存在代码段跨 Node 访问的问题,导致端到端性能下降。
image.png

上图中,运行在 Node1 的进程 process,其代码段在安装部署的流程中已经缓存在 Node0 的 Page Cache 中,而进程实际上绑定在 Node1,因此进程在运行过程中 icache miss 后会到 Node1 的内存中加载代码段数据,极大的降低了运行的效率。

sudo cat /proc/${pid}/numa_maps

通过内核上述可以看到进程使用的内存相关信息,其中 0040000 地址的内存为代码段,N0=xxxxx 表示有 xxxxx 个 Pages 的内存页在 Node0 中(业务进程绑定在 Node1),影响性能。此外,由于内存页在两个 Node 的分配比例不稳定,会导致性能抖动。

有多种方式可以解决此问题,例如在拉起进程之前可以先 drop caches,将进程代码段从 Page cache 中清理出去,然后进程拉起的时候会根据我们的 cgroup 设置将代码段分配在本地内存中。但根据以往的经历,这种方式存在稳定性风险,可能导致系统 hang 住,因此无法落地。 Duptext 特性可以很好的避免出现上述代码段跨 Node 的情况。其原理是根据进程的 CPU/内存亲和设置,将其代码段拷贝到进程的 Local 内存节点,使得进程可以直接访问 Local 内存中的代码段副本。此外,此特性还可以避免进程访问共享库的代码段跨 die 问题。

优化措施 3:开启内核透明大页(包括代码大页)
倚天710 访问远端内存会导致性能下降,需要采取措施进行避免。开启内核透明大页可以有效地降低 TLB miss ,从而提高访存的性能。

3、使能硬件相关特性

使能芯片 SLC stash 特性(类似 Intel DDIO),降低网卡 PCIe 延时,提升网络性能。
业务端到端性能对网络性能非常敏感,网络的耗时在延时中占比较高,因此网络的性能对性能影响很大。通过验证发现使能芯片 SLC cache 有效降低 PCIe 延时,从而降低网络延时。其原理是使能 PCIe 直接写入 L3 cache,使得 CPU 可以在 L3 cache 中命中网卡写入的数据,从而节约 CPU 读写内存的延时。
image.png

4、 其他优化措施

优化措施 1:调整 CPU 频率和内存频率
倚天 710 在 128C 配置下 CPU 频率默认为 2.75GHz,内存频率默认为 4400MHz,这主要是为了功耗和稳定性考虑。但经过初步测试和评估,提高 CPU 频率到 3.0GHz 和内存频率 4800MHz 后,极限压力场景下 CPU 和整机功耗均远小于额定功率。

优化措施 2:使用 Bolt 进行编译优化
BOLT 是一个编译器动态反馈优化工具,主要依据生产环境的实际运行数据,反哺指导编译器对程序代码进一步调整编译优化策略,提高分支预测准确率和指令 Cache 命中率,达到深度调优、提升产品应用核心竞争力目的。
image.png

5、总结与展望

通过上述的优化措施可以看到,业务性能对计算、访存、网络/IO 等都有很高的要求。倚天作为云原生处理器芯片,具有强悍的计算性能,在通过深入移植适配调优后能够更好的发挥 CPU 的性能,使得业务性能得到大幅的提升。

相关文章
|
8月前
|
运维 监控 安全
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
396 3
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践
本文探讨了在企业数字化转型中,大型概念模型(LCMs)与图神经网络结合处理非结构化文本数据的技术方案。LCMs突破传统词汇级处理局限,以概念级语义理解为核心,增强情感分析、实体识别和主题建模能力。通过构建基于LangGraph的混合符号-语义处理管道,整合符号方法的结构化优势与语义方法的理解深度,实现精准的文本分析。具体应用中,该架构通过预处理、图构建、嵌入生成及GNN推理等模块,完成客户反馈的情感分类与主题聚类。最终,LangGraph工作流编排确保各模块高效协作,为企业提供可解释性强、业务价值高的分析结果。此技术融合为挖掘非结构化数据价值、支持数据驱动决策提供了创新路径。
572 6
基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践
|
4月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
4月前
|
网络协议 API 网络安全
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
791 3
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
|
5月前
|
人工智能 运维 安全
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
迈格网络推出“天机”新版本,以AI自学习、全端防护、主动安全三大核心能力,重构网络安全防线。融合AI引擎与DeepSeek-R1模型,实现威胁预测、零日防御、自动化响应,覆盖Web、APP、小程序全场景,助力企业从被动防御迈向主动免疫,护航数字化转型。
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
|
4月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
276 4
|
10月前
|
存储 SQL 运维
中国联通网络资源湖仓一体应用实践
本文分享了中国联通技术专家李晓昱在Flink Forward Asia 2024上的演讲,介绍如何借助Flink+Paimon湖仓一体架构解决传统数仓处理百亿级数据的瓶颈。内容涵盖网络资源中心概况、现有挑战、新架构设计及实施效果。新方案实现了数据一致性100%,同步延迟从3小时降至3分钟,存储成本降低50%,为通信行业提供了高效的数据管理范例。未来将深化流式数仓与智能运维融合,推动数字化升级。
515 0
中国联通网络资源湖仓一体应用实践
|
6月前
|
运维 安全 网络安全
VMware NSX 4.2.3 - 网络安全虚拟化平台
VMware NSX 4.2.3 - 网络安全虚拟化平台
279 0
|
9月前
|
存储 消息中间件 弹性计算
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
447 23
|
8月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。