Performance comparison of CORBA and RMI

Abstract Distributed object architectures and Java are important for building modern, scalable, web-enabled applications. This paper is focused on qualitative and quantitative comparison of two distributed object models for use with Java: CORBA and RMI. We compare both models in terms of features, ease of development and performance. We present performance results based on real world scenarios that include single client and multi-client configurations, different data types and data sizes. We evaluate multithreading strategies and analyse code in order to identify the most time-consuming methods. We compare the results and give hints and conclusions. We have found that because of its complexity CORBA is slightly slower than RMI in simple scenarios. On the other hand, CORBA handles multiple simultaneous clients and larger data amounts better and suffers from far lower performance degradation under heavy client load. The article presents a solid basis for making a decision about the underlying distributed object model.

[1]  Matjaz B. Juric,et al.  Are distributed objects fast enough , 2000 .

[2]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[3]  Douglas C. Schmidt,et al.  Measuring the performance of communication middleware on high-speed networks , 1996, SIGCOMM 1996.

[4]  Aniruddha S. Gokhale,et al.  Evaluating CORBA latency and scalability over high-speed ATM networks , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[5]  Aniruddha S. Gokhale,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998, IEEE Trans. Computers.

[6]  Dan Harkey,et al.  Client/Server programming with Java and Corba , 1997 .

[7]  Richard Mark Soley,et al.  Object Management Architecture Guide , 1993 .

[8]  József Györkös Measurements in software requirements specification process , 1994, Microprocess. Microprogramming.

[9]  Douglas C. Schmidt,et al.  Evaluating Architectures for Multi-threaded CORBA Object Request Brokers , 1998 .

[10]  Aniruddha S. Gokhale,et al.  Measuring the Performance of Communication Middleware on High-Speed Networks , 1996, SIGCOMM.

[11]  Douglas C. Schmidt,et al.  Object-Oriented Components for High-speed Network Programming , 1995, COOTS.

[12]  Douglas C. Schmidt,et al.  The performance of the CORBA dynamic invocation interface and dynamic skeleton interface over high-speed ATM networks , 1996, Proceedings of GLOBECOM'96. 1996 IEEE Global Telecommunications Conference.