Asynchronous Parallel Methods for Optimization and Linear Algebra - - PowerPoint PPT Presentation

asynchronous parallel methods for optimization and linear
SMART_READER_LITE
LIVE PREVIEW

Asynchronous Parallel Methods for Optimization and Linear Algebra - - PowerPoint PPT Presentation

Asynchronous Parallel Methods for Optimization and Linear Algebra Stephen Wright University of Wisconsin-Madison Workshop on Optimization for Modern Computation, Beijing, September 2014 Wright (UW-Madison) Asynchronous Stochastic Optimization


slide-1
SLIDE 1

Asynchronous Parallel Methods for Optimization and Linear Algebra

Stephen Wright

University of Wisconsin-Madison

Workshop on Optimization for Modern Computation, Beijing, September 2014

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 1 / 44

slide-2
SLIDE 2

Collaborators

Ji Liu (UW-Madison → U. Rochester) Victor Bittorf (UW-Madison → Cloudera) Chris R´ e (UW-Madison → Stanford) Krishna Sridhar (UW-Madison → GraphLab)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 2 / 44

slide-3
SLIDE 3

1

Asynchronous Random Kaczmarz

2

Asynchronous Parallel Stochastic Proximal Coordinate Descent Algorithm with Inconsistent Read (AsySPCD)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 3 / 44

slide-4
SLIDE 4

Motivation

Why study old, slow, simple algorithms? Often suitable for machine learning and big-data applications.

Low accuracy required; Favorable data access patterns.

Parallel asynchronous versions are a good fit for modern computers (multicore, NUMA, clusters). (Fairly) easy to implement. Interesting new analysis, tied to plausible models of parallel computation and data access.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 4 / 44

slide-5
SLIDE 5

Asynchronous Parallel Optimization

Figure: Asynchronous parallel setup used in Hogwild! [Niu, Recht, R´ e, and Wright, 2011]

RAM (Shared Memory) “X” Core Core Core Core Cache Core Core Core Core Cache

…...

Read “X”; Compute gradient at “X” Update “X” in RAM

All cores share the same memory, containing the variable x; All cores run the same optimization algorithm independently; All cores update the coordinates of x concurrently without any software locking. We use the same model of computation in this talk.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 5 / 44

slide-6
SLIDE 6

1

Asynchronous Random Kaczmarz

2

Asynchronous Parallel Stochastic Proximal Coordinate Descent Algorithm with Inconsistent Read (AsySPCD)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 6 / 44

slide-7
SLIDE 7
  • 1. Kaczmarz for Ax = b.

Consider linear equations Ax = b, where the equations are consistent and matrix A is m × n, not necessarily square or full rank. Write A =      aT

i

aT

2

. . . aT

m

     , where ai2 = 1, ∀i (normalized rows). Iteration j of Randomized Kaczmarz: Select row index i(j) ∈ {1, 2, . . . , m} randomly with equal probability. Set xj+1 ← xj − (aT

i(j)xj − bi(j))ai(j).

Project x onto the plane of equation i(j).

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 7 / 44

slide-8
SLIDE 8

Relationship to Stochastic Gradient

Randomized Kaczmarz ≡ Stochastic Gradient applied to f (x) := 1 2m

m

  • i=1

(aT

i x − bi)2 = 1

2mAx − b2

2 = 1

m

m

  • i=1

fi(x) with steplength αk ≡ 1. However, it is a special case of SG, since the individual gradient estimates ∇fi(x) = ai(aT

i x − bi)

approach zero as x → x∗. (The “variance” in the gradient estimate shrinks to zero.)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 8 / 44

slide-9
SLIDE 9

Randomized Kaczmarz Convergence: Linear Rate

Recall that A is scaled: ai = 1 for all i. λmin,nz denotes minimum nonzero eigenvalue of ATA. P(·) is projection onto solution set. 1 2xj+1 − P(xj+1)2 ≤ 1 2xj − ai(j)(aT

i(j)xj − bi(j)) − P(xj)2

= 1 2xj − P(xj)2 − 1 2(aT

i(j)xj − bi(j))2.

