Asynchronous Algorithms for Conic Programs, including Optimal, - - PowerPoint PPT Presentation

asynchronous algorithms for conic programs including
SMART_READER_LITE
LIVE PREVIEW

Asynchronous Algorithms for Conic Programs, including Optimal, - - PowerPoint PPT Presentation

Asynchronous Algorithms for Conic Programs, including Optimal, Infeasible, and Unbounded Ones Wotao Yin joint: Fei Feng, Robert Hannah, Yanli Liu, Ernest Ryu (UCLA, Math) DIMACS: Distributed Optimization, Information Processing, and Learning


slide-1
SLIDE 1

Asynchronous Algorithms for Conic Programs, including Optimal, Infeasible, and Unbounded Ones

Wotao Yin joint: Fei Feng, Robert Hannah, Yanli Liu, Ernest Ryu (UCLA, Math) DIMACS: Distributed Optimization, Information Processing, and Learning August’17

1 / 31

slide-2
SLIDE 2

Overview

  • conic programming problem (P):

minimize cT x subject to Ax = b, x ∈ K K is a closed convex cone

  • this talk: a first-order iteration
  • parallel: linear speedup, async
  • still working if problem is unsolvable

2 / 31

slide-3
SLIDE 3

Approach overview

Douglas-Rachfordf1 fixed point iteration zk+1 = Tzk T depends on A, b, c and has nice properties:

1equivalent to standard ADMM, but the different form is important 3 / 31

slide-4
SLIDE 4

Approach overview

Douglas-Rachfordf1 fixed point iteration zk+1 = Tzk T depends on A, b, c and has nice properties:

  • convergence guarantees and rates

1equivalent to standard ADMM, but the different form is important 3 / 31

slide-5
SLIDE 5

Approach overview

Douglas-Rachfordf1 fixed point iteration zk+1 = Tzk T depends on A, b, c and has nice properties:

  • convergence guarantees and rates
  • coordinate friendly: break z into m blocks, cost(Ti) ∼

1 mcost(T)

1equivalent to standard ADMM, but the different form is important 3 / 31

slide-6
SLIDE 6

Approach overview

Douglas-Rachfordf1 fixed point iteration zk+1 = Tzk T depends on A, b, c and has nice properties:

  • convergence guarantees and rates
  • coordinate friendly: break z into m blocks, cost(Ti) ∼

1 mcost(T)

  • divergent nicely:
  • (P) has no primal-dual sol pair ⇔ zk → ∞
  • zk+1 − zk tells a whole lot

1equivalent to standard ADMM, but the different form is important 3 / 31

slide-7
SLIDE 7

Douglas-Rachford splitting (Lions-Mercier’79)

  • proximal mapping of a closed function h

proxγh(x) = arg min

z

{h(z) +

1 2γ z − x2}

4 / 31

slide-8
SLIDE 8

Douglas-Rachford splitting (Lions-Mercier’79)

  • proximal mapping of a closed function h

proxγh(x) = arg min

z

{h(z) +

1 2γ z − x2}

  • Douglas-Rachford Splitting (DRS) method solves

minimize f(x) + g(x) by iterating zk+1 = Tzk

4 / 31

slide-9
SLIDE 9

Douglas-Rachford splitting (Lions-Mercier’79)

  • proximal mapping of a closed function h

proxγh(x) = arg min

z

{h(z) +

1 2γ z − x2}

  • Douglas-Rachford Splitting (DRS) method solves

minimize f(x) + g(x) by iterating zk+1 = Tzk defined as: xk+ 1

2 = proxγg(zk)

xk+1 = proxγf(2zk − xk+ 1

2 )

zk+1 = zk + (xk+1 − xk+ 1

2 )

4 / 31

slide-10
SLIDE 10

Apply DRS to conic programming

minimize cT x subject to Ax = b, x ∈ K ⇔ minimize cT x + δA·=b(x)

  • f(x)

+ δK(x)

g(x)

  • cone K is nonempty closed convex

5 / 31

slide-11
SLIDE 11

Apply DRS to conic programming

minimize cT x subject to Ax = b, x ∈ K ⇔ minimize cT x + δA·=b(x)

  • f(x)

+ δK(x)

g(x)

  • cone K is nonempty closed convex
  • each iteration: project onto K, then project onto A· = b

5 / 31

slide-12
SLIDE 12

