Abstract
The developers of today’s cloud computing systems are expected to not only create applications that will work well at scale, but also to create management services that will monitor run-time conditions and intervene to address problems as conditions evolve. Management tasks are generally not performance intensive, but robustness is critical: when a large system becomes unstable, the management infrastructure must remain reliable, predictable, and fault-tolerant.
A wide range of management tasks can be expressed as gossip protocols where nodes in the system periodically interact with random peers and exchange information about their respective states. Although individual gossip protocols are typically very simple, by composing multiple protocols one can create a wide variety of interesting, complex functionality with strong (albeit probabilistic) robustness and convergence guarantees. For example, in a system with a sufficiently dense topology, all nodes will learn the information being disseminated in expected logarithmic time. Unfortunately, programmers today must typically build gossip protocols by hand—an approach that makes their programs more complicated and error-prone, and hinders attempts to optimize gossip implementations to achieve better performance.
MiCA is a new system for building gossip-based management tools that are highly resistant to disruptions and make efficient use of system resources. MiCA provides abstractions that enable expressing gossip protocols in terms of functions on pairs of node states, along with a rich collection of composition operators that facilitates constructing sophisticated protocols in a modular style. The MiCA prototype realizes these abstractions on top of the Java Virtual Machine, and implements optimizations that greatly reduce the number and size of messages used.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Alvaro, P., Condie, T., Conway, N., Elmeleegy, K., Hellerstein, J.M., Sears, R.: Boom analytics: exploring data-centric, declarative programming for the cloud. In: European Conference on Computer Systems, pp. 223–236 (2010)
Ben-Or, M., Dolev, D., Hoch, E.N.: Fast self-stabilizing byzantine tolerant digital clock synchronization. In: Symposium on Principles of Distributed Computing, pp. 385–394 (August 2008)
Broder, A.Z., Frieze, A.M., Upfal, E.: Static and dynamic path selection on expander graphs: A random walk approach. Random Structures and Algorithms 14(1), 87–109 (1999)
Apache Cassandra, http://cassandra.apache.org
Dagand, P.-E., Kostić, D., Kuncak, V.: Opis: Reliable distributed systems in OCaml. In: International Workshop on Types in Language Design and Implementation, pp. 65–78 (January 2009)
Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. In: Symposium on Operating Systems Design and Implementation, pp. 137–150 (December 2004)
DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available key-value store. In: Symposium on Operating Systems Principles, pp. 205–220 (October 2007)
Demers, A., Greene, D., Hauser, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., Terry, D.: Epidemic algorithms for replicated database maintenance. In: Symposium on Principles of Distributed Computing, pp. 1–12 (August 1987)
Dolev, D., Hoch, E.N.: Byzantine self-stabilizing pulse in a bounded-delay model. In: Masuzawa, T., Tixeuil, S. (eds.) SSS 2007. LNCS, vol. 4838, pp. 234–252. Springer, Heidelberg (2007)
Dolev, S.: Self-Stabilization. MIT Press (2000)
Eugster, P.: Uniform proxies for java. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 139–152 (October 2006)
Garbinato, B., Guerraoui, R.: Flexible protocol composition in Bast. In: International Conference on Distributed Computing Systems, pp. 22–29 (May 1998)
Jelasity, M., Montresor, A., Babaoglu, Ö.: T-Man: Gossip-based fast overlay topology construction. Computer Networks 53(13), 2321–2339 (2009)
JXTA The Language and Platform Independent Protocol for P2P Networking, https://jxta.kenai.com
Loo, B.T., Condie, T., Hellerstein, J.M., Maniatis, P., Roscoe, T., Stoica, I.: Implementing declarative overlays. In: Symposium on Operating Systems Principles, pp. 75–90 (October 2005)
Massoulié, L., Le Merrer, E., Kermarrec, A.-M., Ganesh, A.: Peer counting and sampling in overlay networks: random walk methods. In: Symposium on Principles of Distributed Computing, pp. 123–132 (August 2006)
Miranda, H., Pinto, A., Rodrigues, L.: Appia, a flexible protocol kernel supporting multiple coordinated channels. In: International Conference on Distributed Computing Systems, pp. 707–710 (April 2001)
Princehouse, L., Birman, K.: Code-partitioning gossip. Operating Systems Review 43, 40–44 (2010)
Riak, http://basho.com/riak/
Rodriguez, A., Killian, C.E., Bhat, S., Kostic, D., Vahdat, A.: MACEDON: Methodology for automatically creating, evaluating, and designing overlay networks. In: Symposium on Networked Systems Design and Implementation, pp. 267–280 (March 2004)
Subramaniyan, R., Raman, P., George, A.D., Radlinski, M.A., Radlinski, M.A.: GEMS: Gossip-enabled monitoring service for scalable heterogeneous distributed systems. Cluster Computing 9(1), 101–120 (2006)
Tibco message bus, http://www.tibco.com/products/automation/messaging/default.jsp
Tölgyesi, N., Jelasity, M.: Adaptive peer sampling with newscast. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 523–534. Springer, Heidelberg (2009)
Vallée-Rai, R., Hendren, L., Sundaresan, V., Lam, P., Gagnon, E., Co, P.: Soot – a Java optimization framework. In: Conference of the Centre for Advanced Studies on Collaborative Research, pp. 125–135 (November 1999)
Van Renesse, R., Birman, K.P., Vogels, W.: Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining. Transactions on Computing Systems 21(2), 164–206 (2003)
van Renesse, R., Minsky, Y., Hayden, M.: A gossip-based failure detection service. In: International Middleware Conference, pp. 55–70 (September 1998)
Vigfusson, Y., Birman, K., Huang, Q., Nataraj, D.P.: Optimizing information flow in the gossip objects platform. Operating Systems Review 44(2), 71–76 (2010)
Waldo, J.: The Jini architecture for network-centric computing. Communications of the ACM 42(7), 76–82 (1999)
WebSphere MQ, http://www-03.ibm.com/software/products/en/wmq/
Wong, G.T., Hiltunen, M.A., Schlichting, R.D.: A configurable and extensible transport protocol. In: International Conference on Computer Communications, pp. 319–328 (April 2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
1 Electronic Supplementary Material
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Princehouse, L., Chenchu, R., Jiang, Z., Birman, K.P., Foster, N., Soulé, R. (2014). MiCA: A Compositional Architecture for Gossip Protocols. In: Jones, R. (eds) ECOOP 2014 – Object-Oriented Programming. ECOOP 2014. Lecture Notes in Computer Science, vol 8586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44202-9_26
Download citation
DOI: https://doi.org/10.1007/978-3-662-44202-9_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44201-2
Online ISBN: 978-3-662-44202-9
eBook Packages: Computer ScienceComputer Science (R0)