ARock: an Algorithmic Framework for Asynchronous Parallel Coordinate Updates

Zhimin Peng, Yangyang Xu, Ming Yan, Wotao Yin

Introduction

Technological advances in data gathering and storage have led to a rapid proliferation of big data in diverse areas such as climate studies, cosmology, medicine, the Internet, and engineering house2014big . The data involved in many of these modern applications are large and grow quickly. Therefore, parallel computational approaches are needed. This paper introduces a new approach to asynchronous parallel computing with convergence guarantees.

In a synchronous(sync) parallel iterative algorithm, the agents must wait for the slowest agent to finish an iteration before they can all proceed to the next one (Figure 1(a)). Hence, the slowest agent may cripple the system. In contract, the agents in an asynchronous(async) parallel iterative algorithm run continuously with little idling (Figure 1(b)). However, the iterations are disordered, and an agent may carry out an iteration without the newest information from other agents.

Asynchrony has other advantages bertsekas1991some : the system is more tolerant to computing faults and communication glitches; it is also easy to incorporate new agents.

On the other hand, it is more difficult to analyze asynchronous algorithms and ensure their convergence. It becomes impossible to find a sequence of iterates that one completely determines the next. Nonetheless, we let any update be a new iteration and propose an async-parallel algorithm (ARock) for the generic fixed-point iteration. It converges if the fixed-point operator is nonexpansive (Def. 1) and has a fixed point.

Let H1,…,Hm{\mathcal{H}}_{1},\ldots,{\mathcal{H}}_{m} be Hilbert spaces and H:=H1×⋯×Hm{\mathcal{H}}:={\mathcal{H}}_{1}\times\cdots\times{\mathcal{H}}_{m} be their Cartesian product. For a nonexpansive operator T:H→HT:{\mathcal{H}}\to{\mathcal{H}}, our problem is to

Finding a fixed point to TT is equivalent to finding a zero of S≡I−T,S\equiv I-T, denoted by x∗x^{*} such that 0=Sx∗0=Sx^{*}. Hereafter, we will use both SS and TT for convenience.

Problem (1) is widely applicable in linear and nonlinear equations, statistical regression, machine learning, convex optimization, and optimal control. A generic framework for problem (1) is the Krasnosel’skiĭ–Mann (KM) iteration krasnosel1955two :

where α∈(0,1)\alpha\in(0,1) is the step size. If Fix⁡T\operatorname*{Fix}T — the set of fixed points of TT (zeros of SS) — is nonempty, then the sequence (xk)k≥0(x^{k})_{k\geq 0} converges weakly to a point in Fix⁡T\operatorname*{Fix}T and (Txk−xk)k≥0(Tx^{k}-x^{k})_{k\geq 0} converges strongly to 0. The KM iteration generalizes algorithms in convex optimization, linear algebra, differential equations, and monotone inclusions. Its special cases include the following iterations: alternating projection, gradient descent, projected gradient descent, proximal-point algorithm, Forward-Backward Splitting (FBS) passty1979ergodic , Douglas-Rachford Splitting (DRS) lions1979splitting , a three-operator splitting davis2015three , and the Alternating Direction Method of Multipliers (ADMM) lions1979splitting ; glowinski1975approximation .

In ARock, a set of pp agents, p≥1p\geq 1, solve problem (1) by updating the coordinates xi∈Hix_{i}\in{\mathcal{H}}_{i}, i=1,…,mi=1,\ldots,m, in a random and asynchronous fashion. Algorithm 1 describes the framework. Its special forms for several applications are given in Section 2 below.

Whenever an agent updates a coordinate, the global iteration counter kk increases by one. The kkth update is applied to xik∈Hikx_{i_{k}}\in{\mathcal{H}}_{i_{k}}, where ik∈{1,…,m}i_{k}\in\{1,\ldots,m\} is an independent random variable. Each coordinate update has the form:

where ηk>0\eta_{k}>0 is a scalar whose range will be set later, Sikx:=(0,...,0,(Sx)ik,0,...,0),S_{i_{k}}{x}:=(0,...,0,(Sx)_{i_{k}},0,...,0), and mpikmp_{i_{k}} is used to normalize nonuniform selection probabilities. In the uniform case, namely, pi≡1mp_{i}\equiv\frac{1}{m} for all ii, we have mpik≡1mp_{i_{k}}\equiv 1, which simplifies the update (3) to

Here, the point x^k\hat{x}^{k} is what an agent reads from global memory to its local cache and to which SikS_{i_{k}} is applied, and xkx^{k} denotes the state of xx in global memory just before the update (3) is applied. In a sync-parallel algorithm, we have x^k=xk\hat{x}^{k}=x^{k}, but in ARock, due to possible updates to xx by other agents, x^k\hat{x}^{k} can be different from xkx^{k}. This is a key difference between sync-parallel and async-parallel algorithms. In Subsection 1.2 below, we will establish the relationship between x^k\hat{x}^{k} and xkx^{k} as

The update (3) is only computationally worthy if SixS_{i}x is much cheaper to compute than SxSx. Otherwise, it is more preferable to apply the full KM update (2). In Section 2, we will present several applications that have the favorable structures for ARock. The recent work peng2016coordinate studies coordinate friendly structures more thoroughly.

The convergence of ARock (Algorithm 1) is stated in Theorems 3.2 and 3.3. Here we include a shortened version, leaving detailed bounds to the full theorems:

Let T:H→HT:{\mathcal{H}}\to{\mathcal{H}} be a nonexpansive operator that has a fixed point. Let (xk)k≥0(x^{k})_{k\geq 0} be the sequence generated by Algorithm 1 with properly bounded step sizes ηk\eta_{k}. Then, with probability one, (xk)k≥0(x^{k})_{k\geq 0} converges weakly to a fixed point of TT. This convergence becomes strong if H{\mathcal{H}} has a finite dimension.

In addition, if TT is demicompact (see Definition 2 below), then with probability one, (xk)k≥0(x^{k})_{k\geq 0} converges strongly to a fixed point of TT .

In the theorem, the weak convergence result only requires TT to be nonexpansive and has a fixed point. In addition, the computation requires: (a) bounded step sizes; (b) random coordinate selection; and (c) a finite maximal delay τ\tau. Assumption (a) is standard, and we will see the bound can be O(1)O(1). Assumption (b) is essential to both the analysis and the numerical performance of our algorithms. Assumption (c) is not essential; an infinite delay with a light tail is allowed (but we leave it to future work). The strong convergence result applies to all the examples in Section 2, and the linear convergence result applies to Examples 2.2 and 2.4 when the corresponding operator SS is quasi-strongly monotone. Step sizes ηk\eta_{k} are discussed in Remarks 2 and 4.

ARock employs random coordinate selection. This subsection discusses its advantages and disadvantages.

Its main disadvantage is that an agent cannot caching the data associated with a coordinate. The variable xx and its related data must be either stored in global memory or passed through communication. A secondary disadvantage is that pseudo-random number generation takes time, which becomes relatively significant if each coordinate update is cheap. (The network optimization examples in Subsections 2.3 and 2.6.2 are exceptions, where data are naturally stored in a distributed fashion and random coordinate assignments are the results of Poisson processes.)

There are several advantages of random coordinate selection. It realizes the user-specified update frequency pip_{i} for every component xix_{i}, i=1,…,mi=1,\ldots,m, even when different agents have different computing powers and different coordinate updates cost different amounts of computation. Therefore, random assignment ensures load balance. The algorithm is also fault tolerant in the sense that if one or more agents fail, it will still converge to a fixed-point of TT. In addition, it has been observed numerically on certain problems chang2008coordinate that random coordinate selection accelerates convergence.

2 Uncoordinated memory access