Taking expectations: E 1 2xj+1 − P(xj+1)2 | xj

  • ≤ 1

2xj − P(xj)2 − 1 2E

  • (aT

i(j)xj − bi(j))2

= 1 2xj − P(xj)2 − 1 2mAxj − b2 ≤

  • 1 − λmin,nz

m 1 2xj − P(xj)2. Strohmer and Vershynin (2009)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 9 / 44

slide-10
SLIDE 10

Asynchronous Random Kaczmarz (Liu, Wright, 2014)

Assumes that x is stored in shared memory, accessible to all cores. Each core runs a simple process, repeating indefinitely: Choose index i ∈ {1, 2, . . . , m} uniformly at random; Choose component t ∈ supp(ai) uniformly at random; Read the supp(ai)-components of x (from shared memory), needed to evaluate aT

i x;

Update the t component of x: (x)t ← (x)t − γai0(ai)t(aT

i x − bi)

for some step size γ (a unitary operation); Note that x can be updated by other cores between the time it is read and the time that the update is performed. Differs from Randomized Kaczmarz in that each update is using outdated information and we update just a single component of x (in theory).

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 10 / 44

slide-11
SLIDE 11

AsyRK: Global View

From a “central” viewpoint, aggregating the actions of the individual cores, we have the following: At each iteration j: Select i(j) from {1, 2, . . . , m} with equal probability; Select t(j) from the support of ai(j) with equal probability; Update component t(j): xj+1 = xj − γai(j)0(aT

i(j)xk(j) − bi(j))Et(j)ai(j),

where k(j) is some iterate prior to j but no more than τ cycles old: j − k(j) ≤ τ; Et is the n × n matrix of all zeros, except for 1 in the (t, t) location. If all computational cores are roughly the same speed, we can think of the delay τ as being similar to the number of cores.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 11 / 44

slide-12
SLIDE 12

Consistent Reading

Assumes consistent reading, that is, the xk(j) used to evaluate the residual is an x that actually existed at some point in the shared memory. (This condition may be violated if two or more updates happen to the supp(ai(j))-components of x while they are being read.) When the vectors ai are sparse, inconsistency is not too frequent. More on this later!

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 12 / 44

slide-13
SLIDE 13

AsyRK Analysis: A Key Element

Key parameters: µ := maxi=1,2,...,m ai0 (maximum nonzero row count); α := maxi,t ai0AEtai ≤ µA; λmax = max eigenvalue of ATA. Idea of analysis: Choose some ρ > 1 and choose steplength γ small enough that ρ−1E(Axj − b2) ≤ E(Axj+1 − b2) ≤ ρE(Axj − b2). Not too much change to the residual at each iteration. Hence, don’t pay too much of a price for using outdated information. But don’t want γ to be too tiny, otherwise overall progress is too slow. Strike a balance!

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 13 / 44

slide-14
SLIDE 14

Main Theorem

Theorem

Choose any ρ > 1 and define γ via the following:

ψ = µ + 2λmaxτρτ m γ ≤ min

  • 1

ψ , m(ρ − 1) 2λmaxρτ+1 , m

  • ρ − 1

ρτ(mα2 + λ2

maxτρτ)

  • Then have

ρ−1E(Axj − b2) ≤ E(Axj+1 − b2) ≤ ρE(Axj − b2) E(xj+1 − P(xj+1)2) ≤

  • 1 − λmin,nzγ

mµ (2 − γψ)

  • E(xj − P(xj)2),

A particular choice of ρ leads to simplified results, in a reasonable regime.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 14 / 44

slide-15
SLIDE 15

A Particular Choice

Corollary

Assume 2eλmax(τ + 1) ≤ m and set ρ = 1 + 2eλmax/m. Can show that γ = 1/ψ for this case, so expected convergence is E(xj+1 − P(xj+1)2) ≤

  • 1 −

λmin,nz m(µ + 1)

  • E(xj − P(xj)2).

In the regime 2eλmax(τ + 1) ≤ m considered here the delay τ doesn’t really interfere with convergence rate. In this regime, speedup is linear in the number of cores!

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 15 / 44

