AVMON: Optimal and Scalable Discovery of Consistent Availability Monitoring Overlays for Distributed Systems
Issue No. 04 - April (2009 vol. 20)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2008.84
Ramsés Morales , University of Illinois at Urbana-Champaign, Urbana
Indranil Gupta , University of Illinois at Urbana-Champaign, Urbana
This paper proposes to build overlays that help in monitoring of long-term availability histories of hosts, with a focus on large-scale distributed settings where hosts may be selfish or colluding. Concretely, we target the important problems of selection and discovery of an availability monitoring overlay. We motivate six significant goals - firstly, consistency, verifiability, and randomness, in selecting availability monitors of nodes, so as to be probabilistically resilient to selfish and colluding nodes. The next three goals are discoverability, load-balancing, and scalability in finding these monitors. We present AVMON, the first availability monitoring overlay to satisfy these six requirements. Our core algorithmic contribution is a range of protocols for discovering the availability monitoring overlay scalably and efficiently, given any arbitrary monitor selection scheme that is consistent and verifiable. We mathematically analyze the performance of AVMON's discovery protocols w.r.t. scalability and discovery time of monitors. Most interestingly, we are able to derive optimal (and practical) variants of AVMON, that minimize different combinations of memory, bandwidth, computation, and monitor discovery time. Finally, our extensive experimental evaluations using three types of availability traces - synthetic, from PlanetLab, and from the Overnet p2p system - demonstrate AVMON's practicality in a variety of distributed systems.
Distributed Systems, Churn, Availability, Monitoring, Overlay, Consistency, Scalability, Optimality
I. Gupta and R. Morales, "AVMON: Optimal and Scalable Discovery of Consistent Availability Monitoring Overlays for Distributed Systems," in IEEE Transactions on Parallel & Distributed Systems, vol. 20, no. , pp. 446-459, 2008.