Long-Lived Rambo: Trading Knowledge for Communication

  • Chryssis Georgiou
  • Peter M. Musial
  • Alexander A. Shvartsman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3104)


Shareable data services providing consistency guarantees, such as atomicity (linearizability), make building distributed systems easier. However, combining linearizability with efficiency in practical algorithms is difficult. A reconfigurable linearizable data service, called Rambo, was developed by Lynch and Shvartsman. This service guarantees consistency under dynamic conditions involving asynchrony, message loss, node crashes, and new node arrivals. The specification of the original algorithm is given at an abstract level aimed at concise presentation and formal reasoning about correctness. The algorithm propagates information by means of gossip messages. If the service is in use for a long time, the size and the number of gossip messages may grow without bound. This paper presents a consistent data service for long-lived objects that improves on Rambo in two ways: it includes an incremental communication protocol and a leave service. The new protocol takes advantage of the local knowledge, and carefully manages the size of messages by removing redundant information, while the leave service allows the nodes to leave the system gracefully. The new algorithm is formally proved correct by forward simulation using levels of abstraction. An experimental implementation of the system was developed for networks-of-workstations. The paper also includes analytical and preliminary empirical results that illustrate the advantages of the new algorithm.


Dynamic Network Forward Simulation Message Loss Phase Number Query Phase 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Special Issue on Group Communication Services. 39(4) of Comm. of the ACM (1996)Google Scholar
  2. 2.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing Memory Robustly in Message Passing Systems. Journal of the ACM 42(1), 124–142 (1996)CrossRefGoogle Scholar
  3. 3.
    Birman, K., Joseph, T.: Exploiting virtual synchrony in distributed systems. In: Proceedings of the 11th ACM Symposium on Operating Systems Principles (December 1987)Google Scholar
  4. 4.
    Englert, B., Shvartsman, A.A.: Graceful quorum reconfiguration in a robust emulation of shared memory. In: Proc. of Inter. Conf. on Dist.d Computer Systems, pp. 454–463 (2000)Google Scholar
  5. 5.
    Golding, R.A.: Weak-consistency group communication and membership. PhD Thesis, University of California (1992)Google Scholar
  6. 6.
    Gilbert, S., Lynch, N., Shvartsman, A.A.: RAMBO II: Rapidly reconfigurable atomic memory for dynamic networks. In: Proc. of Inter. Conf. on Dependable Systems and Networks, pp. 259–268 (2003)Google Scholar
  7. 7.
    Ghorbani, A., Bhavsar, V.: Training artificial neural networks using variable precision incremental communication. In: Proc. of IEEE World Congress On Computational Intelligence, vol. 3, pp. 1409–1414 (1994)Google Scholar
  8. 8.
    Guy, R.G., Heidemann, J.S., Mak, W., Page Jr., T.W., Popek, G.J., Rothmeier, D.: Implementation of the Ficus Replicated File System. In: Proc. of Summer USENIX Conference, pp. 63–71 (1990)Google Scholar
  9. 9.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers, San Francisco (1996)zbMATHGoogle Scholar
  10. 10.
    Lynch, N., Shvartsman, A.A.: RAMBO: A reconfigurable atomic memory service for dynamic networks. In: Proc. of 16th Inter. Symp. on Dist. Comp., pp. 173–190 (2002)Google Scholar
  11. 11.
    Lynch, N.A., Tuttle, M.: Hierarchical correctness proofs for distributed algorithms. LCS/TR-387, MIT (1987) Google Scholar
  12. 12.
    Minsky, Y.: Spreading rumors cheaply, quickly, and reliably. Ph.D Thesis, Cornell University (2002) Google Scholar
  13. 13.
    Rabinovich, M., Gehani, N., Kononov, A.: Efficient update propagation in epidemic replicated databases. In: Proc. of 5th Int. Conf. on Extending Database Tech., pp. 207–222 (1996)Google Scholar
  14. 14.
    Upfal, E., Wigderson, A.: How to share memory in a distributed system. Journal of the ACM 34(1), 116–127 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Vitanyi, P., Awerbuch, B.: Atomic shared register access by asynchronous hardware. In: Proc. of 27th IEEE Symposium on Foundations of Computer Science, pp. 233–243 (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Chryssis Georgiou
    • 1
  • Peter M. Musial
    • 2
  • Alexander A. Shvartsman
    • 2
    • 3
  1. 1.Department of Computer ScienceUniversity of CyprusNicosiaCyprus
  2. 2.Department of Computer Science & EngineeringUniversity of ConnecticutStorrsUSA
  3. 3.CSAIL, Massachusetts Institute of TechnologyCambridgeUSA

Personalised recommendations