随着移动业务快速蓬勃发展,当前运营商业务支撑系统在提供高性能服务时面临四大挑战:
1、新业务需求日益增多,业务逻辑越来越复杂,对业务支撑系统的处理延迟和资源利用效率提出了更高的要求;
2、业务支撑系统逐步云化、微服务化后,规模更加庞大,跨节点资源访问导致的性能下降和延迟抖动问题日益凸显;
3、传统资源分配模式下,CPU与内存访问存在非一致性,远程内存访问延迟显著增加,无法满足高并发低延迟的性能需求。
4、随着主机国产化进程推进,鲲鹏等ARM架构服务器广泛应用,其CPU物理核数显著多于同代Intel处理器(例如鲲鹏920支持64核),在多核资源调度和跨NUMA节点协同方面提出了更精细的优化需求。
为此,可通过NUMA(非统一内存访问)亲和性优化,将进程绑定到特定NUMA节点并强制分配本地内存,减少跨节点访问延迟。河北移动利用自研的独立插件包工具实现CPU和内存的协同绑定,保障关键业务进程优先访问本地内存,显著降低了响应时延、提升了事务处理效率。
该优化支持各类物理机操作系统和云环境,适用于数据库、虚拟化平台及高性能计算场景,实现在不增加硬件资源的情况下提升系统响应能力和资源利用效率,同时持续提升业务服务质量。
【NUMA亲和优化构建过程】NUMA亲和优化构建,贯穿于硬件环境、系统配置与应用部署的关键节点
NUMA亲和优化需从硬件识别、系统配置、应用调度到运维监控全链路落实,确保计算任务与内存访问尽可能位于同一NUMA节点,减少远程访问延迟的同时维持现有工作流程,并保障对整体业务系统无侵入:
1、环境评估阶段:检测系统NUMA节点分布、CPU核心与本地内存的版本信息与归属关系,确认是否支持多节点优化。
2、方案设计阶段:根据k8s版本、容器运行时、容器QOS类型选择NUMA亲和性策略。
3、自主研发阶段:根据所选择的亲和性策略进行自主研发。
4、验证测试阶段:通过功能性验证、高可用验证、压测验证,分别验证优化后k8s及容器功能、整体健壮性及性能提升效果。
5、运维监控阶段:完成上线后,通过监控手段监控性能变化以及跨节点访问频率,并设定阈值,触发阈值时自动告警。

【NUMA亲和优化部署方案】部署“透明胶”,实现NUMA亲和优化、提升业务接口响应时长
NUMA亲和优化实现过程中,为同时适配物理机硬件、k8s版本、容器运行时,通过开发出独立插件包(Kunpeng-TAP),部署在k8s与容器运行时交互层,透明插入NUMA感知调度逻辑,粘合CPU与本地内存。
部署独立插件:部署在k8s与容器运行时交互层,实现物理机硬件、k8s编排系统与容器运行时三方的协同交互,透明插入NUMA感知调度逻辑。
感知节点资源:独立插件自动探测并采集主机硬件资源信息,生成针对NUMA拓扑结构优化后的访问策略。
整合调度算法:通过候选集合生成、评分计算和QoS修正,匹配最优的NUMA节点,优化CPU与内存访问的NUMA亲和性。
非侵入式部署:以插件形式部署,对原有系统架构无侵入,兼容主流的k8s发行版、多种容器运行时以及不同底层操作系统。NUMA亲和优化实现前后对比如下:

【NUMA亲和优化使用体验】总结积累经验,持续推进NUMA亲和优化使用、构建国产化平台NUMA亲和优化能力
通过NUMA亲和优化实践,实现了系统性能显著提升,降本增效的同时,提升了用户使用体验;同时实现了无侵入式部署与多场景适配,并建立了标准化优化上线流程,为后续全国推广奠定了基础。
实现不增加硬件情况下的性能提升10%,节约硬件成本的同时显著提升了用户体验。
技术方案创新,现有技术方案不具备兼容性,通过自主研发与算法实现,兼容适配多种不同环境的NUMA亲和优化。
优化以独立插件形式体现,形成实验室验证→现场测试→试点上线→全面推广的标准化实施路径。
河北移动NUMA亲和优化将现有业务容器的CPU和内存协同绑定,持续构建端到端NUMA亲和优化能力。通过硬件资源感知与多层拓扑构建、精细化调度算法实现业务容器的NUMA亲和优化,提升接口效率,同时兼容当前主流的国产化平台以及多云环境,为基于国产化平台的云原生架构在多行业(如金融、电信、智能制造)的推广提供了技术支撑,实现了企业自主可控能力的新升级。