![]() | ||
![]() ![]() ![]() ![]() ![]() ![]() | ||
![]() |
CORBA Performance
Also see: DII COE Real-Time ORB Trade Study OVERVIEW While real-time behavior and memory footprint are often important for real-time and embedded developers, ORB performance is still the most important criteria for selecting a CORBA product. There is a prevailing mindset that inserting CORBA into a system consists of adding another "layer". CORBA adds minimal overhead to the system, and the amount of overhead will vary between CORBA implementations, and it is often found that the "layer" added by CORBA replaces the proprietary messaging processing that would have been added anyway. Types of Overhead
CORBA IIOP adds an additional 40 to 80 bytes per message to this overhead. Consequently, the overhead added to a system will, in great part, depend on how the developer defines their interfaces. With CORBA IIOP, sending fewer big messages is more efficient (in terms of added overhead) than sending many small ones. The second type of overhead, Time, is the amount of time the ORB takes to process each message. This time is broken into two parts: a fixed component and a variable component. When comparing different CORBA implementations with each other in a competitive benchmark, both fixed and variable overhead must be studied. Fixed Overhead Variable Overhead Benchmarking ORB Performance CORBA Benchmarks
Lockheed Martin Advanced Technology Laboratories has performed
tests of many both real-time and non-real-time ORBs for throughput and
predictability characteristics. They have done a nice job of isolating
the determinism (or lack thereof) of the operating system and protocol
stack from the ORB processing. Their tests of ORBexpress have been
quite favorable. While they do not make these tests available on-line,
you can contact Gautam Thaker if you would like to discuss
their results.
Technical Support Partners CORBA Resources Trademark Copyright & Legal Sitemap |