Apply DRS to conic programming

minimize cT x subject to Ax = b, x ∈ K ⇔ minimize cT x + δA·=b(x)

  • f(x)

+ δK(x)

g(x)

  • cone K is nonempty closed convex
  • each iteration: project onto K, then project onto A· = b
  • per-iteration cost: O(n2) if x ∈ Rn (by pre-factorizing AAT )

5 / 31

slide-13
SLIDE 13

Apply DRS to conic programming

minimize cT x subject to Ax = b, x ∈ K ⇔ minimize cT x + δA·=b(x)

  • f(x)

+ δK(x)

g(x)

  • cone K is nonempty closed convex
  • each iteration: project onto K, then project onto A· = b
  • per-iteration cost: O(n2) if x ∈ Rn (by pre-factorizing AAT )
  • prior work: ADMM for SDP (Wen-Goldfarb-Y.’09)

5 / 31

slide-14
SLIDE 14

Other choices of splitting

  • linearized ADMM and primal-dual splitting: avoid inverting full A
  • variations of Frank-Wolfe: avoid expensive projections to SDP cone
  • subgradient and bundle methods ...

6 / 31

slide-15
SLIDE 15

Coordinate friendly2 (CF)

  • (Block) coordinate update is fast only if the subproblems are simple
  • definition: T : H → H is CF if, for any z and i ∈ [m],

z+ := z1, . . . , (Tz)i, . . . , zm

  • it holds that

cost {z, M(z)} → {z+, M(z+)} = O 1 mcost[z → Tz] where M(z) is some quantity maintained in the memory

2Peng-Wu-Xu-Yan-Y. AMSA’16 7 / 31

slide-16
SLIDE 16

Composed operators

  • 9 rules3 for CF T1 ◦ T2 cover many examples
  • general principles:
  • T1 ◦ T2 inherits the (weaker) separability property
  • if T1 is CF and T2 to be either cheap, easy-to-maintain, or directly

CF, then T1 ◦ T2 is CF

  • if T1 is separable or cheap, T1 ◦ T2 is easier to CF

3Peng-Wu-Xu-Yan-Y. AMSA’16 8 / 31

slide-17
SLIDE 17

Lists of CF T1 ◦ T2

  • many convex image processing models
  • portfolio optimization
  • most sparse optimization problems
  • all LPs, all SOCPs, and SDPs without large cones
  • most ERM problems
  • ...

9 / 31

slide-18
SLIDE 18

Example: DRS for SOCP

  • second-order cone:

Qn = {x ∈ Rn : x1 ≥ (x2, . . . , xn)2}

10 / 31

slide-19
SLIDE 19

Example: DRS for SOCP

  • second-order cone:

Qn = {x ∈ Rn : x1 ≥ (x2, . . . , xn)2}

  • DRS operator has the form

T = linear ◦ projQn1 ×···×Qnp

10 / 31

slide-20
SLIDE 20

Example: DRS for SOCP

  • second-order cone:

Qn = {x ∈ Rn : x1 ≥ (x2, . . . , xn)2}

  • DRS operator has the form

T = linear ◦ projQn1 ×···×Qnp

  • CF is trivial if all cones are small

10 / 31

slide-21
SLIDE 21

Example: DRS for SOCP

  • second-order cone:

Qn = {x ∈ Rn : x1 ≥ (x2, . . . , xn)2}

  • DRS operator has the form

T = linear ◦ projQn1 ×···×Qnp

  • CF is trivial if all cones are small
  • now, consider a big cone; property:

projQn(x) = (αx1, βx2, . . . , βxn) where α, β depend on x1 and γ := (x2, . . . , xn)2

10 / 31

slide-22
SLIDE 22

Example: DRS for SOCP

  • second-order cone:

Qn = {x ∈ Rn : x1 ≥ (x2, . . . , xn)2}

  • DRS operator has the form

T = linear ◦ projQn1 ×···×Qnp

  • CF is trivial if all cones are small
  • now, consider a big cone; property:

projQn(x) = (αx1, βx2, . . . , βxn) where α, β depend on x1 and γ := (x2, . . . , xn)2

  • given γ and updating xi, refreshing γ costs O(1)

10 / 31

slide-23
SLIDE 23

Example: DRS for SOCP

  • second-order cone:

