Abstract
We first encountered the transactional execution model in Chap. 7, in conjunction with client/server architectures. As noted at that time, the model draws on a series of assumptions to arrive at a style of computing that is especially well matched to the needs of applications operating on databases. In this chapter we consider some of the details that Chap. 7 did not cover: notably the issues involved in implementing transactional storage mechanisms and the problems that occur when transactional architectures are extended to encompass transactional access to distributed objects in a reliable distributed system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
One can imagine doing a multicast by reading the view of the group and then writing to the group members and updating the view of the group by writing to the group view. Such a transactional implementation of virtual synchrony would address some aspects of the model, such as view synchronous addressing, although it would not deal with others, such as the ordered gap-freedom requirement (Chap. 12). More to the point, it would result in an extremely inefficient style of distributed computing, because every multicast to a process group would now require a database update. The analogy, then, is useful because it suggests that the fundamental approaches are closely related and differ more at the level of how one engineers such systems to maximize performance than in any more basic way. However, it is not an architecture one would want to implement!
References
Amir, Y.: Replication using group communication over a partitioned network. Ph.D. diss., Hebrew University of Jerusalem (1995)
Amir, Y., Dolev, D., Kramer, S., Malkhi, D.: Membership algorithms in broadcast domains. In: Proceedings of the Sixth WDAG, Israel, June 1992. Lecture Notes in Computer Science, vol. 647, pp. 292–312. Springer, Berlin (1992a)
Amir, Y., Dolev, D., Kramer, S., Malkhi, D.: Transis: A communication subsystem for high availability. In: Proceedings of the Twenty-Second Symposium on Fault-Tolerant Computing Systems, Boston, July 1992, pp. 76–84. IEEE Computer Society Press, New York (1992b)
Amir, O., Amir, Y., Dolev, D.: A highly available application in the Transis environment. In: Proceedings of the Workshop on Hardware and Software Architectures for Fault Tolerance. Lecture Notes in Computer Science, vol. 774, pp. 125–139. Springer, Berlin (1994)
Amir, Y., Moser, L.E., Melliar-Smith, P.M., Agarwal, D.A., Ciarfella, P.: The totem single-ring ordering and membership protocol. Trans. Comput. Syst. 13(4), 311–342 (1995)
Amir, Y., Danilov, C., Stanton, J.: A low latency, loss tolerant architecture and protocol for wide area group communication. In: International Conference on Dependable Systems and Networks (DCCA-8), New York, June 25–28, 2000
Bartlett, J., Gray, J., Horst, B.: Fault tolerance in tandem computing systems. In: Evolution of Fault-Tolerant Computing, pp. 55–76. Springer, Berlin (1987)
Bernstein, P.E., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)
Birman, K.P., van Renesse, R. (eds.): Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, New York (1994)
Davidson, S., Garcia-Molina, H., Skeen, D.: Consistency in a partitioned network: A survey. ACM Comput. Surv. 17(3), 341–370 (1985)
Gray, J.: Notes on database operating systems. In: Operating Systems: An Advanced Course. Lecture Notes in Computer Science, vol. 60, pp. 393–481. Springer, Berlin (1978)
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo (1993)
Herlihy, M., Wing, J.: Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Holliday, J., Agrawal, D., El Abbadi, A.: The performance of database replication with group multicast. In: FTCS 1999, pp. 158–165 (1999)
Holliday, J., Agrawal, D., El Abbadi, A.: Partial database replication using epidemic communication. In: ICDCS 2002, p. 485 (2002)
Joseph, T.A.: Low cost management of replicated data. Ph.D. diss., Cornell University (1986). Also Technical Report, Department of Computer Science, Cornell University
Ladin, R., Liskov, B., Shrira, L., Ghemawat, S.: Lazy replication: Exploiting the semantics of distributed services. In: Proceedings of the Tenth ACM Symposium on Principles of Distributed Computing, Quebec, August 1990, pp. 43–58. ACM Press, New York (1990)
Liskov, B., Scheifler, R.: Guardians actions: Linguist support for robust, distributed programs. ACM Trans. Program. Lang. Syst. 5(3), 381–404 (1983)
Liskov, B., Curtis, D., Johnson, P., Scheifler, R.: Implementation of Argus. In: Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, Austin, November 1987, pp. 111–122. ACM Press, New York (1987)
Liskov, B., et al.: Replication in the Harp file system. In: Proceedings of the Twelfth ACM Symposium on Operating Systems Principles, Asilomar, CA, October 1991, pp. 226–238. ACM Press, New York (1991)
Malloth, C.: Conception and implementation of a toolkit for building fault-tolerant distributed applications in large-scale networks. Ph.D. diss., Swiss Federal Institute of Technology, Lausanne (EPFL) (1996)
Moss, J.E.: Nested transactions and reliable distributed computing. In: Proceedings of the Second Symposium on Reliability in Distributed Software and Database Systems, pp. 33–39 (1982)
Pedone, F., Guerraoui, R., Schiper, A.: Exploiting atomic broadcast in replicated databases. In: Proceedings EuroPar 98 (1998)
Petersen, K., Spreitzer, M., Terry, D., Theimer, M., Demers, A.: Flexible update propagation for weakly consistent replication. In: Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP-16), Saint Malo, France, October 5–8, pp. 288–301 (1997)
Pu, D.: Relaxing the limitations of serializable transactions in distributed systems. Oper. Syst. Rev. 27(2), 66–71 (1993). (Special issue on the Workshop on Operating Systems Principles at Le Mont St. Michel, France)
Schiper, A., Raynal, M.: From group communication to transactions in distributed systems. Commun. ACM 39(4), 84–87 (1996)
Seltzer, M.: Transaction support in a log-structured file system. In: Proceedings of the Ninth International Conference on Data Engineering, April 1993
Spector, A.: Distributed transactions for reliable systems. In: Proceedings of the Tenth ACM Symposium on Operating Systems Principles, Orcas Island, WA, December 1985, pp. 12–146 (1985)
Terry, D.B., et al.: Managing update conflicts in a weakly connected replicated storage system. In: Proceedings of the Fifteenth Symposium on Operating Systems Principles, Copper Mountain Resort, CO, December 1995, pp. 172–183. ACM Press, New York (1995)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London Limited
About this chapter
Cite this chapter
Birman, K.P. (2012). Transactional Systems. In: Guide to Reliable Distributed Systems. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-2416-0_20
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2416-0_20
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2415-3
Online ISBN: 978-1-4471-2416-0
eBook Packages: Computer ScienceComputer Science (R0)