distributed and secure computation of convex programs over a network of connected processors

24
Distributed and Secure Computation of Convex Programs over a Network of Connected Processors Michael J. Neely University of Southern California http://www-rcf.usc.edu/ ~mjneely f 2 (x, p 2 ) b 2 f 1 (x, p 1 ) b 1 f k (x, p k ) b k 1 2 3 k

Upload: fountain-hubert

Post on 31-Dec-2015

23 views

Category:

Documents


2 download

DESCRIPTION

f 2 (x, p 2 ) b 2. 2. k. f 1 (x, p 1 ) b 1. f k (x, p k ) b k. 1. 3. Distributed and Secure Computation of Convex Programs over a Network of Connected Processors. Michael J. Neely University of Southern California http://www-rcf.usc.edu/~mjneely. Context:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Distributed and Secure Computation of Convex Programs over a Network of

Connected Processors

Michael J. Neely

University of Southern California

http://www-rcf.usc.edu/~mjneely

f2(x, p2) b2

f1(x, p1) b1

fk(x, pk) bk

1

2

3

k

Page 2: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Context:

Parallel Processing and Distributed Sub-Gradient Algorithms: -Tsitsiklis, Bertsekas, Athens [1986] -Ferris, Mangasarian [1991] -Bertsekas, Tseng [1995] -Miller, Stout [1996]

Sorting and Averaging over Graphs: -Nassimi, Sahni [1979] -Bordim, Nakano, Shen [2002] -Kempe, Dobra, Gehrke [2003] -Singh, Prasanna, Rolim [2003]

Distributed Computation of Eigenvectors over Graphs: -Kempe, McSherry [2004]

Distributed Computation of Linear Programs for Networks: -Bartal, Byers, Raz [2004]

Page 3: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Problem A: A General Convex Program

1

2

3

K

Page 4: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Assign each set of constraints and utility term to a different processor…

1

2

3

K

Page 5: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Assign each set of constraints and utility term to a different processor…

1

2

3

K

Page 6: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Assign each set of constraints and utility term to a different processor…

1

2

3

K

Page 7: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Assign each set of constraints and utility term to a different processor…

1

2

3

K

Page 8: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Assign each set of constraints and utility term to a different processor…

1

2

3

K

How to ensure all public variable constraints?

Page 9: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

1

2

3

K

How to ensure all public variable constraints?

Idea: Define different variables at each node k.

Page 10: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Idea: Define different variables at each node k.

1

2

3

K

Page 11: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Idea: Define different variables at each node k.

1

2

3

K

Page 12: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Idea: Define different variables at each node k.

1

2

3

K

Page 13: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Problem B:

1

2

3

Kshortestpath tree

Page 14: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Interior Point Assumption:

Assume there is a point and a positivevalue such that:

Page 15: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Interior Point Assumption:

Assume there is a point and a positivevalue such that:

max

max

Page 16: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Iterative Algorithm:

We develop a distributed procedure where each node performs“update” computations every timeslot = {0, 1, 2, …, t}.

Page 17: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Algorithm motivated by Queueing Theory:

Update Equation:

Page 18: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Likewise, for constraints:

(the [t] vector is needed because there is no interior point associated with the above constraints)

Page 19: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

A measure of the parent-child inequalities -- Define:

Page 20: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

The Distributed Algorithm: fix a parameter V > 0

Initialize all queue backlogs to zero for t=0

On iteration t (where t=0, 1, 2, …) do:

Each node k transmits to its parent node.

Each node k computes as solutions to:

Each node k passes to its children

Each node k updates according to the queueing eqs.

Page 21: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Algorithm Security:

Page 22: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors
Page 23: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Analysis via Lyapunov Drift. Define Lyapunov function:

Page 24: Distributed and Secure Computation of Convex Programs over a Network of Connected Processors

Conclusions:

Computation of General Convex Programs over Graphs

Analysis via Lyapunov Drift / Queueing Theory

Solution is given by an average, improved every slot(differs from classical subgradient methods, which often require solutions for each slot to be evaluated and compared). No initial seed point is necessary.

Enables Distributed Computation and Maintains Privacy/Security

f2(x, p2) b2

f1(x, p1) b1

fk(x, pk) bk

1

2

3

k