Qn = {x ∈ Rn : x1 ≥ (x2, . . . , xn)2}

  • DRS operator has the form

T = linear ◦ projQn1 ×···×Qnp

  • CF is trivial if all cones are small
  • now, consider a big cone; property:

projQn(x) = (αx1, βx2, . . . , βxn) where α, β depend on x1 and γ := (x2, . . . , xn)2

  • given γ and updating xi, refreshing γ costs O(1)
  • by maintaining γ, projQn is cheap, and T = linear ◦ cheap is CF

10 / 31

slide-24
SLIDE 24

Fixed-point iterations

  • full update

zk+1 = Tzk

11 / 31

slide-25
SLIDE 25

Fixed-point iterations

  • full update

zk+1 = Tzk

  • (block) coordinate update (CU): choose ik ∈ [m],

zk+1

i

=

  • zk

i + η((Tzk)i − zk i ),

if i = ik zk

i ,

  • therwise.

11 / 31

slide-26
SLIDE 26

Fixed-point iterations

  • full update

zk+1 = Tzk

  • (block) coordinate update (CU): choose ik ∈ [m],

zk+1

i

=

  • zk

i + η((Tzk)i − zk i ),

if i = ik zk

i ,

  • therwise.
  • parallel CU: p agents choose Ik ⊂ [m]

zk+1

i

=

  • zk

i + η((Tzk)i − zk i ),

if i ∈ Ik zk

i ,

  • therwise.
  • η depends on properties of T, ik, and Ik

11 / 31

slide-27
SLIDE 27

Sync-parallel versus async-parallel

Agent 1 Agent 2 Agent 3

idle idle idle idle

Synchronous (faster agents must wait)

Agent 1 Agent 2 Agent 3

Asynchronous (all agents are non-stop)

12 / 31

slide-28
SLIDE 28

ARock: async-parallel CU

  • p agents
  • every agent continuously does: pick ik ⊂ [m],

zk+1

i

=

  • zk

i + η((Tzk−dk)i − zk−dk i

), if i = ik zk

i ,

  • therwise.

new notation:

  • k increases after any agent completes an update
  • zk−dk = (z

k−dk,1 1

, . . . , z

k−dk,m m

) may be stale

  • allow inconsistent atomic read/write

13 / 31

slide-29
SLIDE 29

Various theories and meanings

  • 1969 – 90s: T is contractive in · w,∞, partially/totally async

14 / 31

slide-30
SLIDE 30

Various theories and meanings

  • 1969 – 90s: T is contractive in · w,∞, partially/totally async
  • recent in ML community: async SG and async BCD
  • early works: random ik, bounded delays, Ef has sufficient descent,

treat delays as noise, delays independent of ik

14 / 31

slide-31
SLIDE 31

Various theories and meanings

  • 1969 – 90s: T is contractive in · w,∞, partially/totally async
  • recent in ML community: async SG and async BCD
  • early works: random ik, bounded delays, Ef has sufficient descent,

treat delays as noise, delays independent of ik

  • state-of-the-art: allow essential cyclic ik, unbounded noise (t−4 or

faster decay), Lyapunov analysis, delays as overdue progress, delays can depend on ik

14 / 31

slide-32
SLIDE 32

Various theories and meanings

  • 1969 – 90s: T is contractive in · w,∞, partially/totally async
  • recent in ML community: async SG and async BCD
  • early works: random ik, bounded delays, Ef has sufficient descent,

treat delays as noise, delays independent of ik

  • state-of-the-art: allow essential cyclic ik, unbounded noise (t−4 or

faster decay), Lyapunov analysis, delays as overdue progress, delays can depend on ik

  • ARock: T is non-expansive in · 2
  • unbounded noise (t−4 or faster decay), Lyapunov analysis, delays as
  • verdue progress, delays independent of ik, provable running time

async:sync= 1 : log(p) in a poisson system, prox is async

  • Combettes-Eckstein: async projective splitting, free of parameter

14 / 31

slide-33
SLIDE 33

Various theories and meanings

  • 1969 – 90s: T is contractive in · w,∞, partially/totally async
  • recent in ML community: async SG and async BCD
  • early works: random ik, bounded delays, Ef has sufficient descent,

