Topologically-Aware Overlay Construction and Server Selection Sylvia Ratnasamy, Mark Handly, Richard Karp and Scott Shenker Presented by Shreeram Sahasrabudhe CSE 498 Advanced Networks
Motivation The potential benefit by some knowledge of topology for distributed internet applications Improving application-level connectivity Need for solution which is Simple Fast – for the dynamic target systems Distributed – no central point of failure or bottleneck Scalable – for millions of nodes
Approach Network Measurement used: Network Latency Non-intrusive Light-weight End-to-end Priorities: (Scalability + Practicality) > Accuracy Binning Scheme Evaluation of the application of this scheme to overlay networks and server selection
Distributed Binning Requires a set of landmark machines spread across the internet. (8-12 machines) Nodes measure RTT to each of these landmarks and orders the landmarks in increasing RTT. (relative) Divide the range of possible latency values into layers (absolute)
Scalable? Each node only needs measure with small set of landmarks At a million nodes on the network, refreshing at every hour, each landmark would approximately handle 2700pings/sec. (800Mhz m/c; DNS root servers handle DNS queries at 1600/sec) Better scalability by have multiple nodes at a location act as a single logical landmark.
Sanity Check For each node in a bin compute Gain ratio = inter-bin latency / intra-bin latency Ratio = Reduction in Latency = Desirable Algorithm tested on simulated topologies (Transit Stub, Power-law Random Graphs) and internet data (NLANR). Improvement rapidly saturates Gain ratio is affected by the size of the underlying topology
Binning Vs (Random, Nearest-Neighbor) Random Binning: Each node selects a bin at random. Nearest Neighbor Clustering: At each iteration, two closest clusters are merged into a single cluster.
Construction of Overlays Structured: Nodes are interconnected (at application-level) in a well-defined manner. Content-Addressable Network, Chord, PASTRY, Tapestry Unstructured: Less structured networks End- system multicast, Scattercast. Measurement metric is Latency Stretch: ratio of average inter-node latency on the overlay network to the average inter-node latency on the underlying IP-level network. Latency Stretch = Better!
Construction of CAN topologies using Binning Ordering of landmarks is used for binning m landmarks, m! orderings Co-ordinate space divided along first dimension into m portions, each portion sub divided along second dimension into m-1 portions and so on New node joins CAN at a random portion associated with its landmark ordering Result Co-ordinate space not uniformly populated Uneven distribution of size of zone spaces (future work!)
Unstructured Overlays Given a set of n nodes on the Internet, have each node pick any k neighbor nodes from this set, so that the average routing latency on the resultant overlay is low. Use a heuristic algorithm: node picks k/2 closest nodes and k/2 at random Short-Long: Shortest path routing, short-long-short BinShort: k/2 nodes from self-bin and rest k/2 at random.
Server - Selection If (Server=bin[client]) > 1 Redirect to a random server in same bin Else Select existing server with most_similar_bin to client’s (Degree of similarity between two bins = no of matches of positions in landmark ordering) Stretch = (latency to selected server) / (latency to optimal server)
- For TS-10K 1000 servers, rest clients - Adjusted stretch - For NLANR data - Improved performance - diminishing returns