[论文解读] Collie: Finding Performance Anomalies in RDMA Subsystems
Collie 是一种系统化工具,通过使用模拟退火算法探索应用工作负载空间并驱动硬件计数器达到极端值,从而发现 RDMA 子系统中的性能异常,共识别出 15 个此前未知的异常——其中 7 个在报告后已由厂商修复。
High-speed RDMA networks are getting rapidly adopted in the industry for their low latency and reduced CPU overheads. To verify that RDMA can be used in production, system administrators need to understand the set of application workloads that can potentially trigger abnormal performance behaviors (e.g., unexpected low throughput, PFC pause frame storm). We design and implement Collie, a tool for users to systematically uncover performance anomalies in RDMA subsystems without the need to access hardware internal designs. Instead of individually testing each hardware device (e.g., NIC, memory, PCIe), Collie is holistic, constructing a comprehensive search space for application workloads. Collie then uses simulated annealing to drive RDMA-related performance and diagnostic counters to extreme value regions to find workloads that can trigger performance anomalies. We evaluate Collie on combinations of various RDMA NIC, CPU, and other hardware components. Collie found 15 new performance anomalies. All of them are acknowledged by the hardware vendors. 7 of them are already fixed after we reported them. We also present our experience in using Collie to avoid performance anomalies for an RDMA RPC library and an RDMA distributed machine learning framework.
研究动机与目标
- 解决因 RNIC 与服务器硬件之间复杂交互而引发的 RDMA 子系统性能异常检测的迫切需求。
- 克服传统测试方法(如基础基准测试或真实应用工作负载)在发现细微、工作负载依赖型异常方面的局限性。
- 使系统管理员和应用开发人员能够在生产环境中部署前主动识别并规避性能异常。
- 提供关于异常触发条件的可操作洞察,以指导基于 RDMA 的系统中的应用级设计决策。
提出的方法
- 从开发人员的视角构建一个全面的工作负载搜索空间,重点关注内存类型、连接数和传输类型等可控参数。
- 利用厂商提供的性能和诊断计数器(如 PFC 暂停帧、吞吐量)作为优化的反馈信号。
- 应用模拟退火算法引导搜索过程,通过迭代变异工作负载,使计数器向指示异常的极端值逼近。
- 利用检测到的异常触发条件,避免冗余测试,并向应用开发人员提供避免问题配置的指导。
- 将硬件计数器监控集成到搜索循环中,实现在高维工作负载空间中的数据驱动探索。
- 通过在 8 种通用 RDMA 子系统(包括多种 RNIC、CPU 和服务器配置)上的实际评估验证发现结果。
实验结果
研究问题
- RQ1是否能够通过系统化、自动化的手段有效发现标准基准测试或真实工作负载无法触发的 RDMA 子系统性能异常?
- RQ2在无法访问内部硬件设计或源代码的情况下,如何检测性能异常?
- RQ3基于硬件计数器反馈的模拟退火算法,在探索复杂、高维的 RDMA 应用工作负载空间方面,其效率如何?
- RQ4RDMA 子系统异常最常见的触发条件是什么?这些条件是否可在不同硬件配置间通用?
- RQ5所识别出的异常是否可用于指导应用开发,在硬件补丁发布前避免性能问题?
主要发现
- Collie 在 8 种通用硬件配置的 RDMA 子系统中成功识别出 15 个新的性能异常,所有异常均获得硬件厂商确认。
- 在 15 个异常中,有 7 个被确认为缺陷,并在研究人员报告后已由厂商修复。
- 该工具发现了标准基准测试(如 Perftest)无法触发的异常,证明其能够发现传统测试方法遗漏的边缘情况。
- 这些异常包括在特定应用工作负载、NUMA 设置和硬件组件组合下出现的意外低吞吐量和 PFC 暂停帧风暴。
- Collie 的方法使开发团队能够在厂商补丁发布前,修改其 RDMA RPC 库和分布式机器学习框架,以规避已知异常。
- 结合硬件计数器反馈的模拟退火算法显著提升了搜索效率,相比随机或盲目探索工作负载空间具有明显优势。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。