The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.12 - December (2010 vol.21)
pp: 1750-1764
John Eberhard , University of Minnesota, Minneapolis
Anand Tripathi , University of Minnesota, Minneapolis
ABSTRACT
In order to utilize the semantics of object methods to ensure cached object consistency, method group commutativity specifies the conditions under which a group of methods will commute. Method group commutativity is determined using a semantic specification of object methods, provided in terms of logical expressions, to create commutativity conjectures that are analyzed using the PVS theorem prover. This analysis results in the creation of a method commutativity specification (MCS), which is used by a distributed caching system to ensure the consistency of method invocations. For greater commutativity, weaker consistency requirements can be specified in the MCS. This base approach is enhanced by optimizations that consider a client's sequential execution of methods and that reduce the amount of data cached by the client. The effectiveness of method group commutativity and associated optimizations is evaluated using Java RMI application benchmarks.
INDEX TERMS
Pre and postconditions, specifying and verifying and reasoning about programs, logics and meanings of programs, theory of computation, distributed objects, components, containers, language constructs and features, programming languages, software/software engineering.
CITATION
John Eberhard, Anand Tripathi, "Semantics-Based Object Caching in Distributed Systems", IEEE Transactions on Parallel & Distributed Systems, vol.21, no. 12, pp. 1750-1764, December 2010, doi:10.1109/TPDS.2010.48
REFERENCES
[1] M.P. Herlihy and H.M. Wing, "Linearizability: A Correctness Condition for Concurrent Objects," ACM Trans. Programming Languages and Systems, vol. 12, no. 3, pp. 463-492, July 1990.
[2] H.F. Korth, "Locking Primitives in a Database System," J. ACM, vol. 30, no. 1, pp. 55-79, Jan. 1983.
[3] P.M. Schwarz, "Transactions on Typed Objects," PhD dissertation, Carnegie Mellon Univ., Dec. 1984.
[4] M. Roesler and W.A. Burkhard, "Concurrency Control Scheme for Shared Objects: A Peephole Approach Based on Semantics" Proc. Seventh Int'l Conf. Distributed Computing Systems, pp. 224-231, Sept. 1987.
[5] P.K. Chrysanthis, S. Raghuram, and K. Ramamritham, "Extracting Concurrency from Objects: A Methodology," Proc. ACM Int'l Conf. Management of Data, pp. 108-117, May 1991.
[6] W.E. Weihl, "Commutativity-Based Concurrency Control for Abstract Data Types," IEEE Trans. Computers, vol. 37, no. 12, pp. 1488-1505, Dec. 1988.
[7] W.E. Weihl, "The Impact of Recovery on Concurrency Control," Proc. Eighth ACM Symp. Principles of Database Systems, pp. 259-269, Mar. 1989.
[8] W.E. Weihl, "Local Atomicity Properties: Modular Concurrency Control for Abstract Data Types," ACM Trans. Programming Languages and Systems, vol. 11, no. 2, pp. 249-282, Apr. 1989.
[9] P.E. O'Neil, "The Escrow Transactional Method," ACM Trans. Database Systems, vol. 11, no. 4, pp. 405-430, 1986.
[10] B.R. Badrinath and K. Ramamritham, "Semantics-Based Concurrency Control: Beyond Commutativity," ACM Trans. Database Systems, vol. 17, no. 1, pp. 163-199, Mar. 1992.
[11] M. Herlihy, "Apologizing versus Asking Permissions: Optimistic Concurrency Control for Abstract Datatypes," ACM Trans. Database Systems, vol. 15, no. 1, pp. 96-124, Mar. 1990.
[12] P.M. Schwarz and A.Z. Spector, "Synchronizing Shared Abstract Data Types," ACM Trans. Computer Systems, vol. 2, no. 3, pp. 223-250, Aug. 1984.
[13] G.D. Walborn and P.K. Chrysanthis, "Supporting Semantics-Based Transaction Processing in Mobile Database Applications," Proc. 14th IEEE Symp. Reliable Distributed Computing, Sept. 1995.
[14] S. Mazumdar, M. Pietrzyk, and P. Chrysanthis, "Caching Constrained Mobile Data," Proc. 10th Int'l Conf. Information and Knowledge Management, pp. 442-449, Nov. 2001.
[15] D. Barbará and H. Garcia-Molina, "The Demarcation Protocol: A Technique for Maintaining Constraints in Distributed Database Systems," Proc. Int'l Conf. Extending Data Base Technology, Mar. 1992.
[16] M. Satyanarayanan, "Fundamental Challenges in Mobile Computing," Proc. 15th ACM Symp. Principles of Distributed Computing, pp. 1-7, May 1996.
[17] S. Owre, J. Rushby, N. Shankar, and D. Stringer-Calvert, "PVS: An Experience Report," Proc. Applied Formal Methods (FM-Trends '98), pp. 338-345, 1998.
[18] J. Eberhard and A. Tripathi, "Mechanisms for Object Caching in Distributed Applications Using Java RMI," Software Practice and Experience, vol. 37, no. 8, pp. 799-908, July 2007.
[19] M.H. Wong and D. Agrawal, "Tolerating Bounded Inconsistency for Increasing Concurrency in Database Systems," Proc. 11th ACM Symp. Principles of Database Systems, pp. 236-245, 1992.
[20] L.B.C. DiPippo and V.F. Wolfe, "Object-Based Semantic Real-Time Concurrency Control," Proc. IEEE Real-Time Systems Symp., pp. 87-96, Dec. 1993.
[21] F.J. Torres-Rojas, M. Ahamad, and M. Raynal, "Timed Consistency for Shared Distributed Objects," Proc. 18th ACM Symp. Principles of Distributed Computing, pp. 153-172, May 1999.
[22] H. Yu and A. Vahdat, "Combining Generality and Practicality in a Conit-Based Continuous Consistency Model for Wide-Area Replication," Proc. 21st Int'l Conf. Distributed Computing Systems, Apr. 2001.
[23] J. Eberhard and A. Tripathi, "Object-Based Commutativity Analysis for Real-Time Applications," Proc. 10th IEEE Int'l Workshop Object-Oriented Real-Time Dependable Systems, pp. 279-286, Feb. 2005.
[24] C.A.R. Hoare, "An Axiomatic Basis for Computer Programming," Comm. ACM, vol. 12, no. 10, pp. 576-580, 583, Dec. 1969.
[25] U. Cetintemel, B. Özden, M.J. Franklin, and A. Silberschatz, "Design and Evaluation of Redistribution Strategies for Wide-Area Commodity Distribution," Proc. 21st IEEE Int'l Conf. Distributed Computing Systems, Apr. 2001.
[26] N. Soparkar and A. Silberschatz, "Data-Valued Partitioning and Virtual Messages," Proc. Ninth Symp. Principles of Database Systems, pp. 357-367, Apr. 1990.
[27] H.V. Leong and D. Agrawal, "Type Specific Coherence Protocols for Distributed Shared Memory," Proc. 12th Int'l Conf. Distributed Computing Systems, pp. 434-441, 1992.
[28] J. Eberhard and A. Tripathi, "Efficient Object Caching for Distributed Java RMI Applications," Proc. IFIP/ACM Int'l Conf. Distributed Systems (Middleware '01), pp. 15-35, Nov. 2001.
[29] T. Nakajima, "Commutativity Based Concurrency Control and Recovery for Multiversion Objects," Proc. Int'l Workshop Distributed Object Management, pp. 101-119, 1992.
[30] M. Guerni, J. Ferrié, and J.-F. Pons, "Concurrency and Recovery for Typed Objects Using a New Commutativity Relation," Proc. Fourth Int'l Conf. Deductive and Object-Oriented Databases, pp. 411-428, 1995.
[31] S. Lee, S. Jung, and C.-S. Hwang, "A New Conflict Relation for Concurrency Control and Recovery in Object-Based Databases," Proc. Fifth Int'l Conf. Information and Knowledge Management, pp. 288-295, 1996.
[32] M.H. Wong and D. Agrawal, "Context-Based Synchronization: An Approach beyond Semantics for Concurrency Control," Proc. 12th ACM Symp. Principles of Database Systems, pp. 276-287, 1993.
[33] P. Muth, T.C. Rakow, G. Weikum, P. Brösslery, and C. Hasse, "Semantic Concurrency Control in Object-Oriented Database Systems," Proc. Ninth IEEE Int'l Conf. Data Eng., pp. 233-242, Apr. 1993.
[34] R.F. Resende, D. Agrawal, and A.E. Abbadi, "Semantic Locking in Object-Oriented Database Systems," Proc. Conf. Object-Oriented Programming Systems Languages and Applications (OOPSLA '94), Oct. 1994.
[35] T. Elmas, S. Qadeer, and S. Tasiran, "A Calculus of Atomic Actions," Proc. Symp. Principles of Programming Languages (POPL '09), Jan. 2009.
[36] S. Owicki and D. Gries, "Verifying Properties of Parallel Programs: An Axiomatic Approach," Comm. ACM, vol. 19, no. 5, pp. 279-285, May 1976.
[37] A.H. Skarra, N.S. Barghouti, and A.L. Wolf, "Semantic Synchronization in a Persistent Object System Library," Proc. Sixth Int'l Workshop Persistent Object Systems, pp. 129-146, 1994.
19 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool