Locality Aware Mechanisms for Large-scale Networks: The Tapestry Infrastructure
John D. Kubiatowicz
UC Berkeley
Locality Aware Mechanisms for Large-scale Networks: The Tapestry - - PowerPoint PPT Presentation
Locality Aware Mechanisms for Large-scale Networks: The Tapestry Infrastructure John D. Kubiatowicz UC Berkeley Global Scale Applications Clear demand for global scale applications Exploiting collective resources File sharing, data
UC Berkeley
John Kubiatowicz Tahoe Retreat 06/02
Clear demand for global scale applications
– Exploiting collective resources – File sharing, data dissemination, shared computation
Wide-area issues
– Scalability, fault-handling, adaptability, manageability
Decentralized Object Location and Routing (DOLR)
– Provides scalable message routing to objects
John Kubiatowicz Tahoe Retreat 06/02
John Kubiatowicz Tahoe Retreat 06/02
“The ability to exploit local resources over remote
“-Centric” approach
– Client-centric, server-centric, data source-centric
Requirements:
– Find data quickly, wherever it might reside
Locate nearby object without global communication Permit rapid object migration
– Verifiable: can’t be sidetracked
Data name cryptographically related to data
John Kubiatowicz Tahoe Retreat 06/02
4 2 3 3 3 2 2 1 2 4 1 2 3 3 1 3 4 1 1 4 3 2 4 NodeID 0xEF34 NodeID 0xEF31 NodeID 0xEFBA NodeID 0x0921 NodeID 0xE932 NodeID 0xEF37 NodeID 0xE324 NodeID 0xEF97 NodeID 0xEF32 NodeID 0xFF37 NodeID 0xE555 NodeID 0xE530 NodeID 0xEF44 NodeID 0x0999 NodeID 0x099F NodeID 0xE399 NodeID 0xEF40 NodeID 0xEF34
John Kubiatowicz Tahoe Retreat 06/02
John Kubiatowicz Tahoe Retreat 06/02
Massive parallel insert is important
– We now have algorithms that handle “arbitrary
– Construction of nearest-neighbor mesh links
Log2 n message complexity⇒fully operational routing mesh
– Objects kept available during this process
Incremental movement of pointers
Interesting Issue: Introduction service
– How does a new node find a gateway into the
John Kubiatowicz Tahoe Retreat 06/02
Instability is the common case….!
– Small half-life for P2P apps (1 hour????) – Congestion, flash crowds, misconfiguration, faults
BGP convergence 3-30 mins!
– Mobile clients in semi-connected mode
Must Use Overlay under instability! Must be somehow:
– Insensitive to faults and denial of service attacks
Route around bad servers and ignore bad data
– Repairable infrastructure
Easy to reconstruct routing and location information
– Without care, worst case: sub-optimal paths, network
John Kubiatowicz Tahoe Retreat 06/02
All state is Soft State
– Continuous probing, selection of neighbors – Periodic restoration of state
Stability through statistics:
– Redundancy at many levels: – Neighbor links, Object Roots, etc.
Dynamic Stabilization:
– Integrate/remove themselves automatically – Pointer state routed around faulty node
Markov Models:
– What is a misbehaving router? Communication link? – What level of redundancy necessary? – Are we under attack?
John Kubiatowicz Tahoe Retreat 06/02
Maintenance of link conditions, routing state Example: soft-state beacons measure link
Locality awareness
– Naïve: messages sent across overlay hops at same
– Traffic can scale with length of overlay hop, possibly
Alternatives:
– Scale soft-state frequency w/ length of overlay hop – External fault-detection / measurement platform
John Kubiatowicz Tahoe Retreat 06/02
John Kubiatowicz Tahoe Retreat 06/02
Keep multiple routes for every link
– Pre-compute alternatives – Quick adaptation (using up pre-computing)
Destination-rooted spanning tree
– For each node N, reachable by all other nodes – All paths union to form spanning tree rooted at N
Convergence
– # of candidates for the next hop decreases by b every
– Nodes routing to same ID converge as a function of
John Kubiatowicz Tahoe Retreat 06/02
John Kubiatowicz Tahoe Retreat 06/02
John Kubiatowicz Tahoe Retreat 06/02
FRLS Packet Delivery Rate vs. Link Failure
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
Fraction of Failed Links Packet Delivery Rate
E: No route connecting endpoints D: Route exists, FRLS = no, IP = no C: FRLS=yes, IP=no B: FRLS=no, IP=yes A: FRLS = yes, IP = yes
John Kubiatowicz Tahoe Retreat 06/02
John Kubiatowicz Tahoe Retreat 06/02
Simple algorithms for placing replicas on nodes in
– Intuition: locality properties
– Tapestry helps associate
Preliminary results
John Kubiatowicz Tahoe Retreat 06/02
Gaia: a living network
– James Lovelock [1979]
Large scale self-management
– Locally constrained interactions scalability,
– Layered control structure – Upward propagation of aggregate data
Survival via active redundancy & self-repair
– Catastrophic failures handled by top level control
John Kubiatowicz Tahoe Retreat 06/02
Decentralized Object Location and Routing (DOLR)
– Important to be able to route to objects
… With Locality
– Use of local resources whenever possible!
Continuous adaptation, repair
– System never quite fully stable – Continuous convergence – Keep objects as available as possible