An Asynchronous Parallel Stochastic Coordinate Descent Algorithm

Ji Liu, Stephen J. Wright, Christopher Ré, Victor Bittorf, Srikrishna Sridhar

Introduction

where each Ωi\Omega_{i}, i=1,2,,ni=1,2,\dotsc,n is a closed subinterval of the real line.

Formulations of the type (1,2) arise in many data analysis and machine learning problems, for example, support vector machines (linear or nonlinear dual formulation) (Cortes and Vapnik, 1995), LASSO (after decomposing xx into positive and negative parts) (Tibshirani, 1996), and logistic regression. Algorithms based on gradient and approximate or partial gradient information have proved effective in these settings. We mention in particular gradient projection and its accelerated variants (Nesterov, 2004), accelerated proximal gradient methods for regularized objectives (Beck and Teboulle, 2009), and stochastic gradient methods (Nemirovski et al., 2009; Shamir and Zhang, 2013). These methods are inherently serial, in that each iteration depends on the result of the previous iteration. Recently, parallel multicore versions of stochastic gradient and stochastic coordinate descent have been described for problems involving large data sets; see for example Niu et al. (2011); Richtárik and Takáč (2012b); Avron et al. (2014).

This paper proposes an asynchronous stochastic coordinate descent (AsySCD) algorithm for convex optimization. Each step of AsySCD chooses an index i{1,2,,n}i\in\{1,2,\dotsc,n\} and subtracts a short, constant, positive multiple of the iith partial gradient if(x):=f/xi\nabla_{i}f(x):=\partial f/\partial x_{i} from the iith component of xx. When separable constraints (2) are present, the update is “clipped” to maintain feasibility with respect to Ωi\Omega_{i}. Updates take place in parallel across the cores of a multicore system, without any attempt to synchronize computation between cores. We assume that there is a bound τ\tau on the age of the updates, that is, no more than τ\tau updates to xx occur between the time at which a processor reads xx (and uses it to evaluate one element of the gradient) and the time at which this processor makes its update to a single element of xx. (A similar model of parallel asynchronous computation was used in Hogwild! (Niu et al., 2011).) Our implementation, described in Section 6, is a little more complex than this simple model would suggest, as it is tailored to the architecture of the Intel Xeon machine that we use for experiments.

We show that linear convergence can be attained if an “essential strong convexity” property (3) holds, while sublinear convergence at a “1/K1/K” rate can be proved for general convex functions. Our analysis also defines a sufficient condition for near-linear speedup in the number of cores used. This condition relates the value of delay parameter τ\tau (which relates to the number of cores / threads used in the computation) to the problem dimension nn. A parameter that quantifies the cross-coordinate interactions in f\nabla f also appears in this relationship. When the Hessian of ff is nearly diagonal, the minimization problem can almost be separated along the coordinate axes, so higher degrees of parallelism are possible.

We review related work in Section 2. Section 3 specifies the proposed algorithm. Convergence results for unconstrained and constrained cases are described in Sections 4 and 5, respectively, with proofs given in the appendix. Computational experience is reported in Section 6. We discuss several variants of AsySCD in Section 7. Some conclusions are given in Section 8.

\|\cdot\| denotes the Euclidean norm 2\|\cdot\|_{2}.

SΩS\subset\Omega denotes the set on which ff attains its optimal value, which is denoted by ff^{*}.

PS()\mathcal{P}_{S}(\cdot) and PΩ()\mathcal{P}_{\Omega}(\cdot) denote Euclidean projection onto SS and Ω\Omega, respectively.

We use xix_{i} for the iith element of xx, and if(x)\nabla_{i}f(x) for the iith element of the gradient vector f(x)\nabla f(x).

We define the following essential strong convexity condition for a convex function ff with respect to the optimal set SS, with parameter l>0l>0:

This condition is significantly weaker than the usual strong convexity condition, which requires the inequality to hold for all x,yΩx,y\in\Omega. In particular, it allows for non-singleton solution sets SS, provided that ff increases at a uniformly quadratic rate with distance from SS. (This property is noted for convex quadratic ff in which the Hessian is rank deficient.) Other examples of essentially strongly convex functions that are not strongly convex include:

f(Ax)f(Ax) with arbitrary linear transformation AA, where f()f(\cdot) is strongly convex;

f(x)=max(aTxb,0)2f(x)=\max(a^{T}x-b,0)^{2}, for a0a\neq 0.

Define L\mboxresL_{\mbox{\rm\scriptsize res}} as the restricted Lipschitz constant for f\nabla f, where the “restriction” is to the coordinate directions: We have

Define LiL_{i} as the coordinate Lipschitz constant for f\nabla f in the iith coordinate direction: We have