In ARock, since multiple agents simultaneously read and update xx in global memory, x^k\hat{x}^{k} — the result of xx that is read from global memory by an agent to its local cache for computation — may not equal xjx^{j} for any j≤kj\leq k, that is, x^k\hat{x}^{k} may never be consistent with a state of xx in global memory. This is known as inconsistent read. In contrast, consistent read means that x^k=xj\hat{x}^{k}=x^{j} for some j≤kj\leq k, i.e., x^k\hat{x}^{k} is consistent with a state of xx that existed in global memory.

Even with inconsistent read, each component is consistent under the atomic coordinate update assumption, which will be defined below. Therefore, we can express what has been read in terms of the changes of individual coordinates. In the above example, the first change is x11−x10=1x^{1}_{1}-x^{0}_{1}=1, which is added to x1x_{1} just before time t1t_{1} by agent 2, and the second change is x42−x41=2x^{2}_{4}-x^{1}_{4}=2, added to x4x_{4} just before time t2t_{2} by agent 3. The inconsistent read by agent 1, which gives the result T^{T}, equals x0+0×(x1−x0)+1×(x2−x1)x^{0}+0\times(x^{1}-x^{0})+1\times(x^{2}-x^{1}).

We have demonstrated that x^k\hat{x}^{k} can be inconsistent, but each of its coordinates is consistent, that is, for each ii, x^ik\hat{x}^{k}_{i} is an ever-existed state of xix_{i} among xik,…,xik−τx_{i}^{k},\ldots,x_{i}^{k-\tau}. Suppose that x^ik=xid‾\hat{x}^{k}_{i}=x_{i}^{\underline{d}}, where d‾∈{k,k−1,…,k−τ}\underline{d}\in\{k,k-1,\ldots,k-\tau\}. Therefore, x^ik\hat{x}^{k}_{i} can be related to xikx^{k}_{i} through the interim changes applied to xix_{i}. Let Ji(k)⊂{k−1,…,k−τ}J_{i}(k)\subset\{k-1,\ldots,k-\tau\} be the index set of these interim changes. If Ji(k)≠∅J_{i}(k)\not=\emptyset, then d‾=min⁡{d∈Ji(k)}\underline{d}=\min\{d\in J_{i}(k)\}; otherwise, d‾=k\underline{d}=k. In addition, we have x^ik=xid‾=xik+∑d∈Ji(k)(xid−xid+1)\hat{x}^{k}_{i}=x_{i}^{\underline{d}}=x^{k}_{i}+\sum_{d\in J_{i}(k)}(x_{i}^{d}-x_{i}^{d+1}). Since the global counter kk is increased after each coordinate update, updates to xix_{i} and xjx_{j}, i≠ji\not=j, must occur at different kk’s and thus Ji(k)∩Jj(k)=∅, ∀i≠jJ_{i}(k)\cap J_{j}(k)=\emptyset,\,\forall i\neq j. Therefore, by letting J(k):=∪iJi(k)⊂{k−1,…,k−τ}J(k):=\cup_{i}J_{i}(k)\subset\{k-1,\ldots,k-\tau\} and noticing (xid−xid+1)=0(x_{i}^{d}-x_{i}^{d+1})=0 for d∈Jj(k)d\in J_{j}(k) where i≠ji\not=j, we have x^ik=xik+∑d∈J(k)(xid−xid+1),∀i=1,…,m\textstyle\hat{x}^{k}_{i}=x^{k}_{i}+\sum_{d\in J(k)}(x_{i}^{d}-x_{i}^{d+1}),\forall i=1,\ldots,m, which is equivalent to (5). Here, we have made two assumptions:

atomic coordinate update: a coordinate is not further broken to smaller components during an update; they are all updated at once.

bounded maximal delay τ\tau: during any update cycle of an agent, xx in global memory is updated at most τ\tau times by other agents.

When each coordinate is a single scalar, updating the scalar is a single atomic instruction on most modern hardware, so the first assumption naturally holds, and our algorithm is lock-free. The case where a coordinate is a block that includes multiple scalars is discussed in the next subsection.

In the “block coordinate” case (updating a block of several coordinates each time), the atomic coordinate update assumption can be met by either employing a per-coordinate memory lock or taking the following dual-memory approach: Store two copies of each coordinate xi∈Hix_{i}\in{\mathcal{H}}_{i} in global memory, denoting them as xi(0)x_{i}^{(0)} and xi(1)x_{i}^{(1)}; let a bit αi∈{0,1}\alpha_{i}\in\{0,1\} point to the active copy; an agent will only read xix_{i} from the active copy xi(αi)x_{i}^{(\alpha_{i})}; before an agent updates the components of xix_{i}, it obtains a memory lock to the inactive copy xi(1−αi)x_{i}^{(1-\alpha_{i})} to prevent other agents from simultaneously updating it; then after it finishes updating xi(1−αi)x_{i}^{(1-\alpha_{i})}, flip the bit αi\alpha_{i} so that other agents will begin reading from the updated copy. This approach never blocks any read of xix_{i}, yet it eliminates inconsistency.

3 Straightforward generalization

Our async-parallel coordinate update scheme (3) can be generalized to (overlapping) block coordinate updates after a change to the step size. Specifically, the scheme (3) can be generalized to

where UikU_{i_{k}} is randomly drawn from a set of operators {U1,…,Un}\{U_{1},\ldots,U_{n}\} (n≤mn\leq m), Ui:H→HU_{i}:{\mathcal{H}}\to{\mathcal{H}}, following the probability P(ik=i)=piP(i_{k}=i)=p_{i}, i=1,…,ni=1,\ldots,n (pi>0p_{i}>0, and ∑i=1npi=1\sum_{i=1}^{n}p_{i}=1). The operators must satisfy ∑i=1nUi=IH\sum_{i=1}^{n}U_{i}=I_{\mathcal{H}} and ∑i=1n∥Uix∥2≤C∥x∥2\sum_{i=1}^{n}\|U_{i}x\|^{2}\leq C\|x\|^{2} for some C>0C>0.

Let Ui:x↦(0,…,0,xi,0,…,0), i=1,…,mU_{i}:x\mapsto(0,\ldots,0,x_{i},0,\ldots,0),~{}i=1,\ldots,m, which has C=1C=1; then (6) reduces to (3). If H{\mathcal{H}} is endowed with a metric MM such that ρ1∥x∥2≤∥x∥M2≤ρ2∥x∥2\rho_{1}\|x\|^{2}\leq\|x\|_{M}^{2}\leq\rho_{2}\|x\|^{2} (e.g., the metric in the Condat-Vũ primal-dual splitting condat2013primal ; vu2013splitting ), then we have

In general, multiple coordinates can be updated in (6). Consider linear Ui:x↦(ai1x1,⋯ ,aimxm)U_{i}:x\mapsto(a_{i1}x_{1},\cdots,a_{im}x_{m}), i=1,…,mi=1,\ldots,m, where ∑i=1naij=1\sum_{i=1}^{n}a_{ij}=1 for each jj. Then, for C:=max⁡{∑i=1nai12,⋯ ,∑i=1naim2}C:=\max\left\{\sum_{i=1}^{n}a_{i1}^{2},\cdots,\sum_{i=1}^{n}a_{im}^{2}\right\}, we have

4 Special cases

If there is only one agent (p=1p=1), ARock (Algorithm 1) reduces to randomized coordinate update, which includes the special case of randomized coordinate descent nesterov2012rcd for convex optimization. Sync-parallel coordinate update is another special case of ARock corresponding to x^k≡xk\hat{x}^{k}\equiv x^{k}. In both cases, there is no delay, i.e., τ=0\tau=0 and J(k)=∅J(k)=\emptyset. In addition, the step size ηk\eta_{k} can be more relaxed. In particular, if pi=1mp_{i}=\frac{1}{m}, ∀i\forall i, then we can let ηk=η\eta_{k}=\eta, ∀k\forall k, for any η<1\eta<1, or η<1/α\eta<1/\alpha when TT is α\alpha-averaged (see Definition 2 for the definition of an α\alpha-averaged operator).

