1.题目:PROJ292
题目:Linux内核实时性能瓶颈分析(在stress-ng压力测试条件下)
内容:在实时计算领域,Linux内核的性能表现尤为关键。尽管Linux提供了PREEMPT RT补丁等增强实时性的手段,但在极端负载条件下,如使用stress-ng工具进行压力测试时,内核的实时性能瓶颈仍然显现。本项目旨在深入分析Linux内核在应对stress-ng压力测试时的实时性能瓶颈,识别关键的延迟源,并提出有效的优化措施。
2.开发方案及思路
理论学习: RT-Patch理论学习记录:
2.1 技术路线
技术方案:eBPF Kprobe Hook进行数据获取 +xgBoost进行实时瓶颈根因判断。
机器环境:Linux Kernel 5.15.159 && RT-Patch Linux Kenel 5.15.158
开发框架:libbpf-bootstrap + xgBoost with C API.
环境依赖:CONFIG_DEBUG_BTF_INFO=y
,CONFIG_BPF=y...(BPF/eBPF相关config)
.
2.2 内核函数选点
- 数据获取: 阅读PREEMPT_RT补丁实现原理,并基于实现原理进行上下文的相关内核函数进行Hook,以达到数据获取。
- 数据分析处理:结合Hook到的关键点数据,进行数据清洗、数据整理、数据分析、数据标注,根据不同的表现和火焰时间长度来进行标注,投喂xgBoost进行小模型训练。
- 模型部署: 在运行本工具时,实时监控关键指标,并由xgboost进行实时关键瓶颈判断,以给出解决方案