concern is shared in supercomputing environments [@Graham05-FutureOfSuperComputing]. In contrast with execution time, communication steps are application and implementation independent. For example, given a distributed algorithm, we get different execution times if we change any of the following: medium-access protocol, transmission medium, scheduling, platform for the nodes, or even the way the algorithm is coded. Communication steps are, on the other hand, invariant to any of these. Note that, given a network with $E$ edges, if we multiply $2E$ by the number of communication steps, we obtain the total number of communications in the network.

We point out, however, that our algorithm, D-ADMM, is asynchronous, i.e., not all nodes perform the same tasks at the same time, in contrast with most of the algorithms presented next. More concretely, D-ADMM assumes a coloring for the nodes, and each node operates according to its color. Other algorithms do not rely on any coloring scheme, enabling them to be synchronous, i.e., all nodes can perform the same tasks at the same time.[^2] Therefore, if one communication step in D-ADMM takes $T$ time units, it would take $T/C$ units in a synchronous algorithm, where $C$ is the number of colors, in case the nodes were 