5 Related work

Chazan and Miranker chazan1969chaotic proposed the first async-parallel method in 1969. The method was designed for solving linear systems. Later, async-parallel methods have been successful applied in many fields, e.g., linear systems avron2014revisiting ; bethune2014performance ; FSS1997asyn-addSch ; rosenfeld1969case , nonlinear problems BMR1997asyn-multisplit ; baudet1978asynchronous , differential equations aharoni2000parallel ; AAI1998implicit ; Chau20081126 ; donzis2014asynchronous , consensus problems LMS1986asynchronous ; leifang_information_2005 , and optimization hsieh2015passcode ; liu2014asynchronous ; liu2013asynchronous ; tai2002convergence ; zhang2014asynchronous . We review the theory for async-parallel fixed-point iteration and its applications.

The above works assign coordinates in a deterministic manner. Different from them, ARock is stochastic, works for nonexpansive operators, and is more applicable.

Linear, nonlinear, and differential equations. The first async-parallel method for solving linear equations was introduced by Chazan and Miranker in chazan1969chaotic . They proved that on solving linear systems, P-contraction was necessary and sufficient for convergence. The performance of the algorithm was studied by Iain et al. bethune2014performance ; rosenfeld1969case on different High Performance Computing (HPC) architectures. Recently, Avron et al. avron2014revisiting revisited the async-parallel coordinate update and showed its linear convergence for solving positive-definite linear systems. Tarazi and Nabih el1982some extended the poineering work chazan1969chaotic to solving nonlinear equations, and the async-parallel methods have also been applied for solving differential equations, e.g., in aharoni2000parallel ; AAI1998implicit ; Chau20081126 ; donzis2014asynchronous . Except for avron2014revisiting , all these methods are totally async-parallel with the P-contraction condition or its variants. On solving a positive-definite linear system, avron2014revisiting made assumptions similar to ours, and it obtained better linear convergence rate on that special problem.

Our framework differs from the recent surge of the aforementioned sync-parallel and async-parallel coordinate descent algorithms (e.g., peng2013parallel ; kyrola2011parallel ; liu2013asynchronous ; liu2014asynchronous ; hsieh2015passcode ; richtarik2015parallel ). While they apply to convex function minimization, ARock covers more cases (such as ADMM, primal-dual, and decentralized methods) and also provides sequence convergence. In Section 2, we will show that some of the existing async-parallel coordinate descent algorithms are special cases of ARock, through relating their optimality conditions to nonexpansive operators. Another difference is that the convergence of ARock only requires a nonexpansive operator with a fixed point, whereas properties such as strong convexity, bounded feasible set, and bounded sequence, which are seen in some of the recent literature for async-parallel convex minimization, are unnecessary.

Others. Besides solving equations and optimization problems, there are also applications of async-parallel algorithms to optimal control problems LMS1986asynchronous , network flow problems ESMG1996asyn-flex , and consensus problems of multi-agent systems leifang_information_2005 .

6 Contributions

Our contributions and techniques are summarized below:

ARock is the first async-parallel coordinate update framework for finding a fixed point to a nonexpansive operator.

By introducing a new metric and establishing stochastic Fejér monotonicity, we show that, with probability one, ARock converges to a point in the solution set; linear convergence is obtained for quasi-strongly monotone operators.

Based on ARock, we introduce an async-parallel algorithm for linear systems, async-parallel ADMM algorithms for distributed or decentralized computing problems, as well as async-parallel operator-splitting algorithms for nonsmooth minimization problems. Some problems are treated in they async-parallel fashion for the first time in history. The developed algorithms are not straightforward modifications to their serial versions because their underlying nonexpansive operators must be identified before applying ARock.

7 Notation, definitions, background of monotone operators

Throughout this paper, H{\mathcal{H}} denotes a separable Hilbert space equipped with the inner product ⟨⋅,⋅⟩\langle\cdot,\cdot\rangle and norm ∥⋅∥\|\cdot\|, and (Ω,F,P)(\Omega,{\mathcal{F}},P) denotes the underlying probability space, where Ω\Omega, F{\mathcal{F}}, and PP are the sample space, σ\sigma-algebra, and probability measure, respectively. The map x:(Ω,F)→(H,B)x:(\Omega,{\mathcal{F}})\rightarrow({\mathcal{H}},{\mathcal{B}}), where B{\mathcal{B}} is the Borel σ\sigma-algebra, is an H{\mathcal{H}}-valued random variable. Let (xk)k≥0(x^{k})_{k\geq 0} denote either a sequence of deterministic points in H{\mathcal{H}} or a sequence of H{\mathcal{H}}-valued random variables, which will be clear from the context, and let xi∈Hix_{i}\in{\mathcal{H}}_{i} denote the iith coordinate of xx. In addition, we let Xk:=σ(x0,x^1,x1,...,x^k,xk){\mathcal{X}}^{k}:=\sigma(x^{0},\hat{x}^{1},x^{1},...,\hat{x}^{k},x^{k}) denote the smallest σ\sigma-algebra generated by x0,x^1,x1,...,x^k,xkx^{0},\hat{x}^{1},x^{1},...,\hat{x}^{k},x^{k}. “Almost surely” is abbreviated as “a.s.”, and the nn product space of H{\mathcal{H}} is denoted by Hn{\mathcal{H}}^{n}. We use →\to and ⇀\rightharpoonup for strong convergence and weak convergence, respectively.

We define Fix⁡T:={x∈H ∣ Tx=x}\operatorname*{Fix}T:=\{x\in{\mathcal{H}}~{}|~{}Tx=x\} as the set of fixed points of operator TT, and, in the product space, we let X∗:={(x∗,x∗,...,x∗) ∣ x∗∈Fix⁡T}⊆Hτ+1{\mathbf{X}}^{*}:=\{(x^{*},x^{*},...,x^{*})~{}|~{}x^{*}\in\operatorname*{Fix}T\}\subseteq{\mathcal{H}}^{\tau+1}.

An operator T:H→HT:{\mathcal{H}}\rightarrow{\mathcal{H}} is cc-Lipschitz, where c≥0c\geq 0, if it satisfies ∥Tx−Ty∥≤c∥x−y∥\|Tx-Ty\|\leq c\|x-y\|, ∀x,y∈H\forall x,y\in{\mathcal{H}}. In particular, TT is nonexpansive if c≤1c\leq 1, and contractive if c<1c<1.

Consider an operator T:H→HT:{\mathcal{H}}\rightarrow{\mathcal{H}}.

TT is α\alpha-averaged with α∈(0,1)\alpha\in(0,1), if there is a nonexpansive operator R:H→HR:{\mathcal{H}}\rightarrow{\mathcal{H}} such that T=(1−α)IH+αRT=(1-\alpha)I_{\mathcal{H}}+\alpha R, where IH:H→HI_{\mathcal{H}}:{\mathcal{H}}\rightarrow{\mathcal{H}} is the identity operator.

TT is β\beta-cocoercive with β>0\beta>0, if ⟨x−y,Tx−Ty⟩≥β∥Tx−Ty∥2, ∀x,y∈H.\langle x-y,Tx-Ty\rangle\geq\beta\|Tx-Ty\|^{2},~{}\forall x,y\in{\mathcal{H}}.

TT is μ\mu-strongly monotone, where μ>0\mu>0, if it satisfies ⟨x−y,Tx−Ty⟩≥μ∥x−y∥2, ∀x,y∈H.\langle x-y,Tx-Ty\rangle\geq\mu\|x-y\|^{2},~{}\forall x,y\in{\mathcal{H}}. When the inequality holds for μ=0\mu=0, TT is monotone.

