计算机科学
调度(生产过程)
粒度
计算
分布式计算
网络数据包
计算机网络
传输层
Mercury(编程语言)
公平份额计划
分拆(数论)
动态优先级调度
图层(电子)
算法
数学优化
服务质量
有机化学
化学
程序设计语言
组合数学
操作系统
数学
作者
Qingyang Duan,Chao Peng,Zeqin Wang,Yuedong Xu,Shaoteng Liu,Jun Wu,John C. S. Lui
标识
DOI:10.1109/tpds.2023.3250462
摘要
Communication scheduling is crucial to accelerate the training of large deep learning models, in which the transmission order of layer-wise deep neural network (DNN) tensors is determined for a better computation-communication overlap. Prior approaches adopt user-level tensor partitioning to enhance the priority scheduling with finer granularity. However, a startup time slot inserted before every tensor partition will neutralize this scheduling gain. Tuning hyper-parameters for tensor partitioning is difficult, especially when the network bandwidth is shared or time-varying in multi-tenant clusters. In this article, we propose Mercury, a simple transport layer scheduler that moves the priority scheduling to the transport layer at the packet granularity. The packets with the highest priority in the Mercury buffer will be transmitted first. Mercury achieves the near-optimal overlapping between communication and computation. It also leverages the immediate aggregation at the transport layer to enable the full overlapping of gradient push and pull. We implement Mercury in MXNet and conduct comprehensive experiments on five popular DNN models in various environments. Mercury can well adapt to dynamic communication and computation resources. Experiments show that Mercury accelerates the training by up to 130% compared to the classical PS architecture, and 104% compared to state-of-the-art tensor partitioning methods.
科研通智能强力驱动
Strongly Powered by AbleSci AI