Abstract
Historically, method-oriented middleware, such as Sun RPC, DCE, Java RMI, COM, and CORBA, has provided synchronous method invocation (SMI) models to applications. Although SMI works well for conventional client/server applications, it is not well-suited for highperformance or real-time applications due to its lack of scalability. To address this problem, the OMG has recently standardized an asynchronous method invocation (AMI) model for CORBA. AMI provides CORBA with many of the capabilities associated traditionally with messageoriented middleware, without incurring the key drawbacks of messageoriented middleware.
This paper provides two contributions to research on asynchronous invocation models for method-oriented middleware. First, we outline the key design challenges faced when developing the CORBA AMI model and describe how we resolved these challenges in TAO, which is our highperformance, real-time CORBA-compliant ORB. Second, we present the results of empirical benchmarks that demonstrate the performance benefits of AMI compared with alternative CORBA invocation models. In general, AMI based CORBA clients are more scalable than equivalent SMI based designs, with only a moderate increase in programming complexity.
This work was supported by DARPA contract 9701516, NSF grant NCR-9628218, Siemens ZT, Sprint, Nortel, Boeing, SAIC, and Lucent.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Object Management Group, The Common Object Request Broker: Architecture and Specification, 2.3 ed., June 1999. 208
D. C. Schmidt and S. Vinoski, “Introduction to CORBA Messaging,” C++ Report, vol. 10, November/December 1998. 209
D. C. Schmidt and S. Vinoski, “Programming Asynchronous Method Invocations with CORBA Messaging,” C++ Report, vol. 11, February 1999. 209
Object Management Group, CORBA Messaging Specification, OMG Document orbos/98-05-05 ed., May 1998. 209, 212, 227
Object Management Group, Objects-by-Value, OMG Document orbos/98-01-18 ed., January 1998. 209
Object Management Group, Realtime CORBA Joint Revised Submission, OMG Document orbos/99-02-12 ed., March 1999. 210
D. C. Schmidt, D. L. Levine, and S. Mungee, “The Design and Performance of Real-Time Object Request Brokers,” Computer Communications, vol. 21, pp. 294–324, Apr. 1998. 211, 212
C. D. Gill, D. L. Levine, and D. C. Schmidt, “The Design and Performance of a Real-Time CORBA Scheduling Service,” The International Journal of Time-Critical Computing Systems, special issue on Real-Time Middleware, 2000. 211
T. H. Harrison, D. L. Levine, and D. C. Schmidt, “The Design and Performance of a Real-time CORBA Event Service,” in Proceedings of OOPSLA’ 97, (Atlanta, GA), ACM, October 1997. 211
F. Kuhns, D. C. Schmidt, and D. L. Levine, “The Design and Performance of a Real-time I/O Subsystem,” in Proceedings of the 5 th IEEE Real-Time Technology and Applications Symposium, (Vancouver, British Columbia, Canada), pp. 154–163, IEEE, June 1999. 211
C. O’Ryan, F. Kuhns, D. C. Schmidt, O. Othman, and J. Parsons, “The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware,” in Proceedings of the Middleware 2000 Conference, ACM/IFIP, Apr. 2000. 211, 217, 220, 221, 223
D. C. Schmidt, S. Mungee, S. Flores-Gaitan, and A. Gokhale, “Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers,” Journal of Real-time Systems, To appear 2000. 211, 214, 217, 218, 219, 222
A. Gokhale and D. C. Schmidt, “Measuring the Performance of Communication Middleware on High-Speed Networks,” in Proceedings of SIGCOMM’ 96, (Stanford, CA), pp. 306–317, ACM, August 1996. 211
D. C. Schmidt and C. Cleeland, “Applying Patterns to Develop Extensible ORB Middleware,” IEEE Communications Magazine, vol. 37, April 1999. 211
I. Pyarali, C. O’Ryan, D. C. Schmidt, N. Wang, V. Kachroo, and A. Gokhale, “Applying Optimization Patterns to the Design of Real-time ORBs,” in Proceedings of the 5th Conference on Object-Oriented Technologies and Systems, (San Diego, CA), USENIX, May 1999. 211, 216, 227
R. H. Halstead, Jr., “Multilisp: A Language for Concurrent Symbolic Computation,” ACM Trans. Programming Languages and Systems, vol. 7, pp. 501–538, Oct. 1985. 211
B. Liskov and L. Shrira, “Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems,” in Proceedings of the SIGPLAN’88 Conference on Programming Language Design and Implementation, pp. 260–267, June 1988. 211
Y. Aahlad, B. Martin, M. Marathe, and C. Lee, “Asynchronous Notification Among Distributed Objects,” in Proceedings of the 2 nd Conference on Object-Oriented Technologies and Systems, (Toronto, Canada), USENIX, June 1996. 211
C. Ma and J. Bacon, “COBEA: A CORBA-Based Event Architecture,” in Proceedings of the 4rd Conference on Object-Oriented Technologies and Systems, USENIX, Apr. 1998. 211
A. B. Arulanthu, C. O’Ryan, D. C. Schmidt, and M. Kircher, “Applying C++, Patterns, and Components to Develop an IDL Compiler for CORBA AMI Callbacks,” C++ Report, vol. 12, Mar. 2000. 211, 212
K. Birman, “The Process Group Approach to Reliable Distributed Computing,” Communications of the ACM, vol. 36, pp. 37–53, December 1993. 211
C. O’Ryan and D. C. Schmidt, “Applying a Real-time CORBA Event Service to Large-scale Distributed Interactive Simulation,” in 5th International Workshop on Object-oriented Real-Time Dependable Systems, (Monterey, CA), IEEE, Nov 1999. 212
N. Wang, D. C. Schmidt, and S. Vinoski, “Collocation Optimizations for CORBA,” C++ Report, vol. 11, October 1999. 212
D. C. Schmidt, “ACE: an Object-Oriented Framework for Developing Distributed Applications,” in Proceedings of the 6th USENIX C++ Technical Conference, (Cambridge, Massachusetts), USENIX Association, April 1994. 217, 219, 223
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, 1995. 218, 221, 228
P. Jain and D. C. Schmidt, “Dynamically Configuring Communication Services with the Service Configurator Pattern”, C++ Report, vol. 9, June 1997. 219
D. C. Schmidt, “The Object-Oriented Design and Implementation of the Reactor: A C++ Wrapper for UNIX I/O Multiplexing (Part 2 of 2),” C++ Report, vol. 5, September 1993. 219
D. C. Schmidt, T. Harrison, and N. Pryce, “Thread-Specific Storage — An Object Behavioral Pattern for Accessing per-Thread State Efficiently,” C++ Report, vol. 9, November/December 1997. 221
A. Gokhale and D. C. Schmidt, “Optimizing a CORBA IIOP Protocol Engine for Minimal Footprint Multimedia Systems,” Journal on Selected Areas in Communications special issue on Service Enabling Platforms for Networked Multimedia Systems, vol. 17, Sept. 1999. 222
E. Eide, K. Frei, B. Ford, J. Lepreau, and G. Lindstrom, “Flick: A Flexible, Optimizing IDL Compiler,” in Proceedings of ACM SIGPLAN’ 97 Conference on Programming Language Design and Implementation (PLDI), (Las Vegas, NV), ACM, June 1997. 222
A. Gokhale and D. C. Schmidt, “Principles for Optimizing CORBA Internet Inter-ORB Protocol Performance,” in Hawaiian International Conference on System Sciences, January 1998. 222
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arulanthu, A.B., O’Ryan, C., Schmidt, D.C., Kircher, M., Parsons, J. (2000). The Design and Performance of a Scalable ORB Architecture for CORBA Asynchronous Messaging. In: Sventek, J., Coulson, G. (eds) Middleware 2000. Middleware 2000. Lecture Notes in Computer Science, vol 1795. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45559-0_11
Download citation
DOI: https://doi.org/10.1007/3-540-45559-0_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67352-1
Online ISBN: 978-3-540-45559-2
eBook Packages: Springer Book Archive