TT is quasi-μ\mu-strongly monotone, where μ>0\mu>0, if it satisfies ⟨x−y,Tx⟩≥μ∥x−y∥2, ∀x∈H,y∈zer⁡T:={y∈H∣Ty=0}\langle x-y,Tx\rangle\geq\mu\|x-y\|^{2},~{}\forall x\in{\mathcal{H}},y\in\operatorname*{zer}T:=\{y\in{\mathcal{H}}\mid Ty=0\}. When the inequality holds for μ=0\mu=0, TT is quasi-monotone.

TT is demicompact petryshyn1966construction at x∈Hx\in{\mathcal{H}} if for every bounded sequence (xk)k≥0(x^{k})_{k\geq 0} in H{\mathcal{H}} such that Txk−xk→xTx^{k}-x^{k}\to x, there exists a strongly convergent subsequence.

Averaged operators are nonexpansive. By the Cauchy-Schwarz inequality, a β\beta-cocoercive operator is 1β\frac{1}{\beta}-Lipschitz; the converse is generally untrue, but true for the gradients of convex differentiable functions. Examples are given in the next section.

Applications

In this section, we provide some applications that are special cases of the fixed-point problem (1). For each application, we identify its nonexpansive operator TT (or the corresponding operator SS) and implement the conditions in Theorem 1.1. For simplicity, we use the uniform distribution, p1=⋯=pm=1/mp_{1}=\cdots=p_{m}=1/m, and apply the simpler update (4) instead of (3).

(bauschke2011convex, , Example 22.5) Suppose that TT is cc-Lipschitz continuous with c∈[0,1)c\in[0,1). Then, I−TI-T is (1−c)(1-c)-strongly monotone.

Suppose ∥M∥2<1\|M\|_{2}<1. Since TT is ∥M∥2\|M\|_{2}-Lipschitz continuous, by Proposition 1, SS is (1−∥M∥2)(1-\|M\|_{2})-strongly monotone. By Theorem 3.3, Algorithm 2 converges linearly.

2 Minimize convex smooth function

where ff is a closed proper convex differentiable function and ∇f\nabla f is LL-Lipschitz continuous, L>0L>0. Let S:=2L ∇fS:=\frac{2}{L}\,\nabla f. As ff is convex and differentiable, xx is a minimizer of ff if and only if xx is a zero of SS. Note that SS is 12\frac{1}{2}-cocoercive. By Lemma 1, T≡I−ST\equiv I-S is nonexpansive. Applying ARock, we have the following iteration:

where Sikx=2L(0,...,0,∇ikf(x),0,...,0)TS_{i_{k}}x=\frac{2}{L}(0,...,0,\nabla_{i_{k}}f(x),0,...,0)^{T}. Note that ∇f\nabla f needs a structure that makes it cheap to compute ∇ikf(x^k)\nabla_{i_{k}}f(\hat{x}^{k}). Let us give two such examples: (i) quadratic programming: f(x)=12xTAx−bTxf(x)=\frac{1}{2}x^{T}Ax-b^{T}x, where ∇f(x)=Ax−b\nabla f(x)=Ax-b and ∇ikf(x^k)\nabla_{i_{k}}f(\hat{x}^{k}) only depends on a part of AA and bb; (ii) sum of sparsely supported functions: f=∑j=1Nfjf=\sum_{j=1}^{N}f_{j} and ∇f=∑j=1N∇fj\nabla f=\sum_{j=1}^{N}\nabla f_{j}, where each fjf_{j} depends on just a few variables.

Theorem 3.2 below guarantees the convergence of (xk)k≥0(x^{k})_{k\geq 0} if ηk∈[ηmin⁡,12τ/m+1)\eta_{k}\in[\eta_{\min},\frac{1}{2\tau/\sqrt{m}+1}). In addition, If f(x)f(x) is restricted strongly convex, namely, for any x∈Hx\in{\mathcal{H}} and x∗∈X∗x^{*}\in X^{*}, where X∗X^{*} is the solution set to (7), we have ⟨x−x∗,∇f(x)⟩≥μ∥x−x∗∥2\langle x-x^{*},\nabla f(x)\rangle\geq\mu\|x-x^{*}\|^{2} for some μ>0\mu>0, then SS is quasi-strongly monotone with modulus μ\mu. According to Theorem 3.3, iteration (8) converges at a linear rate if the step size meets the condition therein.

3 Decentralized consensus optimization

If the agents are pp independent Poisson processes and that each agent ii has activation rate λi\lambda_{i}, then the probability that agent ii activates before other agents is equal to λi∑i=1pλi\frac{\lambda_{i}}{\sum_{i=1}^{p}\lambda_{i}} larson1981urban and therefore our random sample scheme holds and ARock applies naturally. The algorithm is summarized as follows:

4 Minimize smooth ++ nonsmooth functions

+ nonsmooth functions Consider the problem

where ff is closed proper convex and gg is convex and LL-Lipschitz differentiable with L>0L>0. Problems in the form of (10) arise in statistical regression, machine learning, and signal processing and include well-known problems such as the support vector machine, regularized least-squares, and regularized logistic regression. For any x∈Hx\in{\mathcal{H}} and scalar γ∈(0,2L)\gamma\in(0,\frac{2}{L}), define the proximal operator proxf:H→H\mathbf{prox}_{f}:{\mathcal{H}}\rightarrow{\mathcal{H}} and the reflective-proximal operator reflf:H→H\mathbf{refl}_{f}:{\mathcal{H}}\rightarrow{\mathcal{H}} as

Assume that ff is a closed proper convex function, and gg is LL-Lipschitz differentiable and strongly convex with modulus μ>0\mu>0. Let γ∈(0,2L)\gamma\in(0,\frac{2}{L}). Then, both I−γ∇gI-\gamma\nabla g and proxγf∘(I−γ∇g)\mathbf{prox}_{\gamma f}\circ(I-\gamma\nabla g) are quasi-contractive operators.

We first show that I−γ∇gI-\gamma\nabla g is a quasi-contractive operator. Note

where the first inequality follows from the Baillon-Haddad theoremLet gg be a convex differentiable function. Then, ∇g\nabla g is LL-Lipschitz if and only if it is 1L\frac{1}{L}-cocoercive. and the second one from the strong convexity of gg. Hence, I−γ∇gI-\gamma\nabla g is quasi-contractive if 0<γ<2/L0<\gamma<2/L. Since ff is convex, proxγf\mathbf{prox}_{\gamma f} is firmly nonexpansive, and thus we immediately have the quasi-contractiveness of proxγf∘(I−γ∇g)\mathbf{prox}_{\gamma f}\circ(I-\gamma\nabla g) from that of I−γ∇gI-\gamma\nabla g.

5 Minimize nonsmooth ++ nonsmooth functions

where both f(x)f(x) and g(x)g(x) are closed proper convex and their prox\mathbf{prox} maps are easy to compute. Define the Peaceman-Rachford lions1979splitting operator:

where x^k\hat{x}^{k} and y^k\hat{y}^{k} are intermediate variables. Note that the order in which the proximal operators are applied to ff and gg affects both zkz^{k} YanYin2014 and whether coordinate-wise updates can be efficiently computed. Next, we present two special cases of (13) in Subsections 2.5.1 and 2.6 and discuss how to efficiently implement the update (15).

Suppose that C1,...,CmC_{1},...,C_{m} are closed convex subsets of H{\mathcal{H}} with a nonempty intersection. The problem is to find a point in the intersection. Let ICi{\mathcal{I}}_{C_{i}} be the indicator function of the set CiC_{i}, that is, ICi(x)=0{\mathcal{I}}_{C_{i}}(x)=0 if x∈Cix\in C_{i} and ∞\infty otherwise. The feasibility problem can be formulated as the following

