This Article 
 Bibliographic References 
 Add to: 
Design and Performance Analysis of a Distributed Java Virtual Machine
June 2002 (vol. 13 no. 6)
pp. 611-627

This paper introduces DISK, a distributed Java Virtual Machine for networks of heterogenous workstations. Several research issues are addressed. A novelty of the system is its object-based, multiple-writer memory consistency protocol (OMW). The correctness of the protocol and its Java compliance is demonstrated by comparing the nonoperational definitions of Release Consistency, the consistency model implemented by OMW, with the Java Virtual Machine memory consistency model (JVMC), as defined in the Java Virtual Machine Specification. An analytical performance model was developed to study and compare the design trade-offs between OMW and the lazy invalidate Release Consistency (LI) protocols as a function of the number of processors, network characteristics, and application types. The DISK system has been implemented and running on a network of 16 Pentium III computers interconnected by a 100Mbps Ethernet network. Experiments performed with two applications: parallel matrix multiplication and traveling salesman problem confirm the analytical model.

[1] S. Adve and M. Hill, “Weak Ordering—A New Definition,” Proc. 17th Ann. Int'l Symp. Computer Architecture, May 1990.
[2] S. Adve and M. Hill, “A Unified Formalization of Four Shared-Memory Models,” Technical Report #1051, Computer Sciences Dept., Univ. of Wisconsin, Sept. 1991.
[3] S. Ahuja, N. Carriero, and D. Gelernter, “Linda and Friends,” Computer, vol. 19, no. 8, Aug. 1986.
[4] M. Ahamad, R. Bazzi, R. John, P. Kohli, and G. Neiger, “The Power of Processor Consistency,” Proc. Fifth ACM Symp. Parallel Algorithms and Architectures, 1993.
[5] C. Amza, A.L. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamony, W. Yu, and W. Zwaenepoel, “TreadMarks: Shared Memory Computing on Networks of Workstations,” Computer, vol. 29, no. 2, Feb. 1996.
[6] C. Amza, A.L. Cox, S. Dwarkadas, L.-J. Jin, K. Rajamani, and W. Zwaenepoel, “Adaptive Protocols for Software Distributed Shared Memory,” Proc. IEEE, Special Issue on Distributed Shared Memory, Mar. 1999.
[7] H. Attiya and J. Welch, “Sequential Consistency versus Linearizability,” ACM Trans. Computer Systems, May 1994.
[8] H. Bal, M. Kaashoek, and A. Tanenbaum, "Orca: A language for parallel programming of distributed systems," IEEE Trans. Software Engineering, vol. 13, Mar. 1992.
[9] B. Bershad, M. Zekauskas, and W. Sawdon, "The Midway Distributed Shared Memory System," Digest of Papers, COMPCON Spring '93 [Proc. 38th IEEE Computer Soc. Int'l Computer Conf.], IEEE Computer Soc. Press, Los Alamitos, Calif., 1993, pp. 528-537.
[10] J.B. Carter, “Design of the Munin Distributed Shared Memory System,” J. Parallel and Distributed Computing, Special Issue on Distributed Shared Memory, 1995.
[11] “Coherent Virtual Machine (CVM),”, 2002.
[12] S. Dieckemann and U. Holzle, “A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks,” Technical Report TRC98-33, Univ. of California, Santa Barbara, Dec. 1998.
[13] K. Gharachorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta, and J. Hennessy, “Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors,” Proc. 17th Ann. Int'l Symp. Computer Architecture, 1990.
[14] A. Gontmacker and A. Schuster, “Java Consistency: Non-Operational Characterizations for Java Memory Behavior,” Technical Report, CS-0922, Technion, Aug. 1997.
[15] M. Herlihy, “The Aleph Toolkit: Support for Scalable Distributed Shared Objects,” Proc. Workshop Comm., Architecture, and Applications for Network-Based Parallel Computing, 1999.
[16] M. Herlihy and J. Wing, “Linearizability: A Correctness Condition for Concurrent Objects,” ACM Trans. Programming Languages and Systems, vol. 12, no. 3,pp. 463-492, 1990.
[17] “The Java Virtual Machine Specification,” http:/, 2002.
[18] “Jini(tm) Network Technology,” http://www.sun.comjini, 2002.
[19] “The Kaffe Project,” http:/, 2002.
[20] P. Keleher, “Distributed Shared Memory Using Lazy Release Consistency,” PhD thesis, Rice Univ., Dec. 1994.
[21] K. Li and P. Hudak, "Memory Coherence in Shared Virtual Memory Systems," ACM Trans. Computer Surveys, vol. 7, no. 4, Nov. 1989.
[22] “The Millipede Project,” /, 2002.
[23] N. Nagaratman and A. Srinivasan, “Remote Objects in Java,” Int'l Assoc. Science and Technology for Development (IASTED) Networks '96, Jan. 1996.
[24] M. Philippsen and M. Zenger, “JavaParty—Transparent Remote Objects in Java,” Concurency: Practice and Experience, vol. 9, no. 11, Nov. 1997.
[25] M. Surdeanu, D. Moldovan, and S. Harabagiu, “Performance Analysis of a Distributed Question/Answering System,” Proc. 15th Int'l Parallel&Distributed Processing Symp., Apr. 2001.
[26] K. Thitikamol and P. Keleher, Thread Migration and Communication Minimization in DSM Systems Proc. IEEE, vol. 87, special issue on distributed shared memory systems, pp. 487-497, Mar. 1999.
[27] W. Yu and A.L. Cox, “Java/DSM: A Platform for Heterogenous Computing,” Proc. ACM 1997 Workshop Java for Science and Eng. Computation, June 1997.

Index Terms:
Object-oriented distributed shared memory, Java Virtual Machine, performance analysis, memory consistency protocols, consistency models.
Mihai Surdeanu, Dan Moldovan, "Design and Performance Analysis of a Distributed Java Virtual Machine," IEEE Transactions on Parallel and Distributed Systems, vol. 13, no. 6, pp. 611-627, June 2002, doi:10.1109/TPDS.2002.1011415
Usage of this product signifies your acceptance of the Terms of Use.