treat delays as noise, delays independent of ik

  • state-of-the-art: allow essential cyclic ik, unbounded noise (t−4 or

faster decay), Lyapunov analysis, delays as overdue progress, delays can depend on ik

  • ARock: T is non-expansive in · 2
  • unbounded noise (t−4 or faster decay), Lyapunov analysis, delays as
  • verdue progress, delays independent of ik, provable running time

async:sync= 1 : log(p) in a poisson system, prox is async

  • Combettes-Eckstein: async projective splitting, free of parameter
  • in distributed comp, also refer to: random activations, may not delay

14 / 31

slide-34
SLIDE 34

ARock convergence4

notation:

  • m = # blocks
  • τ = max async delay
  • uniform random selection (non-uniform is okay)

Theorem (known max delay)

Assume: T is nonexpansive and has a fixed point, and delays do not depend on

  • ik. Use step size ηk ∈ [ǫ,

1 2m−1/2τ+1). Then, xk ⇀ x∗ ∈ FixT almost surely.

4Peng-Xu-Yan-Y. SISC’16 15 / 31

slide-35
SLIDE 35

ARock convergence4

notation:

  • m = # blocks
  • τ = max async delay
  • uniform random selection (non-uniform is okay)

Theorem (known max delay)

Assume: T is nonexpansive and has a fixed point, and delays do not depend on

  • ik. Use step size ηk ∈ [ǫ,

1 2m−1/2τ+1). Then, xk ⇀ x∗ ∈ FixT almost surely.

consequence:

  • no sync at least until using O(√m) agents
  • sharp when τ ≪ m

4Peng-Xu-Yan-Y. SISC’16 15 / 31

slide-36
SLIDE 36

Optimization and fixed-point examples

16 / 31

slide-37
SLIDE 37

Applications

17 / 31

slide-38
SLIDE 38

More complicated applications

  • LP, QP, SOCP, some SDP
  • Image reconstruction minimization
  • Nonnegative matrix factorization
  • Decentralized optimization (no global coordination anymore!)

18 / 31

slide-39
SLIDE 39

QCQP test: ARock versus SCS5

5O’Donoghue, Chu, Parikh, Boyd’15 19 / 31

slide-40
SLIDE 40

Practice

coding:

  • OpenMP, C++11, MPI
  • easier than you think

performance:

  • if done “correctly”, async speed ≫ sync speed
  • much faster when systems get bigger and/or unbalanced

20 / 31

slide-41
SLIDE 41

An ideal solver

  • find a solution if there is one

21 / 31

slide-42
SLIDE 42

An ideal solver

  • find a solution if there is one
  • when there is no solution,
  • reliably report “no solution”

21 / 31

slide-43
SLIDE 43

An ideal solver

  • find a solution if there is one
  • when there is no solution,
  • reliably report “no solution”
  • provide a “certificate”

21 / 31

slide-44
SLIDE 44

An ideal solver

  • find a solution if there is one
  • when there is no solution,
  • reliably report “no solution”
  • provide a “certificate”
  • suggest the cheapest fix

21 / 31

slide-45
SLIDE 45

An ideal solver

  • find a solution if there is one
  • when there is no solution,
  • reliably report “no solution”
  • provide a “certificate”
  • suggest the cheapest fix
  • status: achievable for LP, not for SOCPs yet

21 / 31

slide-46
SLIDE 46

Conic programming

p⋆ = min cT x subject to Ax = b

x∈L

, x ∈ K K is a closed convex cone

22 / 31

slide-47
SLIDE 47

Conic programming

p⋆ = min cT x subject to Ax = b

x∈L

, x ∈ K K is a closed convex cone

  • every problem falls in exactly one of the seven cases:

1) p⋆ finite: 1a) has PD sol pair, 1b) only P sol, 1c) no P sol

22 / 31

slide-48
SLIDE 48

Conic programming

p⋆ = min cT x subject to Ax = b

x∈L

, x ∈ K K is a closed convex cone

  • every problem falls in exactly one of the seven cases:

1) p⋆ finite: 1a) has PD sol pair, 1b) only P sol, 1c) no P sol 2) p⋆ = −∞: 2a) has improving dir, 2b) no improving dir

22 / 31

slide-49
SLIDE 49

Conic programming

p⋆ = min cT x subject to Ax = b

x∈L

, x ∈ K K is a closed convex cone

  • every problem falls in exactly one of the seven cases:

