graphsc: parallel secure computation made easy kartik nayak with xiao shaun wang, stratis ioannidis,...

30
GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

Upload: terence-dalton

Post on 12-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

1

GraphSC: Parallel Secure Computation Made Easy

Kartik Nayak

With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina

Taft, Elaine Shi

Page 2: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

2

Users

Data

Data

Privacy concern!

Data Mining Engine

Data Model

Data Mining on User Data

Page 3: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

3

Graph representing social connections

Graph representing professional connections

Compute user’s influence in both

circles

Companies Computing on Private Data

Page 4: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

4

Companies want to run

machine learning algorithms

Users/Companies do NOT want to reveal data

Can we enable this in practice?

Page 5: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

Cryptography to the rescue:

Secure Multiparty Computation

Ensures that we learn only the outcome

Page 6: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

6

Key Challenges

Generic Solutions1

Lot of work improving individual algorithmsDeparture from one-at-a-time approach

Page 7: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

7

Key Challenges

Convert Program to

Run on Secure Computation

(Cost of obliviousness)

2

Page 8: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

8

Key Challenges

Parallelizability3There’s a lot of data – maintain benefits of parallelism in the insecure settingWith cryptography, expensive computation

Page 9: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

9

Key Contributions

Page 10: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

10

Key Contributions

Generic Framework for

“Graph-parallel”

AlgorithmsPregel

by

PageRank

Matrix Factorization using gradient descent

Risk Minimization using ADMMAnd many more

Matrix Factorization using ALS

Challenge:Generic

Solutions

Page 11: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

11

Key Contributions

Efficiently Convert Graph-parallel Programs to

Oblivious ProgramsTotal work blowup is O(log |

V|)

Blowup for naïve solution: O(|V|) for sparse graphs

Challenge:Convert

program to run on Secure

Computation

Page 12: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

12

Key Contributions

Maintain Parallelizability

Depth of the computation is O(log |V|)

Matrix Factorization:4K ratings, 32 threads [NIWJTB’13]1.4 hours

Challenge:Parallelizability

< 4 mins

Page 13: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

13

1

2

3

Efficiently Convert to Oblivious Programs

Maintain Parallelizability

Generic Framework for Graph-parallel Algorithms

Key Contributions

Page 14: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

14

function bs(val, s, t) mid = (s + t) / 2; if (val < mem[mid]) bs(val, 0, mid) else bs(val, mid+1, t)

Programmer’s favorite model

Cryptographer’s favorite model

Page 15: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

15

Programmer’s model:

Programs

Oblivious Programs

Cryptographer’s model: Circuits

Intuitively,Program traces should not depend on

input data

Page 16: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

16

function bs(val, s, t) mid = (s + t) / 2; if (val < mem[mid]) bs(val, 0, mid) else bs(val, mid+1, t)

Programmer’s favorite model

Cryptographer’s favorite model

Page 17: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

17

Programmer’s model:

Programs

Oblivious Programs

Cryptographer’s model: Circuits

Intuitively,Program traces should not depend on

input data

Easy

Hard

Page 18: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

18

Achieving Parallelism

Goal: Low Depth

Circuits

Oblivious Parallel RAM [BCP’14]

Polylogarithmic Blowup:

Not practical

GraphSC: O(log |V|) blowup

Page 19: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

19

Pregel by

“Graph-parallel” algorithms

[LGKB’10, GLGBG’12, MABDHLC’10, ZCF’10]

Page 20: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

20

Graph-parallel Algorithms

A

B

C

D

1

2

4

5

1

1

1

2

47

1

0

1Scatter: Send data to

edges

Gather: Aggregate data from edges

Apply: Perform some computation

Page 21: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

21

Obliviousness of Graph-parallel Algorithms

Do not reveal edge/vertex data

Do not reveal structure of the graph

Naïve Solution: O(|V|2)

A

B

C

D1

1

1

2

4 Our Solution:

O(|E| log|V|)

7

1

0

1

Page 22: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

22

Oblivious Gather – Key Trick

3

4

1

2

Page 23: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

Oblivious Gather – Key Trick

Oblivious Sort with (v, isVertex)

Single pass

Sort: O(|E| log |V|)Single pass: O(|E|)

Oblivious Gather: (|E| log |V|)

Gather in clear: O(|E|)

Page 24: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

24

Scatter

Complexity of Our Algorithms

Gather

Apply

Sequential Insecure (Total Work)

Parallel Oblivious (Total Work)

ParallelOblivious

(Parallel Time)

O(|E|)

O(|V|)

O(|E| log |V|)

O(|E|)

O(log |V|)

O(1)

NaïveOblivious(Total Work)

O(|V|2)

O(|E|)

Page 25: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

25

Algorithms on GraphSCHistogram computationPageRankMatrix Factorization using gradient descentMatrix Factorization using alternating least squares

Bellman-Ford shortest path

Bipartite matching

Parallel empirical risk minimization through alternating direction method of multipliers (ADMM)

Pregel by

Page 26: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

26

Experimental Setup

……Cloud 1

(Garblers)Cloud 2

(Evaluators)Two Scenarios:1. LAN2. Across Data

Centers (WAN)

Page 27: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

27

Key Evaluation Results

Histogram

Input Size

1K – 0.5M

Parallel Time (32

processors)4 sec – 34 minPageRank (1

iteration)Matrix

Factorization (1

iteration)

Using GD

Using ALS

4K – 128K

20 sec – 15.5 min1K –

32K47 sec – 34 min

64 – 4K 2 min – 2.35 hours

Page 28: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

28

Max: 16K ratings (64x smaller data) [NIWJTB’13]

Running at Scale

Matrix Factorization using gradient descent: 1M ratings, 6K users, 4K movies [KBV’09]

7 machine cluster, 128 processors, 525 GB RAM

Time taken: ~13 hours(1 iteration)

4K ratings, 32 threads1.4 hours < 4 mins

We used only 7 machines!

13 hours -> few mins by using more machines

Page 29: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

29

Across Data Centers

Page RankGarblers: OregonEvaluators: N. Virginia

B/W provisioned: 2 Gbps

Time reduces linearly with increasing processors

Page 30: GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1

30

GraphSC is a parallel secure computation framework for Graph-

parallel algorithms

www.oblivm.com

Thank [email protected]

Conclusion