Note that L\mboxresLmaxL_{\mbox{\rm\scriptsize res}}\geq L_{\max}.

We use {xj}j=0,1,2,\{x_{j}\}_{j=0,1,2,\dotsc} to denote the sequence of iterates generated by the algorithm from starting point x0x_{0}. Throughout the paper, we assume that SS is nonempty.

Lipschitz Constants

The nonstandard Lipschitz constants L\mboxresL_{\mbox{\rm\scriptsize res}}, LmaxL_{\max}, and LiL_{i}, i=1,2,,ni=1,2,\dotsc,n defined above are crucial in the analysis of our method. Besides bounding the nonlinearity of ff along various directions, these quantities capture the interactions between the various components in the gradient f\nabla f, as quantified in the off-diagonal terms of the Hessian 2f(x)\nabla^{2}f(x) — although the stated conditions do not require this matrix to exist.

We have noted already that L\mboxres/Lmax1L_{\mbox{\rm\scriptsize res}}/L_{\max}\geq 1. Let us consider upper bounds on this ratio under certain conditions. When ff is twice continuously differentiable, we have

Since 2f(x)0\nabla^{2}f(x)\succeq 0 for xΩx\in\Omega, we have that

Thus L\mboxresL_{\mbox{\rm\scriptsize res}}, which is a bound on the largest column norm for 2f(x)\nabla^{2}f(x) over all xΩx\in\Omega, is bounded by nLmax\sqrt{n}L_{\max}, so that

If the Hessian is structurally sparse, having at most pp nonzeros per row/column, the same argument leads to L\mboxres/LmaxpL_{\mbox{\rm\scriptsize res}}/L_{\max}\leq\sqrt{p}.

If f(x)f(x) is a convex quadratic with Hessian QQ, we have

where QiQ_{\cdot i} denotes the iith column of QQ. If QQ is diagonally dominant, we have for any column ii that

which, by taking the maximum of both sides, implies that L\mboxres/Lmax2L_{\mbox{\rm\scriptsize res}}/L_{\max}\leq 2 in this case.

where the second inequality uses Jensen’s inequality and the final equality uses

We can thus estimate the upper bound on L\mboxres/LmaxL_{\mbox{\rm\scriptsize res}}/L_{\max} roughly by 1+n/m1+\sqrt{n/m} for this case.

Related Work

This section reviews some related work on coordinate relaxation and stochastic gradient algorithms.

Among cyclic coordinate descent algorithms, Tseng (2001) proved the convergence of a block coordinate descent method for nondifferentiable functions with certain conditions. Local and global linear convergence were established under additional assumptions, by Luo and Tseng (1992) and Wang and Lin (2014), respectively. Global linear (sublinear) convergence rate for strongly (weakly) convex optimization was proved by Beck and Tetruashvili (2013). Block-coordinate approaches based on proximal-linear subproblems are described by Tseng and Yun (2009, 2010). Wright (2012) uses acceleration on reduced spaces (corresponding to the optimal manifold) to improve the local convergence properties of this approach.

Stochastic coordinate descent is almost identical to cyclic coordinate descent except selecting coordinates in a random manner. Nesterov (2012) studied the convergence rate for a stochastic block coordinate descent method for unconstrained and separably constrained convex smooth optimization, proving linear convergence for the strongly convex case and a sublinear 1/K1/K rate for the convex case. Extensions to minimization of composite functions are described by Richtárik and Takáč (2012a) and Lu and Xiao (2013).

Synchronous parallel methods distribute the workload and data among multiple processors, and coordinate the computation among processors. Ferris and Mangasarian (1994) proposed to distribute variables among multiple processors and optimize concurrently over each subset. The synchronization step searches the affine hull formed by the current iterate and the points found by each processor. Similar ideas appeared in (Mangasarian, 1995), with a different synchronization step. Goldfarb and Ma (2012) considered a multiple splitting algorithm for functions of the form f(x)=k=1Nfk(x)f(x)=\sum_{k=1}^{N}f_{k}(x) in which NN models are optimized separately and concurrently, then combined in an synchronization step. The alternating direction method-of-multiplier (ADMM) framework (Boyd et al., 2011) can also be implemented in parallel. This approach dissects the problem into multiple subproblems (possibly after replication of primal variables) and optimizes concurrently, then synchronizes to update multiplier estimates. Duchi et al. (2012) described a subgradient dual-averaging algorithm for partially separable objectives, with subgradient evaluations distributed between cores and combined in ways that reflect the structure of the objective. Parallel stochastic gradient approaches have received broad attention; see Agarwal and Duchi (2011) for an approach that allows delays between evaluation and update, and Cotter et al. (2011) for a minibatch stochastic gradient approach with Nesterov acceleration. Shalev-Shwartz and Zhang (2013) proposed an accelerated stochastic dual coordinate ascent method.

