字节跳动宣布开源 Godel-Rescheduler,一个基于全局最优调度策略的重调度框架。不仅能识别集群中的异常节点和任务,还能智能推荐任务到最合适的位置,并通过图算法生成详细的迁移步骤,确保集群的整体稳定性,真正实现全局最优调度。
Godel-Rescheduler 由两个核心模块组成:Policy Manager 和 Movement Manager。其中,Policy Manager 负责输出重调度决策,而 Movement Manager 则负责拆解并执行这些决策。整个框架的目标是通过重调度,使集群朝向全局最优状态发展。
目前,字节跳动已经成功将 Godel-Rescheduler 应用到多个内部项目中,支持多种重调度策略的协同工作。例如:
- 合并部署重调度:优化上下游应用实例在相同节点上的调度。
- 负载均衡重调度:在负载、内存带宽、网络带宽等方面进行优化。
- 碎片整理重调度:有效减少 CPU、GPU 等资源的碎片率等。
在实际应用中,Godel-Rescheduler 已帮助字节跳动的数万卡 GPU 集群将碎片率控制在 5% 以下,同时在大规模混合部署集群中,热点节点比例控制在 0.1% 以下。
接下来,Godel-Rescheduler 将持续扩展和优化:
- 更多重调度策略:引入更多实时数据,以丰富调度策略的多样性。
- 稳定性建设:在优化调度效果的同时,持续降低重调度对集群稳定性的影响。
- 扩展性优化:进一步简化策略接入方式,提升插件化能力。
- 通用指标构建:制定通用的重调度评价指标,以全面评估调度效果。
- 优化可解释性:增强重调度算法的可解释性,帮助用户更好地理解调度决策的依据。