We study the design of energy-efficient algorithms for the LOCAL and CONGEST models. Specifically, as a measure of complexity, we consider the maximum, taken over all the edges, or over all the nodes, of the number of rounds at which an edge, or a node, is active in the algorithm. We first show that every Turing-computable problem has a CONGEST algorithm with constant node-activation complexity, and therefore constant edge-activation complexity as well. That is, every node (resp., edge) is active in sending (resp., transmitting) messages for only $O(1)$ rounds during the whole execution of the algorithm. In other words, every Turing-computable problem can be solved by an algorithm consuming the least possible energy. In the LOCAL model, the same holds obviously, but with the additional feature that the algorithm runs in $O(\mbox{poly}(n))$ rounds in $n$-node networks. However, we show that insisting on algorithms running in $O(\mbox{poly}(n))$ rounds in the CONGEST model comes with a severe cost in terms of energy. Namely, there are problems requiring $\Omega(\mbox{poly}(n))$ edge-activations (and thus $\Omega(\mbox{poly}(n))$ node-activations as well) in the CONGEST model whenever solved by algorithms bounded to run in $O(\mbox{poly}(n))$ rounds. Finally, we demonstrate the existence of a sharp separation between the edge-activation complexity and the node-activation complexity in the CONGEST model, for algorithms bounded to run in $O(\mbox{poly}(n))$ rounds. Specifically, under this constraint, there is a problem with $O(1)$ edge-activation complexity but $\tilde{\Omega}(n^{1/4})$ node-activation complexity.
翻译:我们研究了在LOCAL和CONGEST模型中设计节能算法。具体而言,作为复杂度的度量,我们考虑最大的轮数,取所有的边或节点中的最大值,在算法中,一个边值或节点值在活跃时的轮数。我们首先证明了每个Turing可计算问题都有一个具有恒定节点激活复杂度的CONGEST算法,因此也具有恒定边激活复杂度。也就是说,每个节点(或边)在整个算法执行期间仅在发送(或传输)消息时活跃了$O(1)$轮。换句话说,每个Turing可计算问题都可以通过消耗最少能量的算法来解决。 在LOCAL模型中,同样适用,但具有额外的特性,即在n个节点的网络中,该算法的运行时间为$O(poly(n))$轮。然而,我们表明,在CONGEST模型中,要求算法在$O(poly(n))$轮内运行来消耗尽量少的能量,将付出严重的代价。即,当算法被绑定在$O(poly(n))$轮内运行时,有些问题要求$\Omega(poly(n))$边激活(因此$\Omega(poly(n))$节点激活也必须如此)。最后,我们证明,在在$O(poly(n))$轮内运行的算法中,边激活复杂度与节点激活复杂度之间存在明显的分界。具体而言,在这种约束下,一个具有$O(1)$边激活复杂度但$\tilde{\Omega}(n^{1/4})$节点激活复杂度的问题就至关重要。