Among synchronous parallel methods for (block) coordinate descent, Richtárik and Takáč (2012b) described a method of this type for convex composite optimization problems. All processors update randomly selected coordinates or blocks, concurrently and synchronously, at each iteration. Speedup depends on the sparsity of the data matrix that defines the loss functions. Several variants that select blocks greedily are considered by Scherrer et al. (2012) and Peng et al. (2013). Yang (2013) studied the parallel stochastic dual coordinate ascent method and emphasized the balance between computation and communication.

We turn now to asynchronous parallel methods. Bertsekas and Tsitsiklis (1989) introduced an asynchronous parallel implementation for general fixed point problems x=q(x)x=q(x) over a separable convex closed feasible region. (The optimization problem (1) can be formulated in this way by defining q(x):=PΩ[(Iαf)(x)]q(x):=\mathcal{P}_{\Omega}[(I-\alpha\nabla f)(x)] for some fixed α>0\alpha>0.) Their analysis allows inconsistent reads for xx, that is, the coordinates of the read xx have different “ages.” Linear convergence is established if all ages are bounded and 2f(x)\nabla^{2}f(x) satisfies a diagonal dominance condition guaranteeing that the iteration x=q(x)x=q(x) is a maximum-norm contraction mapping for sufficient small α\alpha. However, this condition is strong — stronger, in fact, than the strong convexity condition. For convex quadratic optimization f(x)=12xTAx+bxf(x)={1\over 2}x^{T}Ax+bx, the contraction condition requires diagonal dominance of the Hessian: Aii>ijAijA_{ii}>\sum_{i\neq j}|A_{ij}| for all i=1,2,,ni=1,2,\dotsc,n. By comparison, AsySCD guarantees linear convergence rate under the essential strong convexity condition (3), though we do not allow inconsistent read. (We require the vector xx used for each evaluation of if(x)\nabla_{i}f(x) to have existed at a certain point in time.)

Hogwild! (Niu et al., 2011) is a lock-free, asynchronous parallel implementation of a stochastic-gradient method, targeted to a multicore computational model similar to the one considered here. Its analysis assumes consistent reading of xx, and it is implemented without locking or coordination between processors. Under certain conditions, convergence of Hogwild! approximately matches the sublinear 1/K1/K rate of its serial counterpart, which is the constant-steplength stochastic gradient method analyzed in Nemirovski et al. (2009).

We also note recent work by Avron et al. (2014), who proposed an asynchronous linear solver to solve Ax=bAx=b where AA is a symmetric positive definite matrix, proving a linear convergence rate. Both inconsistent- and consistent-read cases are analyzed in this paper, with the convergence result for inconsistent read being slightly weaker.

The AsySCD algorithm described in this paper was extended to solve the composite objective function consisting of a smooth convex function plus a separable convex function in a later work (Liu and Wright, 2014), which pays particular attention to the inconsistent-read case.

Algorithm

In AsySCD, multiple processors have access to a shared data structure for the vector xx, and each processor is able to compute a randomly chosen element of the gradient vector f(x)\nabla f(x). Each processor repeatedly runs the following coordinate descent process (the steplength parameter γ\gamma is discussed further in the next section):

Choose an index i{1,2,,n}i\in\{1,2,\dotsc,n\} at random, read xx, and evaluate if(x)\nabla_{i}f(x);

Update component ii of the shared xx by taking a step of length γ/Lmax\gamma/L_{\max} in the direction if(x)-\nabla_{i}f(x).

Since these processors are being run concurrently and without synchronization, xx may change between the time at which it is read (in step R) and the time at which it is updated (step U). We capture the system-wide behavior of AsySCD in Algorithm 1. There is a global counter jj for the total number of updates; xjx_{j} denotes the state of xx after jj updates. The index i(j){1,2,,n}i(j)\in\{1,2,\dotsc,n\} denotes the component updated at step jj. k(j)k(j) denotes the xx-iterate at which the update applied at iteration jj was calculated. Obviously, we have k(j)jk(j)\leq j, but we assume that the delay between the time of evaluation and updating is bounded uniformly by a positive integer τ\tau, that is, jk(j)τj-k(j)\leq\tau for all jj. The value of τ\tau captures the essential parallelism in the method, as it indicates the number of processors that are involved in the computation.

The projection operation PΩP_{\Omega} onto the feasible set is not needed in the case of unconstrained optimization. For separable constraints (2), it requires a simple clipping operation on the i(j)i(j) component of xx.

