Abstract
CORBA is an industrial standard for distributed object-oriented applications covering aspects such as heterogeneity and interoperability of products of different vendors. However, the CORBA standard does not define any methods for load balancing and there is a considerable confusion of terms describing associated load balancing techniques. Starting from the general platform- and language-independent CORBA object model, this paper presents a new hierarchical classification of possible load distribution methods for CORBA applications. The classification is a valuable starting point to identify the load balancing method that is appropriate for a given application. Furthermore, we show the relations to modern software design patterns and indicate the places in a CORBA application where load balancing components such as monitoring (obtaining load information), strategy (performing load distribution decisions), and control (executing the strategy decisions) may be integrated. Besides the discussion of the general object model as defined in the CORBA standard, we deal with concrete CORBA-compliant Object Request Brokers such as Orbix and VisiBroker. The presented techniques and examples are useful to systematically evaluate whether a given CORBA ORB can be used to implement a load balancing method as required by the application.
Similar content being viewed by others
References
P. Amaral, C. Jacquemot, P. Jensen, R. Lea, and A. Mirowski. Transparent object migration in COOL-2, Proceedings of Workshop on Dynamic Object Placement and Load-Balancing in Parallel and Distributed Systems, ECOOP'92. Utrecht, The Netherlands, 1992.
R. Beccard and W. Ameling. From object-oriented programming to automatic load distribution, In Proceedings of CONPAR 90, Zurich, pp. 502–512, 1990.
Wolfgang Becker. Dynamic balancing complex workload in workstation networks-challenge, concepts and experiences, In High-Performance Computing and Networking, LNCS 919, pp. 407–412. Springer, New York, 1995.
Gerald Brose. JacORB: implementation and design of a Java ORB, Proceedings of DAIS'97, FIP WG 6.1 International Working Conference on Distributed Applications and Interoperable Systems, Cottbus, Germany. Chapman & Hall, London, 1997. See also http: //www.inf.fu-berlin.de/~brose/ jacorbr/
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. Pattern-Oriented Software Architecture A System of Patterns. Wiley, New York, 1996.
Jeremy Casas, Ravi Konuru, and Steve W. Otto, Adaptive load migration systems for PVM, Proceedings of Supercomputing'94, pp. 390–399, 1994.
Thomas L. Casavant and Jon G. Kuhl. A taxonomy of scheduling in general-purpose distributed computing systems, IEEE Transactions on Software Engineering, 2(14): 141–154, 1988.
CORBAservices: common object services specification OMG (Object Management Group). Technical Report 95-3-31, 1995.
Fred Douglis and John K. Ousterhout. Process migration in the Sprite operating system, In Proceedings of the 7th International Conference on Distributed Computing Systems, 1987.
Derek L. Eager, Edward D. Lazowska, and John Zahorjan. Adaptive load sharing in homogeneous distributed systems, IEEE Transactions on Software Engineering, 12(5): 662–675, 1986.
Donald Ferguson, Yechiam Yemini, and Nikolaou Christos, Microeconomic algorithms for load balancing in distributed computer systems, In Proceedings of the 8th International Conference on Distributed Computing Systems, San Jose, CA, pp. 491–499, 1988.
Domenico Ferrari. A study of load indices for load balancing schemes, In Workload Characterization of Computer Systems and Computer Networks, pp. 91–99, 1986.
D. Ferrari and S. Zhou, An empirical investigation of load indices for load balancing applications, In 12th International Symposium on Computer Performance Modeling, Measurement and Evaluation, pp. 515–528, 1987.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns--Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA, 1995.
A. Hac and T. J. Johnson. Sensitivity study of the load balancing algorithm in a distributed system, Journal of Parallel and Distributed Computing, 10: 85–89, 1990.
Hans-Ulrich Heiss and Michael Schmitz. Decentralized dynamic load balancing: the particles approach, Information Sciences, 84(1+2): 115–128, 1995.
Orbix + Isis Programmer's Guide, Isis Distributed Systems, Inc., and IONA Technologies, Ltd., 1995.
L. V. Kale. Comparing the performance of two dynamic load distribution methods, In Proceedings of the 1988 International Conference on Parallel Processing, pp. 8–12, 1988.
Joseph A. Kaplan and Michael L. Nelson. “A comparison of queueing, cluster and distributed computing systems. Technical Memorandum 109025 (Revision 1), NASA Langley Research Center, Hampton, VA, 1994.
Herrmann Kopetz and Paulo Verissimo, “Real time and dependability concepts”, In Sape J. Mullender, ed., Distributed Systems, Chap. 16, pp. 411–446. ACM Press, New York, 1993.
Orly Kremien and Jeff Kramer. Methodical analysis of adaptive load sharing algorithms, IEEE Transactions on Parallel and Distributed Systems, 6(3): 747–760, 1992.
Thomas Kunz. The influence of different workload descriptions on a heuristic load balancing scheme, IEEE Transactions on Software Engineering, 17(7): 725–730, 1991.
S. Maffeis. Adding group communication and fault-tolerance to CORBA, In Proceedings of the 1995 USENIX Conference on Object-Oriented Technologies, Monterey, CA, USA, 1995.
S. Maffeis. The object group design pattern, In 2nd USENIX Conference on Object-Oriented Technologies and Systems COOTS, Toronto, Canada, 1996.
http: //www.vsb.informatik.uni-frankfurt.de/~mico/
OMG (Object Management Group). The common object request broker: architecture and specification, Revision 2.0, 1995.
OMG RFP5 submission trading object service, OMG (Object Management Group), Document orbos/96-05-06, 1996.
OMG (Object Management Group). ORB portability joint submission final, Technical Report orbos/97-05-15, 1997.
See http: //www.ooc.com/ob/
Orbix 2 Programming Guide, Version 2.2, IONA Technologies Ltd., October 1996.
An Orbix load disperser, Orbix Journal Q3 1997, IONA Technologies Inc., pp. 12–13, 1997.
See http: //www.iona.com/support/whitepapers/orbixotm/otm_wp.html
Björn Schiemann and Lothar Borrmann. A new approach for load balancing in high performance decision support systems, Future Generation Computer Systems 12(5): 345–355, 1997.
B. Schiemann. Exploiting interface definition languages for load balancing, Journal on Information Sciences, Issue 1-2, pp. 221–231, 1997.
Douglas C. Schmidt and Steve Vinoski. Using the portable object adapter for transient and persistent CORBA objects. C++ Report, SIGS, vol. 10, no 4, April 1998.
Douglas C. Schmidt, David L. Levine, and Chris Cleeland. Architectures and patterns for high-performance, real-Time CORBA object request brokers, In Marvin Zelkowitz, ed., Advances in Computers, Academic Press, New York, to appear. See also http: //cs.wustl.edu/~schmidt/ TAO.html
Thomas Schnekenburger and Günther Rackl. Implementing dynamic load distribution strategies with Orbix, Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications(PDPTA '97), Las Vegas, NV, CSREA, 1997.
Thomas Schnekenburger. The migration pattern, In Component Users Conference 1997, Munich, Germany, to appear in SIGS publications
Thomas Schnekenburger and Georg Stellner, eds., Load Distribution for Parallel Applications. Teubner, 1997.
Behrooz A. Shirazi, Ali R. Hurson, and Krishna M Kavi, eds., Scheduling and Load Balancing in Parallel and Distributed Systems, IEEE Computer Society Press, New York, 1995.
Distributed Computing in the Internet Age, Visigenic Software Inc., February 1997.
Songnian Zhou. A trace-driven simulation study of dynamic load balancing, IEEE Transactions on Software Engineering, 14(9): 1327–1341, 1988.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Schnekenburger, T. Load Balancing in CORBA: A Survey of Concepts, Patterns, and Techniques. The Journal of Supercomputing 15, 141–161 (2000). https://doi.org/10.1023/A:1008151819268
Issue Date:
DOI: https://doi.org/10.1023/A:1008151819268