Let zk=(z1k,…,zmk)∈Hmz^{k}=(z^{k}_{1},\ldots,z^{k}_{m})\in{\mathcal{H}}^{m}, z^k=(z^1k,…,z^mk)∈Hm\hat{z}^{k}=(\hat{z}^{k}_{1},\ldots,\hat{z}^{k}_{m})\in{\mathcal{H}}^{m}, and zˉ^k∈H\hat{\bar{z}}^{k}\in{\mathcal{H}}. We can implement (15) as follows (see Appendix A for the step-by-step derivation):

The update (16) can be implemented as follows. Let global memory hold z1,…,zmz_{1},\ldots,z_{m}, as well as zˉ=1m∑i=1mzi\bar{z}=\frac{1}{m}\sum_{i=1}^{m}z_{i}. At the kkth update, an agent independently generates a random number ik∈{1,…,m}i_{k}\in\{1,\ldots,m\}, then reads zikz_{i_{k}} as z^ikk\hat{z}_{i_{k}}^{k} and zˉ\bar{z} as zˉ^k{\hat{\bar{z}}}^{k}, and finally computes y^ik\hat{y}_{i_{k}} and updates zikz_{i_{k}} in global memory according to (16). Since zˉ\bar{z} is maintained in global memory, the agent updates zˉ\bar{z} according to zˉk+1=zˉk+1m(zikk+1−zikk)\bar{z}^{k+1}=\bar{z}^{k}+\frac{1}{m}(z_{i_{k}}^{k+1}-z_{i_{k}}^{k}). This implementation saves each agent from computing (16a) or reading all z1,…,zmz_{1},\ldots,z_{m}. Each agent only reads zikz_{i_{k}} and zˉ\bar{z}, executes (16b), and updates zikz_{i_{k}} (16c) and zˉ\bar{z}.

6 Async-parallel ADMM

This is another application of (15). Consider

where H1{\mathcal{H}}_{1} and H2{\mathcal{H}}_{2} are Hilbert spaces, AA and BB are bounded linear operators. We apply the update (15) to the Lagrange dual of (17) (see gabay1983chapter for the derivation):

where df(w):=f∗(A∗w)d_{f}(w):=f^{*}(A^{*}w), dg(w):=g∗(B∗w)−⟨w,b⟩d_{g}(w):=g^{*}(B^{*}w)-\langle w,b\rangle, and f∗f^{*} and g∗g^{*} denote the convex conjugates of ff and gg, respectively. The proximal maps induced by dfd_{f} and dgd_{g} can be computed via solving subproblems that involve only the original terms in (17): z+=proxγdf(z)z^{+}=\mathbf{prox}_{\gamma d_{f}}(z) can be computed by (see Appendix A for the derivation)

and z+=proxγdg(z)z^{+}=\mathbf{prox}_{\gamma d_{g}}(z) by

Plugging (19) and (20) into (15) yields the following naive implementation

Note that 2ηk2\eta_{k} in (15c) becomes ηk\eta_{k} in (21e) because ADMM is equivalent to the Douglas-Rachford operator, which is the average of the Peaceman-Rachford operator and the identity operator lions1979splitting . Under favorable structures, (21) can be implemented efficiently. For instance, when AA and BB are block diagonal matrices and f,gf,g are corresponding block separable functions, steps (21a)–(21d) reduce to independent computation for each ii. Since only w^f,ikk\hat{w}_{f,i_{k}}^{k} and w^g,ikk\hat{w}_{g,i_{k}}^{k} are needed to update the main variable zkz^{k}, we only need to compute (21a)–(21d) for the iki_{k}th block. This is exploited in distributed and decentralized ADMM in the next two subsections.

Consider the consensus optimization problem:

where fi(xi)f_{i}(x_{i}) are proper close convex functions. Rewrite (22) to the ADMM form:

where g=0g=0. Now apply the async-parallel ADMM (21) to (2.6.1) with dual variables z1,...,zm∈Hz_{1},...,z_{m}\in{\mathcal{H}}. In particular, the update (21a), (21b), (21c), (21d) reduce to

Therefore, we obtain the following async-parallel ADMM algorithm for the problem (22). This algorithm applies to all the distributed applications in boyd2011distributed .

6.2 Async-parallel ADMM for decentralized optimization

Let V={1,...,m}V=\{1,...,m\} be a set of agents and E=\{(i,j)~{}|~{}\text{if agenticonnectstoagentconnects to agentj},i<j\} be the set of undirected links between the agents. Consider the following decentralized consensus optimization problem on the graph G=(V,E)G=(V,E):

for proper matrices AA and BB. Applying the async-parallel ADMM (21) to (29) gives rise to the following simplified update: Let E(i)E(i) be the set of edges connected with agent ii and ∣E(i)∣|E(i)| be its cardinality. Let L(i)={j ∣ (j,i)∈E(i),j<i}L(i)=\{j~{}|~{}(j,i)\in E(i),j<i\} and R(i)={j ∣ (i,j)∈E(i),j>i}R(i)=\{j~{}|~{}(i,j)\in E(i),j>i\}. To every pair of constraints xi=yijx_{i}=y_{ij} and xj=yijx_{j}=y_{ij}, (i,j)∈E(i,j)\in E, we associate the dual variables zij,iz_{ij,i} and zij,jz_{ij,j}, respectively. Whenever some agent ii is activated, it calculates

We present the algorithm based on (30) for problem (27) in Algorithm 5.

Algorithm 5 activates one agent at each iteration and updates all the dual variables associated with the agent. In this case, only one-sided communication is needed, for sending the updated dual variables in the last step. We allow this communication to be delayed in the sense that agent ii’s neighbors may be activated and start their computation before receiving the latest dual variables from agent ii.

Our algorithm is different from the asynchronous ADMM algorithm by Wei and Ozdaglar wei2013on . Their algorithm activates an edge and its two associated agents at each iteration and thus requires two-sided communication at each activation. We can recover their algorithm as a special case by activating an edge (i,j)∈E(i,j)\in E and its associated agents ii and jj at each iteration, updating the dual variables zij,iz_{ij,i} and zij,jz_{ij,j} associated with the edge, as well as computing the intermediate variables xix_{i}, xjx_{j}, and yijy_{ij}. The updates are derived from (29) with the orders of xx and yy swapped. Note that wei2013on does not consider the situation that adjacent edges are activated in a short period of time, which may cause overlapped computation and delay communication. Indeed, their algorithm corresponds to τ=0\tau=0 and the corresponding stepsize ηk≡1\eta_{k}\equiv 1. Appendix B presents the steps to derive the algorithms in this subsection.

Convergence

We establish weak and strong convergence in Subsection 3.1 and linear convergence in Subsection 3.2. Step size selection is also discussed.

Throughout the our analysis, we assume pmin⁡:=min⁡ipi>0p_{\min}:=\min_{i}p_{i}>0 and

We let ∣J(k)∣|J(k)| be the number of elements in J(k)J(k) (see Subsection 1.2). Only for the purpose of analysis, we define the (never computed) full update at kkth iteration:

Lemma 1 below shows that TT is nonexpansive if and only if SS is 1/2{1/2}-cocoercive.

Operator T:H→HT:{\mathcal{H}}\to{\mathcal{H}} is nonexpansive if and only if S=I−TS=I-T is 1/2{1}/{2}-cocoercive, i.e., ⟨x−y,Sx−Sy⟩≥12∥Sx−Sy∥2,∀ x,y∈H\langle x-y,Sx-Sy\rangle\geq\frac{1}{2}\|Sx-Sy\|^{2},{\forall~{}x,y\in{\mathcal{H}}}.

See textbook (bauschke2011convex, , Proposition 4.33) for the proof of the “if” part, and the “only if” part, though missing there, follows by just reversing the proof.

The lemma below develops an an upper bound for the expected distance between xk+1x^{k+1} and any x∗∈Fix⁡Tx^{*}\in\operatorname*{Fix}T.