slide-16
SLIDE 16

Discussion

Rate is consistent with serial randomized Kaczmarz: extra factor of 1/(µ + 1) arises because we update just one component in x, not all the components in ai(j). For random matrices A with unit rows, we have λmax ≈ (1 + O(m/n)), with high probability, so that τ can be O(m) without compromising linear speedup. Conditions on τ are less strict than for asynchronous random algorithms for optimization problems. (Typically τ = O(n1/4) or τ = O(n1/2) for coordinate descent methods.) See below....

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 16 / 44

slide-17
SLIDE 17

AsyRK: Near-Linear Speedup

Run on an Intel Xeon 40-core machine. Used one socket — 10 cores). Diverges a bit from the analysis: We update all components of x for ai(j) (not just one); We use sampling without replacement to work through the rows of A, reordering after each “epoch” Sparse Gaussian random matrix A ∈ Rm×n with m = 100000 and n = 80000, sparsity δ = .001. See linear speedup.

50 100 150 200 250 300 350 400 10

−8

10

−6

10

−4

10

−2

10

m = 80000 n = 100000 sparsity = 0.001 # epochs residual thread= 1 thread= 2 thread= 4 thread= 8 thread=10

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

m = 80000 n = 100000 sparsity = 0.001 threads speedup Ideal AsyRK Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 17 / 44

slide-18
SLIDE 18

AsyRK: Near-Linear Speedup

Sparse Gaussian random matrix A ∈ Rm×n with m = 100000 and n = 80000, sparsity δ = .003. See slight dropoff from linear speedup for this slightly less-sparse problem.

50 100 150 200 250 300 350 10

−6

10

−5

10

−4

10

−3

10

−2

10

−1

10 10

1

m = 80000 n = 100000 sparsity = 0.003 # epochs residual thread= 1 thread= 2 thread= 4 thread= 8 thread=10

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

m = 80000 n = 100000 sparsity = 0.003 threads speedup Ideal AsyRK

(Runtime: 18.4 seconds on 10 cores.)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 18 / 44

slide-19
SLIDE 19

RK vs Conjugate Gradient

We compare serial implementations of RK and CG. (The benefits of multicore implementation are similar for both.) Random A, δ = .1.

0.5 1 1.5 2 2.5 3 x 10

8

10

−8

10

−6

10

−4

10

−2

10

m=1000, n=500, λmin(ATA)=0.06937, λmax(ATA)=6.156

# of Operations ||Ax−b|| CG RK

0.5 1 1.5 2 2.5 3 x 10

8

10

−14

10

−12

10

−10

10

−8

10

−6

10

−4

10

−2

10

m=2000, n=500, λmin(ATA)=0.5616, λmax(ATA)=10.7

# of Operations ||Ax−b|| CG RK

CG does better in the more ill-conditioned case, probably due to nice distribution of dominant eigenvalues of ATA. (Note slower convergence in later stages.) RK is competitive in the well-conditioned case.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 19 / 44

slide-20
SLIDE 20

1

Asynchronous Random Kaczmarz

2

Asynchronous Parallel Stochastic Proximal Coordinate Descent Algorithm with Inconsistent Read (AsySPCD)

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 20 / 44

slide-21
SLIDE 21
  • 2. Asynchronous Parallel Stochastic Proximal Coordinate

Descent Algorithm (AsySPCD)

min

x

: F(x) := f (x) + g(x) (1) f (·) : Rn → R is convex and differentiable; g(·) : Rn → R ∪ {+∞} is a proper closed convex real value extended function; g(x) is separable: g(x) = n

i=1 gi((x)i), gi(·) : R → R ∪ {+∞}.

Instances of g(x): Unconstrained: g(x) = constant. Box constrained: g(x) = n

i=1 1[ai,bi]((x)i) where 1[ai,bi] is an

indicator function for [ai, bi]; ℓp norm regularization: g(x) = xp

p where p ≥ 1.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 21 / 44

slide-22
SLIDE 22

Instances

Problems that fit this framework include the following: least squares: minx

