BLE SCALA ON Ankit Singla, P. Brighten Godfrey Kevin Fall, Sylvia Ratnasamy, Gianluca Iannaccone ROUTING STATE/NODE Scalable Routing SHORTEST-PATH ROUTING NOT VERY SCALABLE! ? NUMBER OF NODES = n Scalable Routing STRUCTURED TOPOLOGIES 6, 20 But, what about general topologies? 4, 11 3 Scalable Routing HIERARCHY • Inefficient • Location-dependent addressing t s 4 Why Not DNS/DHTs? A RIGHT NEXT TO YOU, SILLY! WHERE IS A? Arbitrarily long paths! 5 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 6 Flat Names • Arbitrary names – independent of location • Useful primitive – Mobility – Security – Simplified management 7 Another Way to Scale • Compact Routing – [Thorup & Zwick ’01, Abraham et al. ’04] – Idea: accept (slightly) longer paths, get lower state (stretch = – State route length ) shortest path length => Stretch 8 ROUTING STATE/NODE Compact Routing Θ state; stretch = 1 Θ . . . NUMBER OF NODES = n Θ state; stretch = 3 3 state; stretch = 5 Θ 2/(+1) state; stretch = k 9 Algorithm != Protocol NOT DISTRIBUTED NOT DYNAMIC 10 Disco Disco: Distributed Compact Routing • Scalable: state* per node • Efficient: (1) stretch • Flat-names: Route over arbitrary names *Assumption: Θ ;3 .. partial source routes are of size O(polylog(n)) 11 Disco Local Name Resolution Name Resolution NDDisco: Name-Dependent Distributed Compact Routing 12 NDDisco ( ) random landmarks (enable approximately shortest paths) L(t) b Addr (t) = (L(t), b, t) s t 13 NDDisco For nearby nodes, the approximation can be poor! L(t') t' s 14 NDDisco ( ) node vicinity ( ) random landmarks L(t) t' s t 15 NDDisco Destination can help! L(t) s t 16 Disco Local Name Resolution Name Resolution NDDisco: Name-Dependent Distributed Compact Routing 17 Name Resolution • Name -> Address mappings stored in DHT over landmarks • Similar to prior work [BVR, S4] t s Arbitrarily high stretch for address lookup! 18 Disco Local Name Resolution Name Resolution NDDisco: Name-Dependent Distributed Compact Routing 19 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? L(t) ? s t Smells like hash functions! 20 Sloppy Groups EVERYONE AGREES ON THIS PART t G(t) • 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! 21 Address Dissemination • Requirements: – Low diameter for quick dissemination of addresses – Low messaging overhead – Fault tolerance 22 Address Dissemination • Predecessor, successor and small O(1) number of fingers • Distance-vector style dissemination of addresses 23 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! 24 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 25 Handling Failures: Example WITHDRAW ADDRESSES LEARNT FROM X X GET NEW NEIGHBOR FROM LANDMARK No soft-state required! Update only on changes 26 Routing in Disco L(t) w(t) s t • s computes h(t) • w(t) = Longest-prefix match for h(t) in Vicinity(s) First : s Later: s w(t) L(t) L(t) t t 27 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 28 Summary • State at a node – Vicinity: ( ) closest nodes – Landmarks: ( ) random landmarks – Address-Groups: ( ) overlay neighbors • Stretch – For first packet <= 7 – For later packets <= 3 29 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 30 State SHORTEST PATH PROTOCOL GEOMETRIC RANDOM GRAPHS OF INCREASING SIZE 31 State S4 DISCO LONG TAIL NDDISCO ROUTER-LEVEL INTERNET TOPOLOGY 32 First-Packet Stretch DISCO S4 LIMITED BY SMALL PATH-LENGTHS IN TOPOLOGY ROUTER-LEVEL INTERNET TOPOLOGY DISCO LARGE FIRST-PACKET STRETCH GEOMETRIC RANDOM GRAPH 16384-NODES 33 Later-Packets Stretch DISCO NEAR-IDENTICAL ROUTER-LEVEL INTERNET TOPOLOGY S4 DISCO < 1.2 GEOMETRIC RANDOM GRAPH 16384-NODES 34 Are the Landmarks Clobbered? DISCO ~4 IN EVERY 10,000 EDGES SEE MORE CONGESTION AS-LEVEL INTERNET TOPOLOGY 35 Conclusion • Disco routes over flat names with O(1) stretch and state • What next? – Policy support? – Applications 36 Thank You Questions?