Let (xk)k≥0(x^{k})_{k\geq 0} be the sequence generated by Algorithm 1. Then for any x∗∈Fix⁡Tx^{*}\in\operatorname*{Fix}T and γ>0\gamma>0 (to be optimized later), we have

where the first inequality follows from the Young’s inequality. Plugging (35) and (36) into (34) gives the desired result.

We need the following lemma on nonnegative almost supermartingales robbins1985convergence .

Let Hτ+1=∏i=0τH{\mathcal{H}}^{\tau+1}=\prod_{i=0}^{\tau}{\mathcal{H}} be a product space and ⟨⋅ ∣ ⋅⟩\langle\cdot\,|\,\cdot\rangle be the induced inner product:

Let M′M^{\prime} be a symmetric (τ+1)×(τ+1)(\tau+1)\times(\tau+1) tri-diagonal matrix with its main diagonal as pmin⁡[1pmin⁡+τ,2τ−1,2τ−3,…,1]\sqrt{p_{\min}}[\frac{1}{\sqrt{p_{\min}}}+\tau,2\tau-1,2\tau-3,\ldots,1] and first off-diagonal as −pmin⁡[τ,τ−1,…,1]-\sqrt{p_{\min}}[\tau,\tau-1,\ldots,1], and let M=M′⊗IHM=M^{\prime}\otimes I_{\mathcal{H}}. Here ⊗\otimes represents the Kronecker product. For a given (y0,⋯ ,yτ)∈Hτ+1(y^{0},\cdots,y^{\tau})\in{\mathcal{H}}^{\tau+1}, (z0,⋯ ,zτ)=M(y0,⋯ ,yτ)(z^{0},\cdots,z^{\tau})=M(y^{0},\cdots,y^{\tau}) is given by:

Then MM is a self-adjoint and positive definite linear operator since M′M^{\prime} is symmetric and positive definite, and we define ⟨⋅ ∣ ⋅⟩M=⟨⋅ ∣ M⋅⟩\langle\cdot\,|\,\cdot\rangle_{M}=\langle\cdot\,|\,M\cdot\rangle as the MM-weighted inner product and ∥⋅∥M\|\cdot\|_{M} the induced norm. Let

where we set xk=x0x^{k}=x^{0} for k<0k<0. With

we have the following fundamental inequality:

Let (xk)k≥0(x^{k})_{k\geq 0} be the sequence generated by ARock. Then for any x∗∈X∗{\mathbf{x}}^{*}\in{\mathbf{X}}^{*}, it holds that

Let γ=mpmin⁡\gamma=m\sqrt{p_{\min}}. Since J(k)⊂{k−1,⋯ ,k−τ}J(k)\subset\{k-1,\cdots,k-\tau\}, then (33) indicates

Let us check our step size bound mpmin⁡2τpmin⁡+1\frac{mp_{\min}}{2\tau\sqrt{p_{\min}}+1}. Consider the uniform case: pmin⁡≡pi≡1mp_{\min}\equiv p_{i}\equiv\frac{1}{m}. Then, the bound simplifies to 11+2τ/m\frac{1}{1+2\tau/\sqrt{m}}. If the max delay is no more than the square root of coordinates, i.e., τ=O(m)\tau=O(\sqrt{m}), then the bound is O(1)O(1). In general, τ\tau depends on several factors such as problem structure, system architecture, load balance, etc. If all updates and agents are identical, then τ\tau is proportional to pp, the number of agents. Hence, ARock takes an O(1)O(1) step size for solving a problem with mm coordinates by p=mp=\sqrt{m} agents under balanced loads.

The next lemma is a direct consequence of the invertibility of the metric MM.

A sequence (zk)k≥0⊂Hτ+1({\mathbf{z}}^{k})_{k\geq 0}\subset{\mathcal{H}}^{\tau+1} (weakly) converges to z∈Hτ+1{\mathbf{z}}\in{\mathcal{H}}^{\tau+1} under the metric ⟨⋅ ∣ ⋅⟩\langle\cdot\,|\,\cdot\rangle if and only if it does so under the metric ⟨⋅ ∣ ⋅⟩M\langle\cdot\,|\,\cdot\rangle_{M}.

In light of Lemma 4, the metric of the inner product for weak convergence in the next lemma is not specified. The lemma and its proof are adapted from combettes2014stochastic .

Let (xk)k≥0⊂H(x^{k})_{k\geq 0}\subset{\mathcal{H}} be the sequence generated by ARock with ηk∈[ηmin⁡,cmpmin⁡2τpmin⁡+1]\eta_{k}\in[\eta_{\min},\frac{cmp_{\min}}{2\tau\sqrt{p_{\min}}+1}] for any ηmin⁡>0\eta_{\min}>0 and 0<c<10<c<1. Then we have:

∑k=0∞∥xk−xˉk+1∥2<∞\sum_{k=0}^{\infty}\|x^{k}-\bar{x}^{k+1}\|^{2}<\infty a.s..

xk−xk+1→0x^{k}-x^{k+1}\rightarrow 0 a.s. and x^k−xk+1→0\hat{x}^{k}-x^{k+1}\rightarrow 0 a.s..

The sequence (xk)k≥0⊂Hτ+1({\mathbf{x}}^{k})_{k\geq 0}\subset{\mathcal{H}}^{\tau+1} is bounded a.s..

Let Z(xk)\mathscr{Z}({\mathbf{x}}^{k}) be the set of weakly convergent cluster points of (xk)k≥0({\mathbf{x}}^{k})_{k\geq 0}. Then, Z(xk)⊆X∗\mathscr{Z}({\mathbf{x}}^{k})\subseteq{\mathbf{X}}^{*} a.s..

(i): Note that inf⁡k(1ηk−2τmpmin⁡−1mpmin⁡)>0\inf_{k}\left(\frac{1}{\eta_{k}}-\frac{2\tau}{m\sqrt{p_{\min}}}-\frac{1}{mp_{\min}}\right)>0. Also note that, in (42), ∥xˉk+1−xk∥2=∥ηkSx^k∥2\|\bar{x}^{k+1}-x^{k}\|^{2}=\|\eta_{k}S\hat{x}^{k}\|^{2} is Xk{\mathcal{X}}^{k}-measurable. Hence, applying Lemma 3 with ξk=ηk=0\xi_{k}=\eta_{k}=0 and αk=ξk(x∗), ∀k,\alpha_{k}=\xi_{k}({\mathbf{x}}^{*}),\,\forall k, to (42) gives this result directly.

(ii) From (i), we have xk−xˉk+1→0x^{k}-\bar{x}^{k+1}\rightarrow 0 a.s.. Since ∥xk−xk+1∥≤1mpmin⁡∥xk−xˉk+1∥\|x^{k}-x^{k+1}\|\leq\frac{1}{mp_{\min}}\|x^{k}-\bar{x}^{k+1}\|, we have xk−xk+1→0x^{k}-x^{k+1}\rightarrow 0 a.s.. Then from (5), we have x^k−xk→0\hat{x}^{k}-x^{k}\rightarrow 0 a.s..

(iii): From Lemma 3, we have that (∥xk−x∗∥M2)k≥0(\|{\mathbf{x}}^{k}-{{\mathbf{x}}}^{*}\|_{M}^{2})_{k\geq 0} converges a.s. and so does (∥xk−x∗∥M)k≥0(\|{\mathbf{x}}^{k}-{{\mathbf{x}}}^{*}\|_{M})_{k\geq 0}, i.e., lim⁡k→∞∥xk−x∗∥M=γ\lim_{k\rightarrow\infty}\|{\mathbf{x}}^{k}-{{\mathbf{x}}}^{*}\|_{M}=\gamma a.s., where γ\gamma is a [0,+∞)[0,+\infty)-valued random variable. Hence, (∥xk−x∗∥M)k≥0(\|{\mathbf{x}}^{k}-{{\mathbf{x}}}^{*}\|_{M})_{k\geq 0} must be bounded a.s. and so is (xk)k≥0({\mathbf{x}}^{k})_{k\geq 0}.

