90 likes | 193 Views
Supporting Wide-area Applications. Complexities of global deployment Network unreliability BGP slow convergence, redundancy unexploited Management of large scale resources / components Locate, utilize resources despite failures Decentralized Object Location and Routing (DOLR)
E N D
Supporting Wide-area Applications • Complexities of global deployment • Network unreliability • BGP slow convergence, redundancy unexploited • Management of large scale resources / components • Locate, utilize resources despite failures • Decentralized Object Location and Routing (DOLR) • wide-area overlay application infrastructure • Self-organizing, scalable • Fault-tolerant routing and object location • Efficient (b/w, latency) data delivery • Extensible, supports application-specific protocols • Recent work • Tapestry, Chord, CAN, Pastry, Kademlia, Viceroy, … http://www.cs.berkeley.edu/~ravenben/tapestry
Tapestry: Decentralized Object Location and RoutingZhao, Kubiatowicz, Joseph, et. al. • Mapping keys to physical network • Large sparse Id space N • Nodes in overlay network have NodeIds N • Given k N, overlay deterministically maps k to its root node (a live node in the network) • Base API • Publish / Unpublish (Object ID) • RouteToNode (NodeId) • RouteToObject (Object ID) http://www.cs.berkeley.edu/~ravenben/tapestry
3 4 2 NodeID 0xEF34 1 4 3 2 1 3 4 4 3 2 3 4 2 3 1 2 1 2 3 1 Tapestry MeshIncremental prefix-based routing NodeID 0xEF97 NodeID 0xEF32 NodeID 0xE399 NodeID 0x43FE NodeID 0xEF37 NodeID 0xEF44 NodeID 0x099F NodeID 0xE530 NodeID 0xEF40 NodeID 0xEF31 NodeID 0xE555 NodeID 0xEFBA NodeID 0x0999 NodeID 0xE932 NodeID 0xFF37 NodeID 0x0921 NodeID 0xE324 http://www.cs.berkeley.edu/~ravenben/tapestry
Object LocationRandomization and Locality http://www.cs.berkeley.edu/~ravenben/tapestry
Single Node Architecture DecentralizedFile Systems Application-LevelMulticast ApproximateText Matching Application Interface / Upcall API Routing Table&Object Pointer DB Dynamic NodeManagement Router Network Link Management Transport Protocols http://www.cs.berkeley.edu/~ravenben/tapestry
Status and Deployment • Planet Lab global network • 98 machines at 42 institutions, in North America, Europe, Australia (~ 60 machines utilized) • 1.26Ghz PIII (1GB RAM), 1.8Ghz PIV (2GB RAM) • North American machines (2/3) on Internet2 • Tapestry Java deployment • 6-7 nodes on each physical machine • IBM Java JDK 1.30 • Node virtualization inside JVM and SEDA • Scheduling between virtual nodes increases latency http://www.cs.berkeley.edu/~ravenben/tapestry
Median=31.5, 90th percentile=135 Node to Node Routing • Ratio of end-to-end routing latency to shortest ping distance between nodes • All node pairs measured, placed into buckets http://www.cs.berkeley.edu/~ravenben/tapestry
Object Location 90th percentile=158 • Ratio of end-to-end latency for object location, to shortest ping distance between client and object location • Each node publishes 10,000 objects, lookup on all objects http://www.cs.berkeley.edu/~ravenben/tapestry
90th percentile=55042 Parallel Insertion Latency • Dynamically insert nodes in unison into a Tapestry of 200 • Shown as function of insertion group size / network size • Node virtualization effect: CPU scheduling contention results in timeout of Ping measurements, resulting in high deviation http://www.cs.berkeley.edu/~ravenben/tapestry