毛文安,阿里云高级技术专家,龙蜥社区系统运维SIG负责人。多年Linux操作系统内核开发、性能调优经验,曾向Linux内核社区贡献补丁若干。目前主要从事网络新特性的应用和eBPF tracing技术的探索,挖掘从应用到内核及驱动的全链路报文时延信息,为解决疑难的网络抖动问题打开一片天地。主导开发了延迟探测工具Pingtrace,业务抖动监控系统Netinfo,以及BPF开发编译平台LCC(pyLCC和gLCC)等。以上项目包含在龙蜥社区系统运维SIG推出的sysAK工具集和sysOM及Surftrace平台中。
Linux内核版本经历了3.x向4.x到5.x演进,eBPF技术的支持也是从4.x开始更加完善起来,但是云上服务器有大量的3.10内核版本是不支持eBPF的,为了让我们现有的eBPF工具在这些存量机器得以支持,我们移植了eBPF到低版本内核,同时基于libbpf的CO-RE能力,保证一个工具可运行于低、中、高的内核版本。
另外,当前的BPF开发方式主要有:
1、纯libbpf应用开发:这种开发方式不仅效率低,跨内核可移植难;
2、借助BCC:开发效率高、可移植性好,并且支持动态修改内核部分代码,非常灵活。但存在部署依赖Clang/LLVM等库;每次运行都要执行Clang/LLVM编译,严重消耗CPU、内存等资源,容易与其它服务争抢。
LCC(Libbpf Compilation Collection)以CORE为基础实现,保留了资源占用低、可移植性强等优点,还融合了BCC动态编译的特性,适合在生产环境批量部署应用。
我们通过优化eBPF工具的开发方法,节省了资源消耗,同时原来基于BCC的python工具,只需要在LCC的帮助下,就能在全量内核版本安全运行,给广大eBPF的爱好者提供一种新的探索和实践。本次讲座以pyLCC应用为例,介绍一种主动探测延时的方法,在这个神奇的ping帮助下,一起揭开业务抖动不为人知的奥秘!
本次直播我们将在腾讯会议、B站、CSDN、微信视频号等多个平台同步进行直播,大家可以选择自己合适的平台来观看。
2022年5月7日(星期六)晚上20:00。
http://live.bilibili.com/22809483
https://live.csdn.net/room/homeofkernel/5lz6ji3f
本次直播是首届中国eBPF大会主讲嘉宾之一,敬请期待。