"); //-->
https://www.ctyun.cn/developer/article/475762070474821
一、技术背景
相关概念:核隔离:指定的cpu核心只参与最低限度的OS内核计算;
DPDK(Date planedevelopment kit):是一个用来进行包数据处理加速的软件库。
Cpu亲和性:进程要在某个给定的CPU上尽量长时间地运行而不被迁移到其他处理器的倾向性。
背景:网元节点上,对cpu消耗比较多的进程可以分为几个类别:
1、系统运行相关进程(通过systemd启动和管理的进程以及内核线程)
2、网元相关进程(比如dpos、gobgpd进程)。
然而在现网中发现,由于系统运行相关进程与网元相关进程在同内核下运行时,会概率性的抢占pmd线程的cpu,从而导致dpdk丢包,影响网元性能。一般使用的隔离系统进程方法如修改grub文件、tuned调优方式都需要重启才能生效,对于已经部署到现网的网元而言,这些方式会对用户业务造成极大的影响。
因此,需要寻求一种核隔离方法,使得系统进程和网元进程互相隔离,互不影响,以解决网元设备在系统进程抢占业务进程cpu内核时可能出现的网络延时变高,丢包等问题,提高网络通信的性能和可靠性。并且对于现网上运行的网元节点能够做到无感知。
二、方案设计及实现
本方案主要是隔离systemd启动和管理的进程的cpu核,限制其运行在网元进程的预留核上。
1、确定cpu预留核分配策略根据系统规格的不同,确定不同的cpu内核分配策略。如1Numa8Cores的系统,可将系统进程分配到0-2核上;或者2Numa96Cores的系统。可将系统进程分配到numa0的前3个cpu核以及numa1的后3个cpu核上,其余的内核为网元进程所占用。分配策略需按照服务器规格以及实际需求进行设计。
2、设置systemd进程亲和性通过修改/etc/systemd/system.conf文件中的CPUAffinity中的值,将其改为第一步中的预留核数,如0-2。
通过systemd
3、设置systemd子进程亲和性对于systemd启动和创建的进程主要分为几类:
1、正在运行的systemd子进程
2、后续由systemd创建或者重启的子进程
对于后续需要由systemd创建的进程或者重启的进程,其cpu亲和性会自动与systemd保持一致,因此只需要考虑正在运行的systemd子进程的核隔离。对此,采用taskset -cp cpus pid的方式进行设置。taskset是linux操作系统中的一个命令,它可以对进程进行CPU亲和性设置,即让进程在指定的CPU核心或者CPU核心集合上运行。
通过cgroup和taskset两种方式的结合,可以实现在现网运行过程中,动态的对系统相关的进程(尤其是systemd启动和管理的进程)进行核隔离的目的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
校园智慧管理与服务系统
公司在测试视频服务器,现在要一边工作,一边看电影
ZOPC_Server(基于CAN-bus通用OPC服务器)简介
多串口设备联网服务器新产品介绍
基于恩智浦LPC2927和WEB服务器的智能环境监控系统电路图
Arm重磅推出AGI CPU 1OU 双节点参考服务器
苏姿丰:从濒临绝境到逆袭英特尔,AMD服务器CPU市占率飙升至40%
冷板SSD针对液冷服务器
2026年文晔营运动能看好,数据中心与服务器成增长主力
基于多线程扫描的网络拓扑边界监测系统设计
联想推出全新 ThinkSystem 服务器,专攻人工智能推理负载
国嵌应用班-7-5(并发服务器)
Google发布第8代TPU,台厂ASIC服务器出货迎新机遇
基于CAN-bus总线的模拟空调温湿控制系统
基于STM32智能家居系统的设计与实现
意法半导体为数据中心电源组合增加了选项
[来自SOHU]“龙芯”CPU问世
Q1服务器CPU均价大涨27% 英特尔被曝出售原本将报废的芯片
拆解:Supermicro 服务器 SYS-112C-TN
ZOPC_Server(基于CAN-bus通用OPC服务器)软件
论坛将换服务器!
测试一下我的 ftp 服务器
英特尔产能先供服务器Xeon处理器 联发科、AMD掘金CPU缺货商机
浅析数据中心UPS供电系统演进方向
服务器
AbsoluteFTP
联想亿万次服务器惊曝内幕 曙光请律师欲讨说法