parallel algorithms for geometric graph problems

24
Parallel Algorithms for Geometric Graph Problems Alex Andoni (Microsoft Research) Joint with: Aleksandar Nikolov (Rutgers), Krzysztof Onak (IBM), Grigory Yaroslavtsev (ICERM/Brown)

Upload: sofia

Post on 24-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Parallel Algorithms for Geometric Graph Problems. Alex Andoni (Microsoft Research) Joint with: Aleksandar Nikolov (Rutgers), Krzysztof Onak (IBM), Grigory Yaroslavtsev (ICERM/Brown). DATA. DATA. Parallel Computing. Systems: MapReduce [Dean- Ghewamat 2004] Hadoop [White 2012] - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Parallel Algorithms for Geometric Graph Problems

Parallel Algorithms forGeometric Graph Problems

Alex Andoni(Microsoft Research)

Joint with: Aleksandar Nikolov (Rutgers), Krzysztof Onak (IBM), Grigory Yaroslavtsev (ICERM/Brown)

Page 2: Parallel Algorithms for Geometric Graph Problems

DATA

Page 3: Parallel Algorithms for Geometric Graph Problems

DATA

Page 4: Parallel Algorithms for Geometric Graph Problems

Parallel Computing Systems:

MapReduce [Dean-Ghewamat 2004] Hadoop [White 2012] Dryad [Isard etal 2007]

A theory of (modern) parallel computing ? Model Algorithmic techniques

Page 5: Parallel Algorithms for Geometric Graph Problems

Computational Model machines space per machine O(input size)

minimal replication Input: elements Output:

doesn’t fit on a machine:

Round: shuffle all (expensive!)

[Goodrich-Sitchinava-Zhang’11, Beame-Koutris-Suciu’13]

Page 6: Parallel Algorithms for Geometric Graph Problems

Model Constraints Main goal:

rounds for

e.g., when

Local resources bounded by in-communication per round ideally: linear run-time/round

Model culmination of: Bulk-Synchronous Parallel [Valiant’90] Map Reduce Framework [Feldman-Muthukrishnan-Sidiropoulos-

Stein-Svitkina’07, Karloff-Suri-Vassilvitskii’10, Goodrich-Sitchinava-Zhang’11]

Massively Parallel Computing (MPC) [Beame-Koutris-Suciu’13]

Page 7: Parallel Algorithms for Geometric Graph Problems

What about PRAMs ? Good news: can reuse PRAM algorithms

simulate with R=O(parallel time) [KSV’10,GSZ’11]

Bad news: often logarithmic… e.g., XOR

on CRCW [BH89]

vs MPC: circuit with fan-in arbitrary function at a “gate” for XOR

Page 8: Parallel Algorithms for Geometric Graph Problems

Between Log and const… Graph s-t connectivity?

on PRAM Big open question: rounds ? Seems hard [BKS13]

VS

Page 9: Parallel Algorithms for Geometric Graph Problems

Our problems: Geometric Graphs Implicit graph on points in

distance = Euclidean distance

Minimum Spanning Tree Agglomerative hierarchical clustering

[Zahn’71, Kleinberg-Tardos] Earth-Mover Distance etc

Page 10: Parallel Algorithms for Geometric Graph Problems

Our problems: Geometric Graphs Implicit graph on points in

distance = Euclidean distance

Minimum Spanning Tree Agglomerative hierarchical clustering

[Zahn’71, Kleinberg-Tardos] Earth-Mover Distance etc

Page 11: Parallel Algorithms for Geometric Graph Problems

Results: MST & EMD algorithms approx in low dimensional space (, doubling) Constant number of rounds:

Minimum Spanning Tree (MST): as long as

Earth-Mover Distance (EMD): as long as for constant

Beyond parallel: new algorithms for EMD Near-linear time Streaming-with-sorting

Page 12: Parallel Algorithms for Geometric Graph Problems

Framework: Solve-And-Sketch Partition the space hierarchically in a “nice

