5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1">
6 <title>Status of Real-Time CORBA Support in TAO
</title>
7 <meta name=
"GENERATOR" content=
"Microsoft FrontPage 4.0">
12 <h3><a name=
"intro">Real-Time CORBA Support in TAO
</a> </h3>
15 <p>Support for
<a href=
"http://www.omg.org">OMG
</a> <a
16 href=
"http://www.omg.org/cgi-bin/doc?ptc/99-05-03">Real-Time CORBA
1.0
17 specification
</a> has been added to TAO. For an overview of Real-time
18 CORBA features, please see the
<A
19 HREF=
"http://www.dre.vanderbilt.edu/~schmidt/report-doc.html#rt">C/C++ Users
20 Journal columns
</A> written by
<A
21 HREF=
"http://www.dre.vanderbilt.edu/~schmidt/">Douglas Schmidt
</A> and
<A
22 HREF=
"http://www.iona.com/hyplan/vinoski/">Steve Vinoski
</a>. For a
23 detailed design discussions and results of empirical performance
24 analyzes of TAO's Real-time CORBA implementation, please see the
<A
25 HREF=
"http://www.dre.vanderbilt.edu/">DOC group's
</a>
27 HREF=
"http://www.dre.vanderbilt.edu/~schmidt/corba-research-realtime.html">Real-time
28 CORBA research page
</A>.
30 <p>As usual, questions, comments, and contributions should be posted
32 href=
"https://github.com/DOCGroup/ACE_TAO/issues">github issue or discussion
</a> (best) or by filling out the
<A
33 HREF=
"../../PROBLEM-REPORT-FORM">TAO/PROBLEM-REPORT-FORM
</A>. Please indicate
"RTCORBA
"
34 in the component field when submitting a bug report.
</p>
36 <p>Points of contact for the project are:
39 <li><a href=
"mailto:corsaro@cs.wustl.edu">Angelo Corsaro
</a> - collocation and policy
40 encoding into ior
</li>
41 <li><a href=
"mailto:irfan@cs.wustl.edu">Irfan Pyarali
</a> - POA threadpools and RT POA
</li>
42 <li><a href=
"mailto:marina@cs.wustl.edu">Marina Spivak
</a> - all other features and online
44 <li><a href=
"mailto:yamuna@oomworks.com">Yamuna Krishnamurthy
</a> - Diffserv support in RTCORBA
</li>
47 <h3><a name=
"supported">Supported Features
</a></h3>
49 <p>Following is the complete list of features from the Real-Time CORBA
1.0 specification
50 that are currently supported in TAO. (These do not include
<a href=
"#in progress">work
54 <li>Real-Time ORB
</li>
55 <li>Real-Time POA
</li>
56 <li>Real-Time Current
</li>
57 <li>Priority Mappings
</li>
58 <li>Client_Propagated Priority Model
</li>
59 <li>Server_Declared Priority Model
</li>
60 <li>Server Protocol Policy
</li>
61 <li>Client Protocol Policy
</li>
62 <li>Priority Banded Connections
</li>
63 <li>Explicit Binding
</li>
64 <li>Private Connections
</li>
65 <li>Invocation Timeout
</li>
67 <li>POA Threadpools
</li>
70 <h3><a name=
"unsupported">Unsupported Features
</a></h3>
72 <p>The following features are not currently supported, and there are no immediate plans
73 for their implementation:
76 <li>POA Threadpool request buffering
</li>
77 <li>POA Threadpool thread borrowing
</li>
78 <li>Priority Transforms
</li>
79 <li>ORBinit command-line option
</li>
82 <h3><a name=
"future">Future Work
</a></h3>
86 <li>Currently, persistent objects are not supported for RT POAs. We
87 need to add this feature.
</li>
89 <li>Currently, purging of connection only happens for the lane of
90 the thread that runs out of connection. We need to change this
91 such that we allow system wide purging.
</li>
93 <li>Currently, all user-created threads are part of the default
94 thread pool. There is nothing done to separate out these threads
95 into different (implicit) lanes based on their priorities. We may
96 need to add this separation to get better/predictable behavior
97 with respect to sharing of resources across threads of different
100 <li>Currently, some CDR memory pools are global. We should
101 reevaluate them to see which of them can be made a per-lane
104 <li>Improve current RT CORBA implementation through benchmarking and
105 optimizations, resolving known bugs and issues, adding examples,
106 and other enhancements.
</li>
108 <li>Implement an alternative real-time orb architecture using a
109 <em>queue-per-lane
</em> approach, as described in the
<a
110 href=
"architecture.html">TAO Real-Time Architecture
</a>
111 section. In this approach, each threadpool lane owns a queue,
112 while I/O resources are being shared among all the threadpool
113 lanes of the same priority within a server. Strategize TAO to use
114 either
<em>queue-per-lane
</em> or
<em>reactor-per-lane
</em>
115 implementation, and compare the two.
</li>
117 <li>As both real-time and fault tolerance implementations mature
118 separately, explore issues in combining them, and, ultimately,
119 enable TAO to provide applications with both real-time and fault
120 tolerance support at the same time.
</li> </ol>