We note several differences with earlier asynchronous approaches. Unlike the asynchronous scheme in Bertsekas and Tsitsiklis (1989, Section 6.1), the latest value of xx is updated at each step, not an earlier iterate. Although our model of computation is similar to Hogwild! (Niu et al., 2011), the algorithm differs in that each iteration of AsySCD evaluates a single component of the gradient exactly, while Hogwild! computes only a (usually crude) estimate of the full gradient. Our analysis of AsySCD below is comprehensively different from that of Niu et al. (2011), and we obtain stronger convergence results.

Unconstrained Smooth Convex Case

A crucial issue in AsySCD is the choice of steplength parameter γ\gamma. This choice involves a tradeoff: We would like γ\gamma to be long enough that significant progress is made at each step, but not so long that the gradient information computed at step k(j)k(j) is stale and irrelevant by the time the update is applied at step jj. We enforce this tradeoff by means of a bound on the ratio of expected squared norms on f\nabla f at successive iterates; specifically,

where ρ>1\rho>1 is a user defined parameter. The analysis becomes a delicate balancing act in the choice of ρ\rho and steplength γ\gamma between aggression and excessive conservatism. We find, however, that these values can be chosen to ensure steady convergence for the asynchronous method at a linear rate, with rate constants that are almost consistent with vanilla short-step full-gradient descent.

We use the following assumption in some of the results of this section.

Note that this assumption is not needed in our convergence results in the case of strongly convex functions. in our theorems below, it is invoked only when considering general convex functions.

Suppose that the steplength parameter γ>0\gamma>0 satisfies the following three upper bounds:

Moreover, if the essentially strong convexity property (3) holds with l>0l>0, we have

For general smooth convex functions ff, assuming additionally that Assumption 1 holds, we have

This theorem demonstrates linear convergence (9) for AsySCD in the unconstrained essentially strongly convex case. This result is better than that obtained for Hogwild! (Niu et al., 2011), which guarantees only sublinear convergence under the stronger assumption of strict convexity.

The following corollary proposes an interesting particular choice of the parameters for which the convergence expressions become more comprehensible. The result requires a condition on the delay bound τ\tau in terms of nn and the ratio Lmax/L\mboxresL_{\max}/L_{\mbox{\rm\scriptsize res}}.

define ψ\psi by (6), and set γ=1/ψ\gamma=1/\psi, we have for the essentially strongly convex case (3) with l>0l>0 that

For the case of general convex ff, if we assume additionally that Assumption 1 is satisfied, we have

We note that the linear rate (13) is broadly consistent with the linear rate for the classical steepest descent method applied to strongly convex functions, which has a rate constant of (12l/L)(1-2l/L), where LL is the standard Lipschitz constant for f\nabla f. If we assume (not unreasonably) that nn steps of stochastic coordinate descent cost roughly the same as one step of steepest descent, and note from (13) that nn steps of stochastic coordinate descent would achieve a reduction factor of about (1l/(2Lmax))(1-l/(2L_{\max})), a standard argument would suggest that stochastic coordinate descent would require about 4Lmax/L4L_{\max}/L times more computation. (Note that Lmax/L[1/n,1]L_{\max}/L\in[1/n,1].) The stochastic approach may gain an advantage from the parallel implementation, however. Steepest descent requires synchronization and careful division of gradient evaluations, whereas the stochastic approach can be implemented in an asynchronous fashion.

For the general convex case, (14) defines a sublinear rate, whose relationship with the rate of the steepest descent for general convex optimization is similar to the previous paragraph.

As noted in Section 1, the parameter τ\tau is closely related to the number of cores that can be involved in the computation, without degrading the convergence performance of the algorithm. In other words, if the number of cores is small enough such that (11) holds, the convergence expressions (13), (14) do not depend on the number of cores, implying that linear speedup can be expected. A small value for the ratio L\mboxres/LmaxL_{\mbox{\rm\scriptsize res}}/L_{\max} (not much greater than 11) implies a greater degree of potential parallelism. As we note at the end of Section 1, this ratio tends to be small in some important applications — a situation that would allow O(n)O(\sqrt{n}) cores to be used with near-linear speedup.

We conclude this section with a high-probability estimate for convergence of the sequence of function values.

Suppose that the assumptions of Corollary 2 hold, including the definitions of ρ\rho and ψ\psi. Then for any ϵ(0,f(x0)f)\epsilon\in(0,f(x_{0})-f^{*}) and η(0,1)\eta\in(0,1), we have that

provided that either of the following sufficient conditions hold for the index jj. In the essentially strongly convex case (3) with l>0l>0, it suffices to have

For the general convex case, if we assume additionally that Assumption 1 holds, a sufficient condition is

Constrained Smooth Convex Case

This section considers the case of separable constraints (2). We show results about convergence rates and high-probability complexity estimates, analogous to those of the previous section. Proofs appear in Appendix B.