1 2Ax − b2;

LASSO: minx

1 2Ax − b2 + λx1;

support vector machine (SVM) with squared hinge loss: min

w

C

  • i

max{yi(xT

i w − b), 0}2 + 1

2w2 support vector machine: dual form with bias term: min

0≤α≤C1

1 2

  • i,j

αiαjyiyjK(xi, xj) −

  • i

αi.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 22 / 44

slide-23
SLIDE 23

Instances (continued)

logistic regression with ℓp norm regularization (p = 1, 2): min

x

1 n

  • i

log(1 + exp(−yixT

i w)) + λwp p

semi-supervised learning (Tikhonov Regularization) min

f

  • i∈{labeled data}

(fi − yi)2 + λf TLf where L is the Laplacian matrix. relaxed linear program: min

x≥0

cTx s.t. Ax = b ⇒ min

x≥0

cTx + λAx − b2

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 23 / 44

slide-24
SLIDE 24

Classical Coordinate Descent

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 24 / 44

slide-25
SLIDE 25

Stochastic Coordinate Descent

Take a step of fixed length along partial derivative (not exact) Choose components randomly (don’t have control over the sequence).

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 25 / 44

slide-26
SLIDE 26

Stochastic Proximal Coordinate Descent SPCD

Define prox-operator Ph for a convex function h: Ph(y) = arg min

x

1 2x − y2 + h(x). (It’s nonexpansive: Ph(y) − Ph(z) ≤ y − z.) Basic Step: Select a coordinate i and compute the coordinate gradient ∇if (x); take a step along this direction and “shrink” to account for gi. (x)i ← Pαgi((x)i − α∇if (x)

  • coordinate gradient

), for some step length α. This is equivalent to solving an approximate version of the coordinate-i problem in which f is replaced by a simple quadratic: min

(z)i

∇if (x)T[(z)i − (x)i] + 1 2α[(z)i − (x)i]2 + gi((z)i).

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 26 / 44

slide-27
SLIDE 27

Prox-Operator Examples

Prox-operators can be executed efficiently in many cases. gi(t) = |t|: soft thresholding operation Pλgi(t) = sgn(t) max{|t| − λ, 0}. gi(t) = 1[a,b]: projection operation Pλgi(t) = arg min

s∈[a,b]

1 2s − t2 = mid(a, b, t).

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 27 / 44

slide-28
SLIDE 28

Local View of AsySPCD

Steplength depends on Lmax: component Lipschitz constant (“max diagonal of Hessian”) ∇f (x + tej) − ∇f (x)∞ ≤ Lmax|t| ∀x ∈ Rn, t ∈ R, j = 1, 2, . . . , n. All processors run a stochastic coordinate descent process concurrently and without synchronization: Select a coordinate i ∈ {1, 2, . . . , n} uniformly at random; Read “x” from the shared memory and compute the i gradient component using “x”: di ← ∇if (x); Update “x” in the shared memory by the proximal operation, performed atomically: (x)i ← P(γ/Lmax)gi

  • (x)i −

γ Lmax di

  • ,

for some steplength γ > 0.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 28 / 44

slide-29
SLIDE 29

Global View of AsySPCD

Global counter j incremented when one of the cores makes an update: Choose i(j) ∈ {1, 2, · · · , n} uniformly at random; Read components of x from shared memory needed to compute ∇i(j)f , denoting the local version of x by ˆ xj; Update compoment i(j) of x (atomically): (xj+1)i(j) ← P(γ/Lmax)gi(j)

  • (xj)i(j) −

γ Lmax ∇i(j)f (ˆ xj)

  • .

Note that ˆ xj may not never appear in shared memory at any point in time. The elements of x may have been updated repeatedly during reading of ˆ xj, which means that the components of ˆ xj may have different “ages.” We call this phenomenon inconsistent read.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 29 / 44

slide-30
SLIDE 30

Consistent Read vs. Inconsistent Read

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 30 / 44

slide-31
SLIDE 31

Expressing Read-Inconsistency

Difference between ˆ xj and xj is expressed in terms of “missed updates:” xj = ˆ xj +

  • t∈K(j)

