论文部分内容阅读
为了解决日益庞大的数据集与参数量而带来的机器学习训练耗时过长的问题,分布式机器学习(Distributed Machine Learning,DML)成为加速机器学习模型训练的重要手段之一。DML在进行参数同步时需要多个主机间频繁的网络通信。然而,应用在DML网络传输中的远程直接存取技术(Remote Direct Memory Access,RDMA)并不能很好地支持DML同步时的网络传输特性。本文将由此出发,设计面向DML的网络传输优化。首先,为了解决因网络多瓶颈问题而产生的慢流滞后DML同步进程问题,本文提出了平衡完成时间协议(Balanced Completion Time Protocol,BCTP)。BCTP协议由网络节点记录维护数据流的传输状态,根据网络状态和流的传输状态进行速率的分配,采用了李亚普若夫优化进行分配速率的求解,并由服务器进行速率的调控。在此基础上,本文还设计了BCTP-NIC、BCTP-Switch和BCTP-Hybrid以满足不同的网络设备部署BCTP协议的需求。仿真实验结果表明BCTP能够实现高达20%-45%的DML同步网络通信开销减少。更进一步地,本文还提出采用Multicast加速DML同步的方案,该方案解决了DML同步时网络的冗余传输问题。Multicast以链路最少占用原则生成组播树,将数据包到达率和网络状态作为Multicast流速率分配的依据,通过拉格朗日乘子法进行分配速率的求解。实验结果表明,Multicast能够实现All-Reduce同步下2-4倍的通信加速,参数服务器同步下高达节点倍数的加速。其次,为了解决工作节点串行执行计算与传输任务而引起的计算和网络资源利用率低下的问题,本文提出了分组延迟异步并行模型(Group Stale Synchronous Parallel,GSSP)。GSSP以DML的计算时间和传输时间作为时隙设定的标准,并根据时隙大小进行工作节点的分组。GSSP在组内采用整体同步并行,组间采用延迟异步并行,并在组间通过轮询的策略减少网络带宽的竞争。通过分析GSSP的后悔约束发现,在选择恰当的分组大小时GSSP拥有较快的收敛速度。而实验结果表明GSSP拥有更高的网络资源利用率。