(v): By (ii), there exists Ω^∈F\hat{\Omega}\in{\mathcal{F}} such that P(Ω^)=1P(\hat{\Omega})=1 and

For any ω∈Ω^\omega\in\hat{\Omega}, let (xkn(ω))n≥0({\mathbf{x}}^{k_{n}}(\omega))_{n\geq 0} be a weakly convergent subsequence of (xk(ω))k≥0({\mathbf{x}}^{k}(\omega))_{k\geq 0}, i.e., xkn(ω)⇀x{\mathbf{x}}^{k_{n}}(\omega)\rightharpoonup{\mathbf{x}}, where xkn(ω)=(xkn(ω),xkn−1(ω)...,xkn−τ(ω)){\mathbf{x}}^{k_{n}}(\omega)=(x^{k_{n}}(\omega),x^{k_{n}-1}(\omega)...,x^{k_{n}-\tau}(\omega)) and x=(u0,...,uτ){\mathbf{x}}=(u^{0},...,u^{\tau}). Note that xkn(ω)⇀x{\mathbf{x}}^{k_{n}}(\omega)\rightharpoonup{\mathbf{x}} implies xkn−j(ω)⇀uj, ∀j.x^{k_{n}-j}(\omega)\rightharpoonup u^{j},\,\forall j. Therefore, ui=uju^{i}=u^{j}, for any i,j∈{0,⋯ ,τ}i,j\in\{0,\cdots,\tau\} because xkn−i(ω)−xkn−j(ω)→0x^{k_{n}-i}(\omega)-x^{k_{n}-j}(\omega)\rightarrow 0.

Furthermore, observing ηk≥ηmin⁡>0\eta_{k}\geq\eta_{\min}>0, we have

From the triangle inequality and the nonexpansiveness of TT, it follows that

From (44), (45), and the above inequality, it follows lim⁡n→∞xkn(ω)−Txkn(ω)=0.\lim_{n\rightarrow\infty}x^{k_{n}}(\omega)-Tx^{k_{n}}(\omega)=0. Finally, the demiclosedness principle (bauschke2011convex, , Theorem 4.17) implies u0∈Fix⁡Tu^{0}\in\operatorname*{Fix}T.

Under the assumptions of Lemma 5, the sequence (xk)k≥0({\mathbf{x}}^{k})_{k\geq 0} weakly converges to an X∗{\mathbf{X}}^{*}-valued random variable a.s.. In addition, if TT is demicompact at 0, (xk)k≥0({\mathbf{x}}^{k})_{k\geq 0} strongly converges to an X∗{\mathbf{X}}^{*}-valued random variable a.s..

For the generalization in Section 1.3, we need to replace (35) by

and update the step size condition to ηk∈[ηmin⁡,cmpmin⁡2τpmin⁡+C]\eta_{k}\in[\eta_{\min},\frac{cmp_{\min}}{2\tau\sqrt{p_{\min}}+C}]. Then the proofs of Theorem 3.2 and Lemma 5 will go through and yield the same convergence result.

2 Linear convergence

In this section, we establish linear convergence under the assumption that SS is quasi-strongly monotone. We first present a key lemma.

Assume that the step size is fixed, i.e., ηk=η\eta_{k}=\eta, and satisfies

for some ρ>1\rho>1. Then we have, for all k≥1k\geq 1,

We prove (47) by induction. First, based on the inequality ∥a∥2−∥b∥2≤2∥a∥∥b−a∥\|a\|^{2}-\|b\|^{2}\leq 2\|a\|\|b-a\| we observe that, for any k≥1k\geq 1,

Applying the triangle inequality and (5) yields

For the basic case, we have x^0=x0\hat{x}^{0}=x^{0}, x^1∈{x0,x1}\hat{x}^{1}\in\{x^{0},x^{1}\}. Letting k=1k=1 in (48) gets us

For the induction step, applying Young’s inequality gives us

Taking the expectation on (51) and combining it with (48) yield

With this lemma, we are ready to derive the linear convergence rate of ARock.

Assume that SS is quasi-μ\mu-strongly monotone with μ>0\mu>0. Let β∈(0,1)\beta\in(0,1) and (xk)k≥0(x^{k})_{k\geq 0} be the sequence generated by ARock with a constant stepsize η∈(0,min⁡{η‾1,η‾2}]\eta\in(0,\min\{\underline{\eta}_{1},\underline{\eta}_{2}\}], where η‾1\underline{\eta}_{1} is given in (46) and

Following the proof of Lemma 2 and starting from (36), we have

where the second inequality holds because SS is 12\frac{1}{2}-cocoercive and also quasi-μ\mu-strongly monotone, and the last one comes from the Cauchy-Schwartz inequality. Plugging the above inequality and (35) into (34) and noting ∣J(k)∣⊂{k−τ,…,k−1}|J(k)|\subset\{k-\tau,\ldots,k-1\} gives

where we have let γ=mτ(ρ−1)pmin⁡ρ(ρτ−1)\gamma=m\sqrt{\frac{\tau(\rho-1)p_{\min}}{\rho(\rho^{\tau}-1)}} in the second equality, and the last inequality holds because of the choice of η\eta. Therefore, (55) holds.

Assume iki_{k} is chosen uniformly at random, so pmin⁡=1mp_{\min}=\frac{1}{m}. We consider the case when mm and τ\tau are large. Let ρ=1+1τ\sqrt{\rho}=1+\frac{1}{\tau}. Then from the fact that (1+1k)k(1+\frac{1}{k})^{k} increasingly converges to the natural number ee, we have from (46) that η‾1=O(mτ2)\underline{\eta}_{1}=O(\frac{\sqrt{m}}{\tau^{2}}). In addition, note from (54) that a=O(b2)=O(τ2m)a=O(b^{2})=O(\frac{\tau^{2}}{m}), and thus η‾2=O(mτ)\underline{\eta}_{2}=O(\frac{\sqrt{m}}{\tau}). Therefore, if τ=O(m14)\tau=O(m^{\frac{1}{4}}), then the stepsize in Theorem 3.3 can be η=O(1)\eta=O(1). Hence, linear speedup can be achieved.

Experiments

Our experiments run on 1 to 32 threads on a machine with eight Quad-Core AMD OpteronTM Processors (32 cores in total) and 6464 Gigabytes of RAM. All of the experiments were coded in C++ and OpenMP. We use the Eigen libraryhttp://eigen.tuxfamily.org for sparse matrix operations. Our codes as well as numerical results for other applications will be publicly available on the authors’ website.

The running times and speedup ratios of both sync-parallel and async-parallel algorithms are sensitive to a number of factors, such as the size of each coordinate update (granularity), sparsity of the problem data, compiler optimization flags, and operations that affect cache performance and memory access contention. In addition, since all agents in the sync-parallel implementation must wait for the last agent to finish an iteration, a large load imbalance will significantly degrade the performance. We do not have the space in this paper to present numerical results under all variations of these cases.

where {(ai,bi)}i=1N\{(a_{i},b_{i})\}_{i=1}^{N} is the set of sample-label pairs with bi∈{1,−1}b_{i}\in\{1,-1\}, λ=0.0001\lambda=0.0001, and nn and NN represent the numbers of features and samples, respectively. This test uses the datasetshttp://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/: rcv1 and news20, which are summarized in Table 1.

