Prhub

#21896 fix(ci): update est_time for 57 tests based on runtime analysis

原始 PR 作者 hnyls2002 合并时间 2026-04-02 11:16 文件变更 57 提交数 2 评论 2 代码增减 +61 / -59

执行摘要

基于实际 CI 运行时数据更新 57 个测试的预估时间,优化测试分区平衡。

PR body中明确指出:'The LPT (Longest Processing Time) partition algorithm relies on accurate est_time to balance test distribution across CI jobs. Current estimates are significantly off for many tests, causing:

  • Partition imbalance: some jobs finish in 11min while others take 25min - Wasted CI time: over-estimated tests waste partition budget'。这直接驱动了此次数据驱动的更新。

对于负责CI维护和测试分布的工程师,此PR值得快速浏览以了解时间估计更新。关注test_disaggregation_decode_offload.pydisabled参数的更改,这反映了CI配置的最佳实践。

讨论亮点

由于PR未收到review评论,没有进行技术讨论。所有变更由作者直接提交和合并。

实现拆解

实现方案基于对6次计划PR测试运行的分析(约1487个数据点,256个测试文件),排除了超时案例。关键改动包括:

1) 更新57个测试文件中的register_cuda_ciregister_cpu_ci调用的est_time参数,以匹配平均实际耗时;
2) 在test_disaggregation_decode_offload.py中,将@unittest.skipIf(is_in_ci(), ...)改为使用register_cuda_cidisabled参数,以避免占用分区时间预算。

文件 模块 状态 重要度
test/registered/disaggregation/test_disaggregation_decode_offload.py disaggregation modified 7.0
test/registered/attention/test_hybrid_attn_backend.py attention modified 5.0
test/registered/quant/test_fp8kv_triton.py quant modified 5.0

关键符号

register_cuda_ci register_cpu_ci

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

无 review 讨论 other

PR 未收到任何 review 评论,变更直接由作者合并,表明缺乏技术交锋或团队信任数据驱动更新。

结论:无争议或决策结论 · 已解决

风险与影响

风险包括:

1) 新est_time值基于历史数据,可能无法适应未来测试变化,导致分区再次失衡;
2) 更新可能引入人为错误,如错误估计某些测试;
3) 将测试跳过逻辑从@unittest.skipIf改为disabled参数可能影响测试执行,尤其是在非CI环境中。

影响范围主要限于CI系统:

1) 对用户无直接影响;
2) 系统层面,预期改善CI作业负载平衡,减少资源浪费和运行时间差异;
3) 团队层面,提升CI效率,加速开发周期,但需监控后续运行以验证效果。

数据驱动估计风险 分区算法依赖 测试跳过逻辑变更

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论