TAO Performance Optimizations
For the past decade, the DOC groups at University of
California, Irvine and Washington
University, St. Louis conducted research on optimizing protocols
and DRE middleware. The focus has been on optimizing the efficiency
and predictability of the TAO ORB to meet end-to-end application QoS
requirements by vertically integrating middleware with OS I/O
subsystems, communication protocols, and network interfaces. TAO is
designed carefully using architectural, design, and optimization patterns that
substantially improve the efficiency, predictability, and scalability
of DRE systems.
The following diagram illustrates how the components of TAO are
optimized to increase performance, scalability, and provide
predictable end-to-end QoS guarantees to applications.
The following optimization-related research contributions of the TAO
project are described below:
- An ORB Core that supports deterministic real-time
concurrency and dispatching
strategies. TAO's ORB Core concurrency
models are designed to minimize context switching,
synchronization, dynamic memory allocation, and data movement. In
particular, TAO's concurrency model can be configured to incur only 1
context switch, 0 memory allocations, and 0 locks in the ``fast path''
through the ORB. TAO was the first ORB with these capabilities.
- Active
demultiplexing and perfect
hashing optimizations that associate client requests with target
objects in constant time, regardless of the number of objects,
operations, or nested POAs. TAO was also the first ORB with these
capabilities.
- A highly-optimized CORBA IIOP protocol engine and an IDL
compiler that generates compiled stubs and skeletons. TAO's IDL
compiler also implements many of the optimizations pioneered by the Flick IDL
compiler.
- TAO can be configured to use a non-multiplexed
connection model, which avoids priority inversion and behaves
predictably when used with multi-rate real-time applications.
- TAO's pluggable protocols allow the support of real-time I/O
subsystems designed to minimize priority inversion interrupt
overhead over high-speed ATM networks and real-time interconnects,
such as VME. It also runs efficiently over standard TCP/IP protocols,
as well.
- TAO's Real-time Event
Service and static and dynamic
Scheduling Services integrate the capabilities of TAO ORB described
above. These services form the basis for next-generation real-time
applications for many research and commercial projects, including
ones at Boeing, Cisco, Lockheed Martin, Raytheon, Siemens, and SAIC.
TAO provides all these optimizations within the standard
CORBA 3.x reference model. TAO's performance and foot-print
characteristics indicate the time and space trade-offs associated with
configuring applications to use the optimizations described above.
Back to the TAO intro
page.
Last modified 18:06:18 CST 25 January 2019