(xt+1 − xt) where K(j) defines the iterate set of updates missed in reading ˆ xj. We assume τ to be the upper bound of ages of all elements in K(j): τ ≥ j − min{t | t ∈ K(j)}. Example: our assumptions would be satisfied with τ = 10 when x100 = ˆ x100 +

  • t∈{91,95,98,99}

(xt+1 − xt) τ is related strongly to the number of cores / processors that can be used in the computation. The number of updates we would expect to miss between reading and updating x is about equal to the number of cores.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 31 / 44

slide-32
SLIDE 32

Notation

Lmax: component Lipschitz constant (“max diagonal of Hessian”) ∇f (x + tej) − ∇f (x)∞ ≤ Lmax|t| ∀x ∈ Rn, t ∈ R, i; Lres: restricted Lipschitz constant (“max row-norm of Hessian”) ∇f (x + tei) − ∇f (x)2 ≤ Lres|t| ∀x ∈ Rn, t ∈ R, i; Λ := Lres/Lmax measures the degree of diagonal dominance.

1 for separable f , 2 for convex quadratic f with diagonally dominant Hessian, √n for general quadratic.

S: the solution set of (1);

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 32 / 44

slide-33
SLIDE 33

Key to Analysis

Recall iteration: (xj+1)i(j) = P(γ/Lmax)gi(j)

  • (xj)i(j) −

γ Lmax ∇i(j)f (ˆ xj)

  • .

Choose some ρ > 1 and choose γ so that E(xj − xj−12) ≤ ρE(xj+1 − xj2) “ρ-condition”. Not too much change in the step at each iteration ⇒ not too much change in the gradient ⇒ not too much price to pay for using outdated information. Want to choose γ small enough to satisfy this property but large enough to get a better convergence rate. Strike a balance, as in asynchronous randomized Kaczmarz.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 33 / 44

slide-34
SLIDE 34

Main Assumption: Optimal Strong Convexity (OSC)

Optimal strong convexity parameter µ > 0 F(x) − F(PS(x)) ≥ µ 2 x − PS(x)2 for all x ∈ domF. Weaker than usual strong convexity — allows nonunique solutions, for a

  • start. Examples:

F(x) = f (Ax) with strongly convex f . Squared hinge loss: F(x) =

k max(aT k x − bk, 0)2;

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 34 / 44

slide-35
SLIDE 35

An OSC (but not strongly convex) function:

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 35 / 44

slide-36
SLIDE 36

Main Theorem: OSC yields a Linear Rate

Theorem

For any ρ > 1 + 4/√n, define θ := ρ(τ+1)/2 − ρ1/2 ρ1/2 − 1 θ′ := ρ(τ+1) − ρ ρ − 1 ψ := 1 + τθ′ n + Λθ √n. and choose γ ≤ min 1 ψ, √n(1 − ρ−1) − 4 4(1 + θ)Λ

  • .

Then the “ρ-condition” is satisfied at all j, and we have Exj − PS(xj)2 + 2γ(EF(xj) − F ∗) ≤

  • 1 −

µ n(l + γ−1) j x0 − PS(x0)2 + 2γ(F(x0) − F ∗)

  • .

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 36 / 44

slide-37
SLIDE 37

Notes on the Result

Rate depends intuitively on the various quantities involved: Smaller γ ⇒ slower rate; Smaller µ ⇒ slower rate; Larger Λ = Lres/Lmax implies smaller γ and thus slower rate. Larger delay τ ⇒ slower rate. Dependence on ρ is a bit more complicated, but best to choose ρ near its lower bound.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 37 / 44

slide-38
SLIDE 38

Special Case

Corollary

Consider the regime in which τ satisfies 4eΛ(τ + 1)2 ≤ √n, and define ρ =

  • 1 + 4eΛ(τ + 1)

√n 2 . Thus we can choose γ = 1

2, and the rate simplifies to:

E(F(xj) − F ∗) ≤

  • 1 −

