Name Last commit Last update
bin
doc
framework
script
src
test
.gitignore
LICENSE
README.md

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 内核函数选点

  1. 数据获取: 阅读PREEMPT_RT补丁实现原理,并基于实现原理进行上下文的相关内核函数进行Hook,以达到数据获取。
  2. 数据分析处理:结合Hook到的关键点数据,进行数据清洗、数据整理、数据分析、数据标注,根据不同的表现和火焰时间长度来进行标注,投喂xgBoost进行小模型训练。
  3. 模型部署: 在运行本工具时,实时监控关键指标,并由xgboost进行实时关键瓶颈判断,以给出解决方案

2.3该方案优势

2.4该方案劣势

2.5该方案可能遇到的困难

3.开发报告

4.部署测试