We let each coordinate hold roughly 50 features. Since the total number of features is not divisible by 50, some coordinates have 51 features. We let each agent draw a coordinate uniformly at random at each iteration. We stop all the tests after 100 epochs since they have nearly identical progress per iteration. The step size is set to ηk=0.9, ∀k\eta_{k}=0.9,\,\forall k. Let A=[a1,…,aN]TA=[a_{1},\ldots,a_{N}]^{T} and b=[b1,...,bN]Tb=[b_{1},...,b_{N}]^{T}. In global memory, we store A, bA,~{}b, and xx. We also store the product AxAx in global memory so that the forward step can be efficiently computed. Whenever a coordinate of xx gets updated, AxAx is immediately updated at a low cost. Note that if AxAx is not stored in global memory, every coordinate update will have to compute AxAx from scratch, which involves the entire xx and will be very expensive.

Table 2 gives the running times of the sync-parallel and ARock (async-parallel) implementations on the two datasets. We can observe that ARock achieves almost-linear speedup, but sync-parallel scales very poorly as we explain below.

In the sync-parallel implementation, all the running cores have to wait for the last core to finish an iteration, and therefore if a core has a large load, it slows down the iteration. Although every core is (randomly) assigned to roughly the same number of features (either 50 or 51 components of xx) at each iteration, their aia_{i}’s have very different numbers of nonzeros (see Figure 3 for the distribution), and the core with the largest number of nonzeros is the slowest (Sparse matrix computation is used for both datasets, which are very large.) As more cores are used, despite that they altogether do more work at each iteration, the per-iteration time reduces as the slowest core tends to be slower. The very large imbalance of load explains why the 32 cores only give speedup ratios of 4.0 and 1.3 in Table 2.

On the other hand, being asynchronous, ARock does not suffer from the load imbalance. Its performance grows nearly linear with the number of cores. In theory, a large load imbalance may cause a large τ\tau, and thus a small ηk\eta_{k}. However, the uniform ηk=0.9\eta_{k}=0.9 works well in all the tests, possibly because the aia_{i}’s are sparse.

Finally, we have observed that the progress toward solving (56) is mainly a function of the number of epochs and does not change appreciably when the number of cores increases or between sync-parallel and async-parallel. Therefore, we always stop at 100 epochs.

Conclusion

We have proposed an async-parallel framework, ARock, for finding a fixed-point of a nonexpansive operator by coordinate updates. We establish the almost sure weak and strong convergence, linear convergence rate and almost-linear speedup of ARock under certain assumptions. Preliminary numerical results on real data illustrate the high efficiency of the proposed framework compared to the traditional parallel (sync-parallel) algorithms.

Acknowledgements

We would like to thank Brent Edmunds for offering invaluable suggestions on the organization and writing of this paper. We would also like to thank Robert Hannah for coming up with the dual-memory approach. The authors are grateful to Kun Yuan for helpful discussions on decentralized optimization.

References

Appendix A Derivation of certain updates

We show in details how to obtain the updates in (16) and (21).

Let x=(x1,…,xm)∈Hmx=(x_{1},\ldots,x_{m})\in{\mathcal{H}}^{m},

where g(x)g(x) equals if x1=⋯=xmx_{1}=\cdots=x_{m} and ∞\infty otherwise. Then (15a) reduces to

where the last equality is obtained by noting that z1=1m∑i=1mz^ikz_{1}=\frac{1}{m}\sum_{i=1}^{m}\hat{z}_{i}^{k} is the unique minimizer of ∑i=1m∥z1−z^ik∥2\sum_{i=1}^{m}\|z_{1}-\hat{z}_{i}^{k}\|^{2}. Next, (15b) reduces to

Since (15c) only updates the iki_{k}th coordinate of zz, we only need x^ikk\hat{x}_{i_{k}}^{k} and y^ikk\hat{y}_{i_{k}}^{k}, and thus in (16a) and (16b), we only compute x^ikk\hat{x}_{i_{k}}^{k} and y^ikk\hat{y}_{i_{k}}^{k}. Plugging the above x^k\hat{x}^{k} and y^k\hat{y}^{k} into (15c) gives (16c) directly.

A.2 Derivation of (21)

We first show how to get (18). The Lagrangian of (17) is L(x,y,w)=f(x)+g(y)−⟨w,Ax+By−b⟩,L(x,y,w)=f(x)+g(y)-\langle w,Ax+By-b\rangle, and the Lagrange dual function is

where the last equality is from the definition of convex conjugate: f∗(z)=max⁡x⟨z,x⟩−f(x).f^{*}(z)=\max_{x}\langle z,x\rangle-f(x). Hence, the dual problem is max⁡wd(w)\max_{w}d(w), which is equivalent to (18).

Secondly, we show why z+=proxγ⋅dg(z)z^{+}=\mathbf{prox}_{\gamma\cdot d_{g}}(z) is given by (20). Note

where the fifth equality holds because s∗=z−γ(By−b)=arg⁡min⁡s⟨s,By−b⟩+12γ∥s−z∥2.s^{*}=z-\gamma(By-b)=\arg\min_{s}\langle s,By-b\rangle+\frac{1}{2\gamma}\|s-z\|^{2}. Hence, by the definition of the proximal operator and the above arguments, we have that z+=proxγ⋅dg(z)z^{+}=\mathbf{prox}_{\gamma\cdot d_{g}}(z) can be obtained from (20). Then (19) is from (20) through replacing gg to ff, BB to AA, and bb to .

Finally, it is straightforward to have (21) by plugging (19) and (20) into (15).

Appendix B Derivation of async-parallel ADMM for decentralized optimization

This section describes how to implement the updates (21) for the model (29).

In (29), g(y)g(y) and bb vanish and, corresponding to the two constraints xi=yijx_{i}=y_{ij} and xj=yijx_{j}=y_{ij}, the two rows of matrices AA and BB are [⋯1⋯⋯⋯⋯⋯⋯1⋯][⋯−1⋯⋯−1⋯],\begin{bmatrix}\cdots&1&\cdots&\cdots&\cdots\\ \cdots&\cdots&\cdots&1&\cdots\end{bmatrix}\quad\begin{bmatrix}\cdots&-1&\cdots\\ \cdots&-1&\cdots\end{bmatrix}, where ⋯\cdots are zeros, the two coefficients 1 correspond to xix_{i} and xjx_{j}, and the two coefficients −1-1 correspond to yijy_{ij}. Then, (21a) and (21b) can be calculated as

In addition, x^ik\hat{x}^{k}_{i} can be obtained by solving (30a), and both zli,ik+1z_{li,i}^{k+1} and zir,ik+1z_{ir,i}^{k+1} can be updated from (30b) and (30c).

Furthermore, as mentioned in Section 2.6.2, we can derive another version of async-parallel ADMM for decentralized optimization, which reduces to the algorithm in wei2013on , by activating an edge (i,j)∈E(i,j)\in E instead of an agent ii each time. In this version, the agents ii and jj associated with the edge (i,j)(i,j) must also be activated. Here we derive the update (21) for the model (29) with the update order of xx and yy swapped. Following (21) we obtain the following steps whenever an edge (i,j)∈E(i,j)\in E is activated:

Every agent ii in the network maintains the dual variables zli,iz_{li,i}, l∈L(i)l\in L(i), and zir,iz_{ir,i}, r∈R(i)r\in R(i), and the variables x,y,wx,y,w are intermediate and do not need to be maintained between the activations. When an edge (i,j)(i,j) is activated, the agents ii and jj first compute their {x^ik,(w^fk)ij,i}\{\hat{x}_{i}^{k},(\hat{w}_{f}^{k})_{ij,i}\} and {x^jk,(w^fk)ij,j}\{\hat{x}_{j}^{k},(\hat{w}_{f}^{k})_{ij,j}\} independently and respectively, then they collaboratively compute y^ijk\hat{y}_{ij}^{k}, and finally they update their own zij,ikz_{ij,i}^{k} and zij,jkz_{ij,j}^{k}, respectively. We allow adjacent edges (which share agents) to be activated in a short period of time when their updates are possibly overlapped in time. When τ=0\tau=0, i.e., there is no simultaneous activation or overlap, it reduces to the algorithm in wei2013on .