way” In each part

Compute a pseudo-solution for the local view Sketch the pseudo-solution using small space Send the sketch to be used in the next level/round

Page 13: Parallel Algorithms for Geometric Graph Problems

MST algorithm: attempt 1 Partition the space hierarchically in a “nice

way” In each part

Compute a pseudo-solution for the local view Sketch the pseudo-solution using small space Send the sketch to be used in the next level/round

quad trees!

local MST

send any point as a

representative

Page 14: Parallel Algorithms for Geometric Graph Problems

Difficulties Quad tree can cut MST edges

forcing irrevocable decisions Choose a wrong representative

Page 15: Parallel Algorithms for Geometric Graph Problems

Randomly shifted grid [Arora’98, …] Each cell has an -net Net points are entry/exit portals for the cell Claim: all distances preserved up to in

expectation

New Partition: Grid Distance

Δ

Page 16: Parallel Algorithms for Geometric Graph Problems

MST Algorithm Partition:

Randomly-shifted grid Pseudo-solution:

Run Kruskal for edges up to length Sketch of a pseudo-solution:

Snap points to -net, and store their connectivity Analysis: as if we run Kruskal (inter-cell distances )

Δ

Page 17: Parallel Algorithms for Geometric Graph Problems

VS streaming Fact: linear streaming => parallel But: computes cost

e.g., for MST [Indyk’04, Frahling-Indyk-Sohler’05] Here: actual tree

Page 18: Parallel Algorithms for Geometric Graph Problems

Earth-Mover Distance Theorem:

cost approximation constant number of rounds as long as

Corollary 1: sequential runtime un-weighted: only recently! [Sharathkumar-Agarwal’13]

following [Vai89, AES00, VA99, AV04, Ind07, SA12]

Corollary 2: streaming algorithm in space, after a preliminary sorting pass in regular streaming: approximation in space [ADIW09] Open question: constant approximation in space [#7, #49]

Page 19: Parallel Algorithms for Geometric Graph Problems

Partition the space hierarchically in a “nice way”

In each part Compute a pseudo-solution for the local view Sketch the pseudo-solution using small space Send the sketch to be used in the next level/round

Solve-And-Sketch Framework for EMD

fat quad-tree (as before)& use grid distance

after committing to a wrong alternation,cannot get <2 approximation!

cannot precomputeany “partial solution”

Page 20: Parallel Algorithms for Geometric Graph Problems

Solve-And-Sketch Framework* for EMD Partition the space hierarchically in a “nice

way” In each part

Compute a pseudo-solution for the local view Sketch the pseudo-solution using small space Send the sketch to be used in the next level/round

all solutions

Page 21: Parallel Algorithms for Geometric Graph Problems

Sketching ALL local solutions Let size of -net (“portal” points) Define “solution” function

input defines the flow (matching) at the portals is the min-cost matching assuming flow at

portals

Goal: sketch entire function !

Page 22: Parallel Algorithms for Geometric Graph Problems

Sketching solution function We do not know if is possible… Approach ?

Show “cool properties” on Prove: with “cool properties” => sketchable

May require even for (generic) convex, -Lipshitz on inputs

But can for:

Sketch: store on well-chosen

Page 23: Parallel Algorithms for Geometric Graph Problems

A perspective on EMD EMD = bi-chromatic matching

classically, a big Linear Programming (LP)

The framework decomposes the LP into many small ones small ones have size can use any generic LP solver! recomposed hierarchically

~dynamic programming

Page 24: Parallel Algorithms for Geometric Graph Problems

Finale Algorithmic tools for (modern) parallel systems

Solve-And-Sketch framework for geometric graph problems

Useful strategy to get regular algorithms! EMD: near-linear time, streaming-with-sorting algorithm

Open questions: EMD: more efficient sketches, actual matching,

streaming Other problems?

Which LPs are decomposable? Lower bounds?

exact MST for as hard as sparse connectivity (likely hard) Dynamic algorithms (data structures) ?