As in the unconstrained case, the steplength γ\gamma should be chosen to ensure steady progress while ensuring that update information does not become too stale. Because constraints are present, the ratio (5) is no longer appropriate. We use instead a ratio of squares of expected differences in successive primal iterates:

where xˉj+1\bar{x}_{j+1} is the hypothesized full update obtained by applying the single-component update to every component of xjx_{j}, that is,

which is evidently related to (5), but not identical.

We have the following result concerning convergence of the expected error to zero.

Suppose that Ω\Omega has the form (2) and that n5n\geq 5. Let ρ\rho be a constant with ρ>(12/n)1\rho>\left(1-2/\sqrt{n}\right)^{-1}, and define the quantity ψ\psi as follows:

Suppose that the steplength parameter γ>0\gamma>0 satisfies the following two upper bounds:

If the essential strong convexity property (3) holds with l>0l>0, we have for j=1,2,j=1,2,\dotsc that

where R0R_{0} is defined in (4). For general smooth convex function ff, we have

Similarly to the unconstrained case, the following corollary proposes an interesting particular choice for the parameters for which the convergence expressions become more comprehensible. The result requires a condition on the delay bound τ\tau in terms of nn and the ratio Lmax/L\mboxresL_{\max}/L_{\mbox{\rm\scriptsize res}}.

Suppose that τ1\tau\geq 1 and n5n\geq 5 and that

then the steplength γ=1/2\gamma=1/2 will satisfy the bounds (21). In addition, for the essentially strongly convex case (3) with l>0l>0, we have for j=1,2,j=1,2,\dotsc that

while for the case of general convex ff, we have

Similarly to Section 4, and provided τ\tau satisfies (25), the convergence rate is not affected appreciably by the delay bound τ\tau, and near-linear speedup can be expected for multicore implementations when (25) holds. This condition is more restrictive than (11) in the unconstrained case, but still holds in many problems for interesting values of τ\tau. When L\mboxres/LmaxL_{\mbox{\rm\scriptsize res}}/L_{\max} is bounded independently of dimension, the maximal number of cores allowed is of the the order of n1/4n^{1/4}, which is smaller than the O(n1/2)O(n^{1/2}) value obtained for the unconstrained case.

We conclude this section with another high-probability bound, whose proof tracks that of Theorem 3.

Suppose that the conditions of Corollary 5 hold, including the definitions of ρ\rho and ψ\psi. Then for ϵ>0\epsilon>0 and η(0,1)\eta\in(0,1), we have that

provided that one of the following conditions holds: In the essentially strongly convex case (3) with l>0l>0, we require

while in the general convex case, it suffices that

Experiments

We illustrate the behavior of two variants of the stochastic coordinate descent approach on test problems constructed from several data sets. Our interests are in the efficiency of multicore implementations (by comparison with a single-threaded implementation) and in performance relative to alternative solvers for the same problems.

Our implementation of AsySCD is called DIMM-WITTED (or DW for short). It runs on various numbers of threads, from 1 to 40, each thread assigned to a single core in our 40-core Intel Xeon architecture. Cores on the Xeon architecture are arranged into four sockets — ten cores per socket, with each socket having its own memory. Non-uniform memory access (NUMA) means that memory accesses to local memory (on the same socket as the core) are less expensive than accesses to memory on another socket. In our DW implementation, we assign each socket an equal-sized “slice” of QQ, a row submatrix. The components of xx are partitioned between cores, each core being responsible for updating its own partition of xx (though it can read the components of xx from other cores). The components of xx assigned to the cores correspond to the rows of QQ assigned to that core’s socket. Computation is grouped into “epochs,” where an epoch is defined to be the period of computation during which each component of xx is updated exactly once. We use the parameter pp to denote the number of epochs that are executed between reordering (shuffling) of the coordinates of xx. We investigate both shuffling after every epoch (p=1p=1) and after every tenth epoch (p=10p=10). Access to xx is lock-free, and updates are performed asynchronously. This update scheme does not implement exactly the “sampling with replacement” scheme analyzed in previous sections, but can be viewed as a high performance, practical adaptation of the AsySCD method.

To do each coordinate descent update, a thread must read the latest value of xx. Most components are already in the cache for that core, so that it only needs to fetch those components recently changed. When a thread writes to xix_{i}, the hardware ensures that this xix_{i} is simultaneously removed from other cores, signaling that they must fetch the updated version before proceeding with their respective computations.

Although DW is not a precise implementation of AsySCD, it largely achieves the consistent-read condition that is assumed by the analysis. Inconsistent read happens on a core only if the following three conditions are satisfied simultaneously:

A core does not finish reading recently changed coordinates of xx (note that it needs to read no more than τ\tau coordinates);

Among these recently changed coordinates, modifications take place both to coordinates that have been read and that are still to be read by this core;

