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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 本文主要内容是业务在倚天平台上的性能调优实践,重点基于芯片的 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
AI 代码解读

通过内核上述可以看到进程使用的内存相关信息,其中 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 的性能,使得业务性能得到大幅的提升。

目录
打赏
0
1
0
0
0
分享
相关文章
中国联通网络资源湖仓一体应用实践
本文分享了中国联通技术专家李晓昱在Flink Forward Asia 2024上的演讲,介绍如何借助Flink+Paimon湖仓一体架构解决传统数仓处理百亿级数据的瓶颈。内容涵盖网络资源中心概况、现有挑战、新架构设计及实施效果。新方案实现了数据一致性100%,同步延迟从3小时降至3分钟,存储成本降低50%,为通信行业提供了高效的数据管理范例。未来将深化流式数仓与智能运维融合,推动数字化升级。
中国联通网络资源湖仓一体应用实践
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
259 31
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
58 23
算力流动的基石:边缘网络产品技术升级与实践探索
本文介绍了边缘网络产品技术的升级与实践探索,由阿里云专家分享。内容涵盖三大方面:1) 云编一体的混合组网方案,通过边缘节点实现广泛覆盖和高效连接;2) 基于边缘基础设施特点构建一网多态的边缘网络平台,提供多种业务形态的统一技术支持;3) 以软硬一体的边缘网关技术实现多类型业务网络平面统一,确保不同网络间的互联互通。边缘网络已实现全球覆盖、差异化连接及云边互联,支持即开即用和云网一体,满足各行业需求。
124 4
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
本程序基于ECC(椭圆曲线密码学)簇内分组密钥管理算法,对无线传感器网络(WSN)进行MATLAB性能仿真。通过对比网络通信开销、存活节点数量、网络能耗及数据通信量四个关键指标,验证算法的高效性和安全性。程序在MATLAB 2022A版本下运行,结果无水印展示。算法通过将WSN划分为多个簇,利用ECC生成和分发密钥,降低计算与通信成本,适用于资源受限的传感器网络场景,确保数据保密性和完整性。
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
174 7
【算法合规新时代】企业如何把握“清朗·网络平台算法典型问题治理”专项行动?
在数字化时代,算法推动社会发展,但也带来了信息茧房、大数据杀熟等问题。中央网信办发布《关于开展“清朗·网络平台算法典型问题治理”专项行动的通知》,针对六大算法问题进行整治,明确企业需落实算法安全主体责任,建立健全审核与管理制度,并对算法进行全面审查和备案。企业应积极自查自纠,确保算法合规透明,防范风险,迎接新机遇。
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
114 0
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台

倚天

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等