b2f487039:adapt Ray control-plane setup to early experimental import
主要实现位于 daft/runners/ray_runner.py:
新增 _configure_minimal_ray_control_plane。
默认设置:
RAY_task_events_report_interval_ms=0
RAY_enable_metrics_collection=0
RAY_event_stats=0
配置必须在 import ray 前执行,因为 Ray C++ 配置单例可能在导入阶段读取 RAY_* 环境变量。
使用 setdefault,保证用户显式设置的 Ray 参数优先。
可设置 DAFT_RAY_MINIMAL_CONTROL_PLANE=0 恢复完整 Ray 可观测性。
新 base 在文件顶部提前导入了 ray.experimental,且不再导入 os。直接移植旧补丁会导致 NameError,并使配置无法在 Ray 首次导入前生效。提交 b2f487039 补充 os 导入,并把 ray.experimental 移到控制面配置之后。首次兼容性失败和一次 Ray worker 瞬态缺模块样本均完整保留,但没有计入最终 A/B;最终结果来自重新执行的完整 3 轮。
1.4 测试结果
Pipeline
基线中位数
优化后中位数
优化效果
加速比
pipeline_pdf_full_min
12.076 s
12.230 s
-1.28%
0.987x
pipeline_text_fineweb_full_min
9.381 s
9.400 s
-0.21%
0.998x
pipeline_text_vectorize_full_min
17.093 s
17.934 s
-4.92%
0.953x
pipeline_image_full_min
12.031 s
12.355 s
-2.69%
0.974x
pipeline_video_full_min
12.391 s
12.446 s
-0.44%
0.996x
五条中位数之和
62.972 s
64.365 s
-2.21%
0.978x
结论:新 base 上 5 条 pipeline 全部回退,汇总回退 2.21%,其中向量化回退 4.92%。该优化还会降低 Ray dashboard/state API 的可观测信息,当前没有性能收益支撑这一权衡,不建议合入或默认开启。
1. 减少 Ray task/GCS 事件与指标基数
1.1 优化点名称
减少 Ray task/GCS 事件与指标基数(Minimal Ray Control Plane)。
1.2 背景与收益原理
Ray 默认会收集 task history、Core metrics 和 event stats。大量短 task 或算子节点会产生高基数指标标签及持续的事件上报,增加:
Daft pipeline 的正确执行不依赖完整 task history 或 Ray Core metrics,因此在以吞吐为目标的 benchmark/生产模式中,可以关闭这些可观测性数据,换取更低的控制面开销。该优化对短 task、多 partition、高并发场景理论上更明显。
1.3 实现方式、分支与提交
分支:
codex/ai-de-ray-control-cardinality提交:
c91c78e1c:reduce-Ray-control-plane-telemetry-overheadb6fa44cb6:apply-Ray-config-before-importb2f487039:adapt Ray control-plane setup to early experimental import主要实现位于
daft/runners/ray_runner.py:_configure_minimal_ray_control_plane。RAY_task_events_report_interval_ms=0RAY_enable_metrics_collection=0RAY_event_stats=0import ray前执行,因为 Ray C++ 配置单例可能在导入阶段读取RAY_*环境变量。setdefault,保证用户显式设置的 Ray 参数优先。DAFT_RAY_MINIMAL_CONTROL_PLANE=0恢复完整 Ray 可观测性。新 base 在文件顶部提前导入了
ray.experimental,且不再导入os。直接移植旧补丁会导致NameError,并使配置无法在 Ray 首次导入前生效。提交b2f487039补充os导入,并把ray.experimental移到控制面配置之后。首次兼容性失败和一次 Ray worker 瞬态缺模块样本均完整保留,但没有计入最终 A/B;最终结果来自重新执行的完整 3 轮。1.4 测试结果
pipeline_pdf_full_minpipeline_text_fineweb_full_minpipeline_text_vectorize_full_minpipeline_image_full_minpipeline_video_full_min结论:新 base 上 5 条 pipeline 全部回退,汇总回退 2.21%,其中向量化回退 4.92%。该优化还会降低 Ray dashboard/state API 的可观测信息,当前没有性能收益支撑这一权衡,不建议合入或默认开启。