Modification of the already-read coordinates happens earlier than the modification of the still-unread coordinates.

Inconsistent read will occur only if at least two coordinates of xx are modified twice during a stretch of approximately τ\tau updates to xx (that is, iterations of Algorithm 1). For the DW implementation, inconsistent read would require repeated updating of a particular component in a stretch of approximately τ\tau iterations that straddles two epochs. This event would be rare, for typical values of nn and τ\tau. Of course, one can avoid the inconsistent read issue altogether by changing the shuffling rule slightly, enforcing the requirement that no coordinate can be modified twice in a span of τ\tau iterations. From the practical perspective, this change does not improve performance, and detracts from the simplicity of the approach. From the theoretical perspective, however, the analysis for the inconsistent-read model would be interesting and meaningful, and we plan to study this topic in future work.

The first test problem QP is an unconstrained, regularized least squares problem constructed with synthetic data. It has the form

Our second problem QPc is a bound-constrained version of (29):

Our third and fourth problems are quadratic penalty functions for linear programming relaxations of vertex cover problems on large graphs. The vertex cover problem for an undirected graph with edge set EE and vertex set VV can be written as a binary linear program:

By relaxing each binary constraint to the interval $$, introducing slack variables for the cover inequalities, we obtain a problem of the form

for n=V+En=|V|+|E|. The test problem (31) is a regularized quadratic penalty reformulation of this linear program for some penalty parameter β\beta:

with β=5\beta=5. Two test data sets Amazon and DBLP have dimensions n=561050n=561050 and n=520891n=520891, respectively.

We tracked the behavior of the residual as a function of the number of epochs, when executed on different numbers of cores. Figure 1 shows convergence behavior for each of our four test problems on various numbers of cores with two different shuffling periods: p=1p=1 and p=10p=10. We note the following points.

The total amount of computation to achieve any level of precision appears to be almost independent of the number of cores, at least up to 40 cores. In this respect, the performance of the algorithm does not change appreciably as the number of cores is increased. Thus, any deviation from linear speedup is due not to degradation of convergence speed in the algorithm but rather to systems issues in the implementation.

When we reshuffle after every epoch (p=1p=1), convergence is slightly faster in synthetic unconstrained QP but slightly slower in Amazon and DBLP than when we do occasional reshuffling (p=10p=10). Overall, the convergence rates with different shuffling periods are comparable in the sense of epochs. However, when the dimension of the variable is large, the shuffling operation becomes expensive, so we would recommend using a large value for pp for large-dimensional problems.

Results for speedup on multicore implementations are shown in Figures 2 and 3 for DW with p=10p=10. Speedup is defined as follows:

Near-linear speedup can be observed for the two QP problems with synthetic data. For Problems 3 and 4, speedup is at most 12-14; there are few gains when the number of cores exceeds about 12. We believe that the degradation is due mostly to memory contention. Although these problems have high dimension, the matrix QQ is very sparse (in contrast to the dense QQ for the synthetic data set). Thus, the ratio of computation to data movement / memory access is much lower for these problems, making memory contention effects more significant.

Figures 2 and 3 also show results of a global-locking strategy for the parallel stochastic coordinate descent method, in which the vector xx is locked by a core whenever it performs a read or update. The performance curve for this strategy hugs the horizontal axis; it is not competitive.

Wall clock times required for the four test problems on 11 and 4040 cores, to reduce residuals below 10510^{-5} are shown in Table 1. (Similar speedups are noted when we use a convergence tolerance looser than 10510^{-5}.)

All problems reported on above are essentially strongly convex. Similar speedup properties can be obtained in the weakly convex case as well. We show speedups for the QPc problem with α=0\alpha=0. Table 2 demonstrates similar speedup to the essentially strongly convex case shown in Figure 2.

Turning now to comparisons between AsySCD and alternative algorithms, we start by considering the basic gradient descent method. We implement gradient descent in a parallel, synchronous fashion, distributing the gradient computation load on multiple cores and updating the variable xx in parallel at each step. The resulting implementation is called SynGD. Table 3 reports running time and speedup of both AsySCD over SynGD, showing a clear advantage for AsySCD. A high price is paid for the synchronization requirement in SynGD.

Next we compare AsySCD to LIBSVM (Chang and Lin, 2011) a popular multi-thread parallel solver for kernel support vector machines (SVM). Both algorithms are run on 40 cores to solve the dual formulation of kernel SVM, without an intercept term. All data sets used in 4 except reuters were obtained from the LIBSVM dataset repositoryhttp://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/. The dataset reuters is a sparse binary text classification dataset constructed as a one-versus-all version of Reuters-2159http://www.daviddlewis.com/resources/testcollections/reuters21578/. Our comparisons, shown in Table 4, indicate that AsySCD outperforms LIBSVM on these test sets.

