Support for OMG Real-Time CORBA 1.0
specification has been added to TAO. For an overview of Real-time
CORBA features, please see the C/C++ Users Journal
columns written by Douglas Schmidt and Steve Vinoski. For a detailed
design discussions and results of empirical performance analyzes of TAO's
Real-time CORBA implementation, please see the DOC group's Real-time
CORBA research page.
As usual, questions, comments, and contributions should be posted to
the comp.soft-sys.ace newsgroup, and
bug reports can be submitted either through our web-based bug-tracking system
(best) or by filling out the TAO_ROOT/PROBLEM-REPORT-FORM
and posting it to the newsgroup. Please indicate "RTCORBA" in the
component field when submitting a bug report.
Following is the complete list of features from the Real-Time CORBA
1.0 specification that are currently supported in TAO. (These do not
include work in progress).
- Real-Time ORB
- Real-Time POA
- Real-Time Current
- Priority Mappings
- Client_Propagated Priority Model
- Server_Declared Priority Model
- Server Protocol Policy
- Client Protocol Policy
- Priority Banded Connections
- Explicit Binding
- Private Connections
- Invocation Timeout
- RT Mutex
- POA Threadpools
The following features are not currently supported, and there are no
immediate plans for their implementation:
- POA Threadpool request buffering
- POA Threadpool thread borrowing
- Priority Transforms
- ORBinit command-line option
- Currently, persistent objects are not supported for RT POAs. We
need to add this feature.
- Currently, purging of connection only happens for the lane of the
thread that runs out of connection. We need to change this such that
we allow system wide purging.
- Currently, all user-created threads are part of the default thread
pool. There is nothing done to separate out these threads into
different (implicit) lanes based on their priorities. We may need to
add this separation to get better/predictable behavior with respect to
sharing of resources across threads of different priorities.
- Currently, some CDR memory pools are global. We should reevaluate
them to see which of them can be made a per-lane resource.
- Improve current RT CORBA implementation through benchmarking and
optimizations, resolving known bugs and issues, adding examples, and
other enhancements.
- Implement an alternative real-time orb architecture using a
queue-per-lane approach, as described in the TAO Real-Time Architecture section. In this
approach, each threadpool lane owns a queue, while I/O resources are
being shared among all the threadpool lanes of the same priority
within a server. Strategize TAO to use either queue-per-lane
or reactor-per-lane implementation, and compare the two.
- As both real-time and fault tolerance implementations mature
separately, explore issues in combining them, and, ultimately, enable
TAO to provide applications with both real-time and fault tolerance
support at the same time.

Top