µ n(l + 2Lmax) j (Lmaxx0 −PS(x0)2 + F(x0) − F ∗). If the diagonal dominance properties are good (Λ ∼ 1) we have τ ∼ n1/4. In earlier work, with consistent read and no regularization, get τ ∼ n1/2.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 38 / 44

slide-39
SLIDE 39

General Convex (without OSC): Sublinear Rate

Theorem

Define ψ and γ as in the main theorem, have E(F(xj) − F ∗) ≤ n(Lmaxγ−1x0 − PS(x0)2 + 2(F(x0) − F ∗)) 2(j + n) . Roughly ”1/j” behavior (sublinear rate)

Corollary

Assuming 4eΛ(τ + 1)2 ≤ √n and setting ρ and γ = 1/2 as above, we have E(F(xj) − F ∗) ≤ n(Lmaxx0 − PS(x0)2 + F(x0) − F ∗) j + n .

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 39 / 44

slide-40
SLIDE 40

Computational Experiments

Implemented on a 40-core Intel Xeon, containing 4 sockets × 10 cores. We don’t do “sampling with replacement” as in the algorithm described

  • above. Rather, each thread/core is assign a subset of gradient

components, and sweeps through these in order: “sampling without replacement.” The order of indices is shuffled periodically - either between every pass, or less frequently.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 40 / 44

slide-41
SLIDE 41

Unconstrained: 4-socket, 40-core Intel Xeon

min

x

Ax − b2 + 0.5x2 where A ∈ Rm×n is a Gaussian random matrix (m = 6000, n = 20000, data size≈3GB, columns are normalized to 1). Λ ≈ 2.2. Choose γ = 1. 3-4 seconds to achieve the accuracy 10−5 on 40 cores.

5 10 15 20 25 30 35 40 10

−4

10

−3

10

−2

10

−1

10 10

1

Synthetic Unconstrained QP: n = 20000 p = 10 # epochs residual thread= 1 thread=10 thread=20 thread=30 thread=40

5 10 15 20 25 30 35 40 5 10 15 20 25 30 35 40

Synthetic Unconstrained QP: n = 20000 threads speedup Ideal AsySCD−DW Global Locking Syn−GD Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 41 / 44

slide-42
SLIDE 42

Constrained: 4-socket, 40-core Intel Xeon

min

x≥0

(x − z)T(ATA + 0.5I)(x − z) , where A ∈ Rm×n is a Gaussian random matrix (m = 6000, n = 20000, columns are normalized to 1) and z is a Gaussian random vector. Lres/Lmax ≈ 2.2. Choose γ = 1.

2 4 6 8 10 12 14 16 18 20 22 10

−4

10

−3

10

−2

10

−1

10 10

1

Synthetic Constrained QP: n = 20000 p = 10 # epochs residual thread= 1 thread=10 thread=20 thread=30 thread=40

5 10 15 20 25 30 35 40 5 10 15 20 25 30 35 40

Synthetic Constrained QP: n = 20000 threads speedup Ideal AsySCD−DW Global Locking Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 42 / 44

slide-43
SLIDE 43

Experiments: 1-socket, 10-core Intel Xeon

min

x

1 2Ax − b2 + λx1, where A ∈ Rm×n is a Gaussian random matrix (m = 12000, n = 20000, data size≈3GB),b = A ∗ sprandn(n, 1, 20) + 0.01 ∗ randn(n, 1), and λ = 0.2

  • m log(n). Lres/Lmax ≈ 2.2. Choose γ = 1.

20 40 60 80 100 120 140 160 180 200 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

m = 12000 n = 20000 sparsity = 20 σ = 0.01 # epochs Objective thread= 1 thread= 2 thread= 4 thread= 8 thread=10

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

m = 12000 n = 20000 sparsity = 20 σ = 0.01 threads speedup Ideal AsySPCD Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 43 / 44

slide-44
SLIDE 44

Conclusions

Old methods are interesting again, because of modern computers and modern applications (particularly in machine learning). We can analyze asynchronous parallel algorithms, with a computing model that approximates reality pretty well.

Wright (UW-Madison) Asynchronous Stochastic Optimization September 2014 44 / 44