Extension

The AsySCD algorithm can be extended by partitioning the coordinates into blocks, and modifying Algorithm 1 to work with these blocks rather than with single coordinates. If LiL_{i}, LmaxL_{\max}, and L\mboxresL_{\mbox{\rm\scriptsize res}} are defined in the block sense, as follows:

Conclusion

This paper proposes an asynchronous parallel stochastic coordinate descent algorithm for minimizing convex objectives, in the unconstrained and separable-constrained cases. Sublinear convergence (at rate 1/K1/K) is proved for general convex functions, with stronger linear convergence results for functions that satisfy an essential strong convexity property. Our analysis indicates the extent to which parallel implementations can be expected to yield near-linear speedup, in terms of a parameter that quantifies the cross-coordinate interactions in the gradient f\nabla f and a parameter τ\tau that bounds the delay in updating. Our computational experience confirms the theory.

This project is supported by NSF Grants DMS-0914524, DMS-1216318, and CCF-1356918; NSF CAREER Award IIS-1353606; ONR Awards N00014-13-1-0129 and N00014-12-1-0041; AFOSR Award FA9550-13-1-0138; a Sloan Research Fellowship; and grants from Oracle, Google, and ExxonMobil.

A Proofs for Unconstrained Case

This section contains convergence proofs for AsySCD in the unconstrained case.

We start with a technical result, then move to the proofs of the three main results of Section 4.

If the essential strong convexity property (3) holds, we have

Proof The first inequality is proved as follows:

For the second bound, we have from the definition (3), setting yxy\leftarrow x and xPS(x)x\leftarrow\mathcal{P}_{S}(x), that

Proof (Theorem 1) We prove each of the two inequalities in (8) by induction. We start with the left-hand inequality. For all values of jj, we have

We can use this bound to show that the left-hand inequality in (8) holds for j=0j=0. By setting j=0j=0 in (32) and noting that k(0)=0k(0)=0, we obtain

provided that 0jk(j)τ0\leq j-k(j)\leq\tau, as assumed. By substituting into the right-hand side of (32) again, and using ρ>1\rho>1, we obtain

By substituting (7b) we conclude that the left-hand inequality in (8) holds for all jj.

We now work on the right-hand inequality in (8). For all jj, we have the following:

where the last inequality is from the observation γ1\gamma\leq 1. By setting j=0j=0 in this bound, and noting that k(0)=0k(0)=0, we obtain

provided that 0jk(j)τ0\leq j-k(j)\leq\tau, as assumed. From (34) and the left-hand inequality in (8), we have by substituting this bound that

At this point, we have shown that both inequalities in (8) are satisfied for all jj.

Next we prove (9) and (10). Take the expectation of f(xj+1)f(x_{j+1}) in terms of i(j)i(j):

The second term T1T_{1} is caused by delay. If there is no delay, T1T_{1} should be because of f(xj)=f(xk(j))\nabla f(x_{j})=\nabla f(x_{k(j)}). We estimate the upper bound of f(xk(j))f(xj)\|\nabla f(x_{k(j)})-\nabla f(x_{j})\|:

where the second line uses (38), and the final inequality uses the fact for dd between k(j)k(j) and j1j-1, k(d)k(d) lies in the range k(j)τk(j)-\tau and j1j-1, so we have k(d)k(j)τ|k(d)-k(j)|\leq\tau for all dd.

Taking expectation on both sides of (37) in terms of all random variables, together with (39), we obtain

from which the linear convergence claim (9) follows by an obvious induction.

which completes the proof of the sublinear rate (10).

Proof (Corollary 2) Note first that for ρ\rho defined by (12), we have

and thus from the definition of ψ\psi (6) that

We show now that the steplength parameter choice γ=1/ψ\gamma=1/\psi satisfies all the bounds in (7), by showing that the second and third bounds are implied by the first. For the second bound (7b), we have

where the second inequality follows from (12). To verify that the right hand side of the third bound (7c) is greater than 1/ψ1/\psi, we consider the cases τ=0\tau=0 and τ1\tau\geq 1 separately. For τ=0\tau=0, we have ψ=1\psi=1 from (6) and

where the first inequality is from (11). For the other case τ1\tau\geq 1, we have

We can thus set γ=1/ψ\gamma=1/\psi, and by substituting this choice into (9) and using (41), we obtain (13). We obtain (14) by making the same substitution into (10).

Proof (Theorem 3) From Markov’s inequality, we have

where the second inequality applies (13), the third inequality uses the definition of jj (16), and the second last inequality uses the inequality (1c)1/ce1 c(0,1)(1-c)^{1/c}\leq e^{-1}~{}\forall\,c\in(0,1), which proves the essentially strongly convex case. Similarly, the general convex case is proven by

