[论文解读] Semi-Dynamic Load Balancing: Efficient Distributed Learning in Non-Dedicated Environments
本文提出 LB-BSP,一种半动态负载均衡框架,通过基于实时工作器性能在迭代边界调整样本批次大小,减少分布式机器学习中的慢速者(straggler)效应。该框架在 CPU 集群中采用基于 NARX 的预测方法,在 GPU 集群中采用自适应批次大小策略,实现高效、非侵入式的负载均衡,训练速度最高提升 54%,适用于非专用环境。
Machine learning (ML) models are increasingly trained in clusters with non-dedicated workers possessing heterogeneous resources. In such scenarios, model training efficiency can be negatively affected by stragglers -- workers that run much slower than others. Efficient model training requires eliminating such stragglers, yet for modern ML workloads, existing load balancing strategies are inefficient and even infeasible. In this paper, we propose a novel strategy called semi-dynamic load balancing to eliminate stragglers of distributed ML workloads. The key insight is that ML workers shall be load-balanced at iteration boundaries, being non-intrusive to intra-iteration execution. We develop LB-BSP based on such an insight, which is an integrated worker coordination mechanism that adapts workers' load to their instantaneous processing capabilities by right-sizing the sample batches at the synchronization barriers. We have custom-designed the batch sizing algorithm respectively for CPU and GPU clusters based on their own characteristics. LB-BSP has been implemented as a Python module for ML frameworks like TensorFlow and PyTorch. Our EC2 deployment confirms that LB-BSP is practical, effective and light-weight, and is able to accelerating distributed training by up to $54\%$.
研究动机与目标
- 解决在资源可用性波动、异构的非专用集群中进行分布式机器学习训练时的慢速者问题。
- 设计一种负载均衡策略,避免静态和动态负载均衡在迭代式、张量型机器学习工作负载中的低效问题。
- 仅在迭代边界进行调整,实现高效、非侵入式负载均衡,同时保持迭代内执行效率。
- 基于实时处理能力预测,为 CPU 和 GPU 集群开发平台特定的批次大小调整策略。
- 在亚马逊 EC2 等真实云环境中评估 LB-BSP 的实用性、有效性及低开销特性。
提出的方法
- LB-BSP 通过在同步屏障处引入负载均衡,集成到批量同步并行(BSP)模型中,根据每个工作器的处理时间调整其批次大小,以实现处理时间均衡。
- 对于 CPU 集群,采用 NARX 循环神经网络,利用实时 CPU 和内存资源指标预测工作器处理速度,估算批次处理时间。
- 在每次迭代开始时,基于预测的处理能力动态设定每个工作器的批次大小,以平衡工作负载。
- 对于 GPU 集群,设计了独立的批次大小调整算法,以适配 GPU 内存和计算吞吐量的特性。
- 系统通过工作器与 BatchSizeManager 之间的非阻塞 RPC 通信,最小化运行时开销。
- 性能监控通过执行日志(如 TensorFlow Timeline 对象)完成,对训练吞吐量影响极小。
实验结果
研究问题
- RQ1如何在不破坏迭代内执行效率的前提下,高效地在分布式机器学习训练中实现负载均衡?
- RQ2在动态、非专用环境中,预测工作器处理能力的最有效方法是什么?
- RQ3基于批次大小调整的半动态负载均衡是否能在机器学习工作负载中优于传统的静态和动态负载均衡?
- RQ4LB-BSP 在 CPU 和 GPU 集群中的训练加速比和系统开销表现如何?
- RQ5在异构、共享环境中,预测精度对整体训练效率有何影响?
主要发现
- LB-BSP 在亚马逊 EC2 部署中实现最高 54% 的分布式训练加速,有效消除了非专用集群中的慢速者现象。
- 基于 NARX 的预测模型相比 EMA 和 ARIMA 等基线方法,将 RMSE 降低 40%,从而实现更精确的批次大小配置。
- 即使在 96 个工作器的集群中,LB-BSP 的系统开销也低于总迭代时间的 1.1%,证实其轻量化特性。
- 该框架在 CPU 和 GPU 集群上均保持高性能,且针对不同平台设计了定制化的批次大小调整策略。
- NARX 模型通过抑制瞬时峰值波动并准确跟踪确定性性能提升,展现出良好的预测鲁棒性。
- LB-BSP 通过避免工作窃取和运行时迁移,优于现有负载均衡方法,后者与张量型处理不兼容。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。