Mike Rabbat, Assistant Professor: Communication/Computation Tradeoffs in Consensus-Based Distributed Optimization
We study the scalability of consensus-based distributed optimization algorithms. Nodes in the network cooperate to find the global minimizer of a separable convex objective function, and each node only knows one component of the objective. In consensus-based distributed optimization algorithms, nodes alternate between taking gradient descent steps based on their local component of the objective, and communicating information with neighbors to reach agreement on the location of the globally optimal solution. In this work we focus on two questions: How many nodes should we use to solve a given problem as quickly as possible? and How often should they communicate in order to reach an epsilon-optimal solution as quickly as possible? Central to our analysis is a problem-specific value $r$ which quantifies the time it takes to communicate one gradient relative to the time it takes to compute one gradient. We show that, in general, when nodes communicate after every gradient computation, there is a problem-specific optimal number of processors which depends on $r$ and characteristics of the network topology. Surprisingly, the time to reach a fixed level of accuracy can be reduced by communicating less frequently as the computation progresses. Experiments solving metric learning and non-smooth convex minimization tasks on a cluster demonstrate strong agreement between theory and practice.