where the second inequality uses (14) and the last inequality uses the definition of jj (17).

B Proofs for Constrained Case

We start by introducing notation and proving several preliminary results. Define

and formulate the update in Step 4 of Algorithm 1 in the following way:

(Note that (xj+1)i=(xj)i(x_{j+1})_{i}=(x_{j})_{i} for ii(j)i\neq i(j).) The optimality condition for this formulation is

This implies in particular that for all xΩx\in\Omega, we have

From the definition of LmaxL_{\max}, and using the notation (42), we have

From optimality conditions for the problem (19), which defines the vector xˉj+1\bar{x}_{j+1}, we have

We now define Δj:=xjxˉj+1\Delta_{j}:=x_{j}-\bar{x}_{j+1}, and note that this definition is consistent with (Δ)i(j)(\Delta)_{i(j)} defined in (42). It can be seen that

We now proceed to prove the main results of Section 5.

Proof (Theorem 4) We prove (22) by induction. First, note that for any vectors aa and bb, we have

The second factor in the r.h.s. of (46) is bounded as follows:

where the first inequality follows by adding and subtracting a term, and the second inequality uses the nonexpansive property of projection:

One can see that j1τk(j1)j1j-1-\tau\leq k(j-1)\leq j-1 and jτk(j)jj-\tau\leq k(j)\leq j, which implies that j1τdj1j-1-\tau\leq d\leq j-1 for each index dd in the summation in (47). It also follows that

We set j=1j=1, and note that k(0)=0k(0)=0 and k(1)1k(1)\leq 1. Thus, in this case, we have that the lower and upper limits of the summation in (47) are and , respectively. Thus, this summation is vacuous, and we have

By substituting this bound in (46) and setting j=1j=1, we obtain

To see the last inequality above, we only need to verify that

To take the inductive step, we assume that (22) holds up to index j1j-1. We have for j1τdj2j-1-\tau\leq d\leq j-2 that

where the second inequality uses the inductive hypothesis. By substituting (47) into (46) and taking expectation on both sides of (46), we obtain

where the last line uses (48), (50), and (51). It follows that

To see the last inequality, one only needs to verify that

and the last inequality is true because of the upper bound of γ\gamma in (21). It proves (22).

Next we will show the expectation of objective is monotonically decreasing. We have using the definition (42) that

where the second inequality uses (45). Consider the expectation of the last term on the right-hand side of this expression. We have

where the fifth inequality uses (22). By taking expectation on both sides of (52) and substituting (53), we have

To see (1γ12)LmaxL\mboxresτρτn1/20\left({\frac{1}{\gamma}-\frac{1}{2}}\right)L_{\max}-{L_{\mbox{\rm\scriptsize res}}\tau\rho^{\tau}\over n^{1/2}}\geq 0, we only need to verify

Next we prove the sublinear convergence rate for the constrained smooth convex case in (24). We have

where the last inequality uses (43). We bound the last term in (54) by

We now seek upper bounds on the quantities T1T_{1} and T2T_{2} in the expectation sense. For T1T_{1}, we have

where the first inequality uses the convexity of f(x)f(x):

where the second last inequality uses (22).

which follows from the definition (20) of ψ\psi and from the first upper bound on γ\gamma in (21). It follows that

where the second inequality follows by applying induction to the inequality

This completes the proof of the sublinear convergence rate (24).

Finally, we prove the linear convergence rate (23) for the essentially strongly convex case. All bounds proven above hold, and we make use of the following additional property:

due to feasibility of xjx_{j} and f(PS(xj)),xjPS(xj)0\langle\nabla f(\mathcal{P}_{S}(x_{j})),x_{j}-\mathcal{P}_{S}(x_{j})\rangle\geq 0. By using this result together with some elementary manipulation, we obtain

By taking the expectation of both sides in (61) and substituting in the last term of (62), we obtain

Proof (Corollary 5) To apply Theorem 4, we first show ρ>(12n)1\rho>\left(1-{2\over\sqrt{n}}\right)^{-1}. Using the bound (25), together with L\mboxres/Lmax1L_{\mbox{\rm\scriptsize res}}/L_{\max}\geq 1, we obtain

where the last inequality uses τ1\tau\geq 1. Note that for ρ\rho defined by (26), and using (25), we have

Thus from the definition of ψ\psi (20), we have that

(The second last inequality uses n5n\geq 5 and τ1\tau\geq 1.) Thus, the steplength parameter choice γ=1/2\gamma=1/2 satisfies the first bound in (21). To show that the second bound in (21) holds also, we have

We can thus set γ=1/2\gamma=1/2, and by substituting this choice into (23), we obtain (27). We obtain (28) by making the same substitution into (24).

References