scalablescalable ankit singla, p. brighten godfrey kevin fall, sylvia ratnasamy, gianluca iannaccone...

37
SCALABL E Ankit Singla, P. Brighten Godfrey Kevin Fall, Sylvia Ratnasamy, Gianluca Iannaccone R U O I T N G FLAT NAMES ON

Upload: josue-elmer

Post on 15-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

SCALABLE

Ankit Singla, P. Brighten GodfreyKevin Fall, Sylvia Ratnasamy, Gianluca Iannaccone

R UO ITN

G

FLAT NAMESFLAT NAMESON

Scalable Routing

NUMBER OF NODES = n

NOT VERY SCALABLE!

STATE

=

SHORTEST-PATH ROUTING

?ROU

TIN

G

STAT

E/N

OD

E

3

Scalable Routing

STRUCTURED

TOPOLOGIES

4, 11

6, 20

But, what about general topologies?

4

Scalable Routing

HIERARCHY

• Inefficient• Location-dependent

addressings

t

5

Why Not DNS/DHTs?

Arbitrarily long paths!

WHERE IS A?

A

RIGHT NEXT TO YOU, SILLY!

6

Local Name Resolution

• Why local name-resolution matters– Google: 400ms delay = 0.59% searches/user– Time for name-resolution is a significant fraction

of latency for short flows (which are the majority)– Fate sharing property

7

• Arbitrary names – independent of location• Useful primitive– Mobility– Security– Simplified management

Flat Names

8

Another Way to Scale• Compact Routing– [Thorup & Zwick ’01, Abraham et al. ’04]– Idea: accept (slightly) longer paths, get lower state

– State => Stretch

(stretch = )

state; stretch = 3

state; stretch = k

.

.

.

state; stretch = 5

Compact Routing

NUMBER OF NODES = n

state; stretch = 1

ROU

TIN

G

STAT

E/N

OD

E

9

Algorithm != Protocol

NOT DISTRIBUTEDNOT DYNAMIC

10

11

Disco

Disco: Distributed Compact Routing

• Scalable: state* per node• Efficient: stretch • Flat-names: Route over arbitrary names

*Assumption: partial source routes are of size O(polylog(n))

3..

12

Disco

Local Name Resolution

Name Resolution

NDDisco: Name-Dependent Distributed Compact RoutingNDDisco: Name-Dependent

Distributed Compact Routing

13

NDDisco

sAddr (t) = (L(t), b, t)

t

L(t)

) random landmarks (enable approximately shortest paths)

b

14

NDDisco

s

t'

L(t')

For nearby nodes, the approximation can be poor!

15

NDDisco

s

t'

L(t)

) random landmarks ) node vicinity

t

16

NDDisco

s

L(t)

Destination can help!

t

17

Disco

Local Name Resolution

Name Resolution

NDDisco: Name-Dependent Distributed Compact Routing

Name Resolution

18

Name Resolution• Name -> Address

mappings stored in DHT over landmarks

• Similar to prior work [BVR, S4]

Arbitrarily high stretch for address lookup!

st

19

Disco

Local Name Resolution

Name Resolution

NDDisco: Name-Dependent Distributed Compact Routing

Local Name Resolution

20

Local Name Resolution• Scatter t’s address to )

random nodes

• Then each node s has t’s address somewhere in its vicinity w.h.p.

• ‘Scattering’ addresses?• Finding addresses?

ts

?L(t)

Smells like hash functions!

21

Sloppy Groups

• G(t) = nodes w for which first k bits of h(w) match h(t)• Set k such that |G(t)| = () • Groups are sloppy because nodes’ estimates of ‘n’ vary!

Increasing h()

EVERYONE AGREES ON THIS

PARTt

G(t)

22

Address Dissemination

• Requirements:– Low diameter for quick dissemination of addresses– Low messaging overhead– Fault tolerance

Increasing h()

23

Address Dissemination

• Predecessor, successor and small O(1) number of fingers• Distance-vector style dissemination of addresses

Increasing h()

24

1: Overlay Topology

• Predecessor, successor and small O(1) number of fingers– Fault tolerance: Use landmarks to fix overlay when broken– Miserly messaging: each node hears each address O(1) times– We don’t care about routing, only diameter, which is small!

Increasing h()

25

2: Dissemination Protocol

• Disseminate new addresses learnt to overlay neighbors• Record where each address was learnt from (distance vector-like)• Always forward away from the direction received from

– Avoids count-to-infinity problem because of ordered space

Increasing h()

26

Handling Failures: Example

No soft-state required!Update only on changes

Increasing h()

GET NEW NEIGHBOR FROM LANDMARK

WITHDRAW ADDRESSESLEARNT FROM X X

27

Routing in Disco

w(t)

• s computes h(t)• w(t) = Longest-prefix

match for h(t) in Vicinity(s)

First : s w(t) L(t) tLater: s L(t) t

st

L(t)

28

Protocol Messages• Estimating ‘n’: synopses

exchanged with neighbors• Landmark and Vicinity

updates: path vector style• Sloppy-group bootstrap

through landmarks• Address-dissemination:

distance-vector style

s

29

• State at a node– Vicinity: ) closest nodes– Landmarks: ) random landmarks– Address-Groups: ) overlay neighbors

•Stretch– For first packet <= 7– For later packets <= 3

Summary

30

Evaluation

• Protocols– Disco– NDDisco– S4 [Mao et al ‘07]– VRR [Caesar et al ‘06]

• refer to paper

• Topologies– Router-level Internet

topology (n = 192,244)– AS-level Internet topology

(n = 30,610)– Geometric random

graphs, mean degree 8– G(n, m), mean degree 8

StateSHORTEST PATH

PROTOCOL

31

NDDISCO

S4

GEOMETRIC RANDOM GRAPHS OF INCREASING SIZE

32

State

LONG TAIL

S4

DISCO

NDDISCO

ROUTER-LEVEL INTERNET TOPOLOGY

33

First-Packet Stretch

GEOMETRIC RANDOM GRAPH16384-NODES

ROUTER-LEVEL INTERNETTOPOLOGY

72

LARGE FIRST-PACKETSTRETCH

DISCO S4

S4

DISCO

LIMITED BY SMALL PATH-LENGTHS IN

TOPOLOGY

34

Later-Packets Stretch

GEOMETRIC RANDOM GRAPH16384-NODES

ROUTER-LEVEL INTERNETTOPOLOGY

DISCO < 1.2NEAR-IDENTICAL

S4DISCO

Are the Landmarks Clobbered?

AS-LEVEL INTERNET TOPOLOGY

35

~4 IN EVERY 10,000 EDGES SEE MORE

CONGESTION

DISCO

36

Conclusion

• Disco routes over flat names with O(1) stretch and state

• What next?– Policy support?– Applications

Thank You

Questions?