1) p⋆ finite: 1a) has PD sol pair, 1b) only P sol, 1c) no P sol 2) p⋆ = −∞: 2a) has improving dir, 2b) no improving dir 3) p⋆ = +∞: 3a) dist(L, K) > 0 ⇔ has separating hyperplane 3b) dist(L, K) = 0 ⇔ no strict separating hyperplane

  • (nearly) pathological cases fail existing solvers

22 / 31

slide-50
SLIDE 50

Example 1

  • 3-variable problem:

minimize x1 subject to x2 = 1, 2x2x3 ≥ x2

1.

  • since x2, x3 ≥ 0, the problem is equivalent to

minimize x1 subject to x2 = 1, (x1, x2, x3) ∈ rotated second-order cone.

6p⋆ = −∞, by letting x3 → ∞ and x1 → −∞ 7reason: any improving direction u has form (u1, 0, u3), but by the cone constraint 2u2u3 = 0 ≥ u2 1, so

u1 = 0, which implies cT u1 = 0 (not improving).

23 / 31

slide-51
SLIDE 51

Example 1

  • 3-variable problem:

minimize x1 subject to x2 = 1, 2x2x3 ≥ x2

1.

  • since x2, x3 ≥ 0, the problem is equivalent to

minimize x1 subject to x2 = 1, (x1, x2, x3) ∈ rotated second-order cone.

  • classification: (2b)
  • feasible
  • unbounded6
  • no improving direction7

6p⋆ = −∞, by letting x3 → ∞ and x1 → −∞ 7reason: any improving direction u has form (u1, 0, u3), but by the cone constraint 2u2u3 = 0 ≥ u2 1, so

u1 = 0, which implies cT u1 = 0 (not improving).

23 / 31

slide-52
SLIDE 52

Example 1

  • 3-variable problem:

minimize x1 subject to x2 = 1, 2x2x3 ≥ x2

1.

  • since x2, x3 ≥ 0, the problem is equivalent to

minimize x1 subject to x2 = 1, (x1, x2, x3) ∈ rotated second-order cone.

  • classification: (2b)
  • feasible
  • unbounded6
  • no improving direction7
  • solver results:
  • SDPT3: “Failed”, p⋆ no reported
  • SeDuMi: “Inaccurate/Solved”, p⋆ = −175514
  • Mosek: “Inaccurate/Unbounded”, p⋆ = −∞

6p⋆ = −∞, by letting x3 → ∞ and x1 → −∞ 7reason: any improving direction u has form (u1, 0, u3), but by the cone constraint 2u2u3 = 0 ≥ u2 1, so

u1 = 0, which implies cT u1 = 0 (not improving).

23 / 31

slide-53
SLIDE 53

Example 2

  • 3-variable problem:

minimize 0 subject to

  • 0 1 1

1 0 0

  • x =
  • 1
  • x∈L

, x3 ≥

  • x2

1 + x2 2

  • x∈K

.

8x ∈ L imply x = [1, −α, α]T , α ∈ R, which always violates the second-order cone constraint. 9dist(L, K) ≤ [1, −α, α] − [1, −α, (α2 + 1)1/2]2 → 0 as α → ∞. 24 / 31

slide-54
SLIDE 54

Example 2

  • 3-variable problem:

minimize 0 subject to

  • 0 1 1

1 0 0

  • x =
  • 1
  • x∈L

, x3 ≥

  • x2

1 + x2 2

  • x∈K

.

  • classification: (3b)
  • infeasible8, L ∩ K = ∅
  • dist(L, K) = 0 9
  • no strict separating hyperplane

8x ∈ L imply x = [1, −α, α]T , α ∈ R, which always violates the second-order cone constraint. 9dist(L, K) ≤ [1, −α, α] − [1, −α, (α2 + 1)1/2]2 → 0 as α → ∞. 24 / 31

slide-55
SLIDE 55

Example 2

  • 3-variable problem:

minimize 0 subject to

  • 0 1 1

1 0 0

  • x =
  • 1
  • x∈L

, x3 ≥

  • x2

1 + x2 2

  • x∈K

.

  • classification: (3b)
  • infeasible8, L ∩ K = ∅
  • dist(L, K) = 0 9
  • no strict separating hyperplane
  • solver results:
  • SDPT3: “Infeasible”, p⋆ = ∞
  • SeDuMi: “Solved”, p⋆ = 0
  • Mosek: “Failed”, p⋆ not reported

