12
Sliver: A fast Sliver: A fast distributed slicing distributed slicing algorithm algorithm Ymir Vigfusson Ymir Vigfusson Cornell University Cornell University Vincent Gramoli EPFL & UniNE Switzerland Anne-Marie Kermarrec INRIA Rennes France Ken Birman Cornell University Robbert van Renesse Cornell University Joint work with:

Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

Embed Size (px)

Citation preview

Page 1: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

Sliver: A fast Sliver: A fast distributed slicing distributed slicing

algorithmalgorithm

Sliver: A fast Sliver: A fast distributed slicing distributed slicing

algorithmalgorithm

Ymir VigfussonYmir Vigfusson

Cornell UniversityCornell UniversityYmir VigfussonYmir Vigfusson

Cornell UniversityCornell University

Vincent GramoliEPFL & UniNE

SwitzerlandAnne-Marie KermarrecINRIA Rennes France

Vincent GramoliEPFL & UniNE

SwitzerlandAnne-Marie KermarrecINRIA Rennes France

Ken BirmanCornell University

Robbert van Renesse

Cornell University

Ken BirmanCornell University

Robbert van Renesse

Cornell University

Joint work with:Joint work with:

Page 2: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

The Distributed Slicing The Distributed Slicing ProblemProblem

The Distributed Slicing The Distributed Slicing ProblemProblem

nn nodes, each has an attribute nodes, each has an attribute value value xxii

nn nodes, each has an attribute nodes, each has an attribute value value xxii

1 4 5 7 50 80 83 95 98

Page 3: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

The Distributed Slicing The Distributed Slicing ProblemProblem

The Distributed Slicing The Distributed Slicing ProblemProblem

nn nodes, each has an attribute nodes, each has an attribute value value xxii

Divide the sorted list of Divide the sorted list of xxii’s into ’s into kk slices slices

nn nodes, each has an attribute nodes, each has an attribute value value xxii

Divide the sorted list of Divide the sorted list of xxii’s into ’s into kk slices slices

1 4 5 7 50 80 83 95 98

Page 4: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

The Distributed Slicing The Distributed Slicing ProblemProblem

The Distributed Slicing The Distributed Slicing ProblemProblem

nn nodes, each has an attribute nodes, each has an attribute value value xxii

Divide the sorted list of Divide the sorted list of xxii’s into ’s into kk slices slices

Each node Each node ii wants to wants to independently know to which of the independently know to which of the kk slices slices xxii belongs belongs

nn nodes, each has an attribute nodes, each has an attribute value value xxii

Divide the sorted list of Divide the sorted list of xxii’s into ’s into kk slices slices

Each node Each node ii wants to wants to independently know to which of the independently know to which of the kk slices slices xxii belongs belongs

1 4 5 7 50 80 83 95 98

Page 5: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

The Distributed Slicing The Distributed Slicing ProblemProblem

The Distributed Slicing The Distributed Slicing ProblemProblem

nn nodes, each has an attribute nodes, each has an attribute value value xxii

Divide the sorted list of Divide the sorted list of xxii’s into ’s into kk slices slices

Each node Each node ii wants to wants to independently know to which of the independently know to which of the kk slices slices xxii belongs belongs

nn nodes, each has an attribute nodes, each has an attribute value value xxii

Divide the sorted list of Divide the sorted list of xxii’s into ’s into kk slices slices

Each node Each node ii wants to wants to independently know to which of the independently know to which of the kk slices slices xxii belongs belongs

1 4 5 7 50 80 83 95 98

I’m in slice 2!I’m in slice 2!

Page 6: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

The Distributed Slicing ProblemThe Distributed Slicing ProblemThe Distributed Slicing ProblemThe Distributed Slicing Problem

Large network with high rate of churn

Large network with high rate of churn

Page 7: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

The Distributed Slicing ProblemThe Distributed Slicing ProblemThe Distributed Slicing ProblemThe Distributed Slicing Problem

Large network with high rate of churn

Example: Choosing super-peers in the

network

Large network with high rate of churn

Example: Choosing super-peers in the

network

Page 8: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

Sliver: Distributed slicing Sliver: Distributed slicing algorithmalgorithm

Sliver: Distributed slicing Sliver: Distributed slicing algorithmalgorithm

Each node i gossips xi (and other known values) to c random nodes

Each node i gossips xi (and other known values) to c random nodes

Page 9: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

Sliver: Distributed slicing Sliver: Distributed slicing algorithmalgorithm

Sliver: Distributed slicing Sliver: Distributed slicing algorithmalgorithm

Each node i gossips xi (and other known values) to c random nodes

Node j keeps track of data it receives Value, sender, expiration time Suppose Bj values out of m are below xj

Each node i gossips xi (and other known values) to c random nodes

Node j keeps track of data it receives Value, sender, expiration time Suppose Bj values out of m are below xj

Page 10: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

Sliver: Distributed slicing Sliver: Distributed slicing algorithmalgorithm

Sliver: Distributed slicing Sliver: Distributed slicing algorithmalgorithm

Each node i gossips xi (and other known values) to c random nodes

Node j keeps track of data it receives Value, sender, expiration time Suppose Bj values out of m are below xj

Node j estimates its slice as

Each node i gossips xi (and other known values) to c random nodes

Node j keeps track of data it receives Value, sender, expiration time Suppose Bj values out of m are below xj

Node j estimates its slice as

Page 11: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

ResultsResultsResultsResults All nodes know their slice within 1 w.h.p.

after rounds in

expectation

All nodes know their slice within 1 w.h.p. after

rounds in expectation

Page 12: Sliver: A fast distributed slicing algorithm Ymir Vigfusson Cornell University Ymir Vigfusson Cornell University Vincent Gramoli EPFL & UniNE Switzerland

ResultsResultsResultsResults All nodes know their slice within 1 w.h.p.

after rounds in

expectation

Experiments on Emulab and simulations on Skype traces indicate rapid convergence and churn-tolerance

Conclusion: Sliver is simple and robust with fast convergence properties.

All nodes know their slice within 1 w.h.p. after

rounds in expectation

Experiments on Emulab and simulations on Skype traces indicate rapid convergence and churn-tolerance

Conclusion: Sliver is simple and robust with fast convergence properties.