Summary
This paper provides a coded distributed computation solution when the parameter server needs to compute the gradient (exactly or approximately) over a very large dataset. The idea relies on distribution dataset into chunks and assigning chunks to different workers, such that each worker computes the gradient for only a subset of the chunks. The workers then send their computations to the server in a coded manner to reduce the communication load. In principle, redundant computations are introduced to compensate for slow straggling workers.
Strengths
The authors propose a new class of algorithms that benefits from additional communication between the server and the workers, where the worker tracks the chunks computed by the workers at each iteration, and informs all the workers about the state of others. The proposed protocol allows also partial computation of the gradients, which can be used to speed up optimisation steps at the expense of reduced accuracy, similarly to stochastic gradient descent. The authors provide numerical examples that illustrate the benefits of their proposed algorithm.
Weaknesses
- One of the main weaknesses of the proposed algorithm is the additional communication overhead. The protocol requires communication from each worker to the server and from the server to each worker after each iteration. Even though these are packets of limited size, only containing information about the state of computation, not the computation results, they do still need to be communicated back and forth, and the algorithm relies on the correct reception of these packets by their recipients. In practice, this may cause significant load on the system particularly when the number of workers is large.
- The proposed algorithm requires solving another optimization problem to find the right combining coefficients when the server requests the results from the workers. Each worker needs to solve a problem not only for its own coefficients, but also the other workers' problems to be able to track the coded solutions transmitted by them. This puts quite a bit of an extra computation load (probably much less then what is being computed for the gradient computation, but still an additional computation step).
- Overall the presentation of the algorithm could be a bit more clear. It was difficult to follow the description. I believe it would be better to provide the illustrative example before presenting the details of the algorithm, and walk the reader through the steps of the proposed algorithm and highlight the benefits.
- Some relevant literature is not considered.
Questions
- The authors claim that no previous work considered approximate gradient computations. This is not exactly correct, as the following work makes almost the same claim:
E. Ozfatura, S. Ulukus and D. Gündüz, "Coded Distributed Computing With Partial Recovery," in IEEE Transactions on Information Theory, vol. 68, no. 3, pp. 1945-1959, March 2022, doi: 10.1109/TIT.2021.3133791.
Please see Section V of this paper that applies the proposed ideas to gradient coding, which is called coded communication (since computation results are coded before being communicated to the server).
The authors should revise their claims in light of the above work, clearly explain how/why their scheme is superior to the one proposed here, and also provide numerical comparisons.
Limitations
- As noted above, one of the main limitation is the lack of comparison with other existing schemes in the literature. Also, one would like to see the results of the algorithm implemented on a more realistic scenario.