8x ∈ L imply x = [1, −α, α]T , α ∈ R, which always violates the second-order cone constraint. 9dist(L, K) ≤ [1, −α, α] − [1, −α, (α2 + 1)1/2]2 → 0 as α → ∞. 24 / 31

slide-56
SLIDE 56

Then, what happens to DRS?

In 1970s, Paty, Rockafellar

  • assume T is firmly nonexpansive
  • run zk+1 = T(zk)
  • converges if has PD sol; otherwise, zk → ∞

In 1979, Bailion-Bruck-Reich nailed zk − zk+1 → v = Projran(I−T )(0)

25 / 31

slide-57
SLIDE 57

Our analysis results (Liu-Ryu-Y. ’17)

  • rate of convergence: zk − zk+1 ≤ v + ǫ + O(

1 √k+1)

26 / 31

slide-58
SLIDE 58

Our analysis results (Liu-Ryu-Y. ’17)

  • rate of convergence: zk − zk+1 ≤ v + ǫ + O(

1 √k+1)

  • deciphered Projran(I−T )

26 / 31

slide-59
SLIDE 59

Our analysis results (Liu-Ryu-Y. ’17)

  • rate of convergence: zk − zk+1 ≤ v + ǫ + O(

1 √k+1)

  • deciphered Projran(I−T )
  • a workflow running three similar DRS, differ by only constants:

1) DRS 2) feasibility DRS with c = 0 3) boundedness DRS with b = 0

  • most pathological cases are identified

26 / 31

slide-60
SLIDE 60

Our analysis results (Liu-Ryu-Y. ’17)

  • rate of convergence: zk − zk+1 ≤ v + ǫ + O(

1 √k+1)

  • deciphered Projran(I−T )
  • a workflow running three similar DRS, differ by only constants:

1) DRS 2) feasibility DRS with c = 0 3) boundedness DRS with b = 0

  • most pathological cases are identified
  • compute an improving direction if one exists

26 / 31

slide-61
SLIDE 61

Our analysis results (Liu-Ryu-Y. ’17)

  • rate of convergence: zk − zk+1 ≤ v + ǫ + O(

1 √k+1)

  • deciphered Projran(I−T )
  • a workflow running three similar DRS, differ by only constants:

1) DRS 2) feasibility DRS with c = 0 3) boundedness DRS with b = 0

  • most pathological cases are identified
  • compute an improving direction if one exists
  • compute a separating hyperplane if one exists

26 / 31

slide-62
SLIDE 62

Our analysis results (Liu-Ryu-Y. ’17)

  • rate of convergence: zk − zk+1 ≤ v + ǫ + O(

1 √k+1)

  • deciphered Projran(I−T )
  • a workflow running three similar DRS, differ by only constants:

1) DRS 2) feasibility DRS with c = 0 3) boundedness DRS with b = 0

  • most pathological cases are identified
  • compute an improving direction if one exists
  • compute a separating hyperplane if one exists
  • for all infeasible problems, minimally change to restore strong feasibility

26 / 31

slide-63
SLIDE 63

Decision flow

27 / 31

slide-64
SLIDE 64

Infeasible SDP test set (Liu-Pataki’17)

m = 10 m = 20 Clean Messy Clean Messy SeDuMi 1 SDPT3 Mosek 11 PP10+SeDuMi 100 100 percentage of success detection on clean and messy examples in Liu-Pataki’17

10PreProcessing by Permenter-Parilo’14 28 / 31

slide-65
SLIDE 65

Identify weakly infeasible SDPs

m = 10 m = 20 Clean Messy Clean Messy Proposed 100 21 100 99 (stopping: z1e72 ≥ 800)

  • ur percentage is way much better!

29 / 31

slide-66
SLIDE 66

Identify strongly infeasible SDPs

m = 10 m = 20 Clean Messy Clean Messy Proposed 100 100 100 100 (stopping: z5e4 − z5e4+12 ≤ 10−3)

  • ur percentage is way much better!

30 / 31

slide-67
SLIDE 67

Thank you!

References: UCLA CAM reports

  • 15-37: ARock
  • 16-13: Coordinate friendly, SOCP applications
  • 17-30: Unbounded and realistic-delay async BCD
  • 17-31: DRS for unsolvable conic programs
  • arXiv:1708.05136: provably async-to-sync speedup

31 / 31