Pharos network coordinates
Pharos is hierarchical and decentralized network coordinate system. With the help of a simple two-level architecture, it achieves much better prediction accuracy then the representative Vivaldi coordinates, and it is incrementally deployable.
Overview
- Network coordinates (NC) system is an efficient mechanism for Internet latency prediction with scalable measurements. Vivaldi coordinates is the representative distributed NC system, and it is deployed in many well-known Internet systems, such as Bamboo DHT (Distributed hash table),[1] Stream-Based Overlay Network (SBON)[2] and Azureus BitTorrent.[3]
- Pharos[4] is a fully decentralized NC system. All nodes in Pharos form two levels of overlays, namely base overlay for long link prediction, and local cluster overlay for short link prediction. Vivaldi algorithm is applied to both base overlay and local cluster. As a result, each Pharos node has two sets of coordinates. The coordinates calculated in the base overlay, which is named global NC, is used for the global scale, and the coordinates calculated in the corresponding local cluster, which is named local NC, covers a smaller range of distance.
- To form the local cluster, Pharos uses a method similar to binning and chooses some nodes called anchors to help node clustering. This method only requires a one-time measurement (with possible periodic refreshes) by the client to a small, fixed set of anchors. Any stable nodes which are able to response ICMP ping message can serve as anchor, such as the existing DNS servers.
- The experimental results show that Pharos greatly outperforms Vivaldi in Internet distance prediction without adding any significant overhead.
Insights behind Pharos
- Simple and effective, obtain significant improvement in prediction accuracy by introducing a straightforward hierarchical distance prediction
- Fully compatible with Vivaldi, the most widely deployed NC system. For every host where the Vivaldi client has been deployed, it just needs to run classic Vivaldi NC algorithm to join global overlay and local cluster, without deploying another NC client.
- The anchors in Pharos is different from landmarks in Global network positioning (GNP),[5] which not only has to reply the ICMP ping but also need to reply the queries from all clients by sending their latest NCs. No requirement to deploy any extra software on the anchors.
Implementation
- There is an open source implementation of Pharos on PlanetLab, so-called Toread,[6] one can easily fetch the source code via "svn checkout http://toread.googlecode.com/svn/trunk/ toread-read-only".
See also
External links
References
- ↑ S. Rhea, D. Geels, T. Roscoe et al. (2004). "Handling Churn in a DHT". Proceedings of the USENIX Annual Technical Conference (ATC'04).
- ↑ P. Pietzuch, J. Ledlie, J. Shneidman et al. (2006). "Network-Aware Operator Placement for Stream-Processing Systems". 22nd International Conference on Data Engineering (ICDE'06).
- ↑ J. Ledlie, P. Gardner, and M. Seltzer (2007). "Network Coordinates in the Wild". 4th USENIX Symposium on Networked Systems Design & Implementation.
- ↑ Y. Chen, Y. Xiong, X. Shi et al. (April 2009). "Pharos: Accurate and Decentralised Network Coordinate System". IET Communications 3 (4): 539–548.
- ↑ T. S. E. Ng and H. Zhang (2002). "Predicting Internet Network Distance with Coordinates-based Approaches". IEEE INFOCOM.
- ↑ Y. Zhu, Y. Chen, Z. Zhang et al. (2010). "Taming the Triangle Inequality Violations with Network Coordinate System on Real Internet". 3rd ACM International Workshop on Re-Architecting the Internet (ReArch'10), held in conjunction with 6th International Conference on emerging Networking EXperiments and Technologies (CoNEXT'10).