Accelerate DML with Comm Schedule

Overview

At present, communication overhead has become the bottleneck of distributed machine learning(DML) training. DML usually adopts a centralized parameter server(PS) architecture, which easily leads to unreasonable utilization of network resources.

We design a network priority scheduling method to accelerate distributed machine learning by analyzing lots of communication track of DML based on PS.Through experiments, DML with priority scheduling was accelerated by 30% on average.

Experiment Topology

Due to the current technical limitations of the implementation, scheduling is only effective through the switch, so there are seemingly superfluous 10g links and switch1 above. We are actively looking for ways to implement scheduling on the host.

Current Results

modelparam memflopsno schedule(imgs/sec)with schedule(imgs/sec)speed up
alexnet233 MB727 MFLOPs0.240.3441.67%
googlenet51 MB2 GFLOPS2.06+2.11+2.14+
2.22+2.15=2.136
2.66+2.84+2.78+
2.87+2.84=2.798
30.99%
inception391 MB6 GFLOPS0.63+0.62+0.62+
0.64+0.63=0.628
0.79+0.78+0.79+
0.83+0.75=0.788
25.48%
resnet50107 MB4 GFLOPS0.6+0.6+0.59+
0.6+0.58=0.594
0.78+0.78+0.76+
0.76+0.77=0.77
29.63%