[Ace-users] Re: [tao-users] TAO Concurrency
Douglas C. Schmidt
schmidt at dre.vanderbilt.edu
Fri Sep 7 08:23:02 CDT 2007
[OCI folks, there's a question for you below!]
Thanks for using the PRF.
> TAO VERSION: 1.5
Please upgrade to ACE+TAO+CIAO x.6 (i.e., ACE 5.6, TAO 1.6, and CIAO
0.6), which you can download from
under the heading: "Latest Release."
The DOC groups at Washington University, UC Irvine, and Vanderbilt
University only provide "best effort" support for non-sponsors for the
latest release, as described in
Thus, if you need more "predictable" help for earlier versions of
ACE+TAO, I recommend that you check out
for a list of companies that will provide you with ACE+TAO commercial
> ACE VERSION: 5.5
> HOST MACHINE and OPERATING SYSTEM:
> Fedora Core 4 (2.6.17-1.2142_FC4)
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
> COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc (GCC) 4.0.2 20051125
> (Red Hat 4.0.2-8)
> THE $ACE_ROOT/ace/config.h FILE: config-linux.h
> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
> (used by MPC when you generate your own makefiles):
> Hi all,
> I am starting to use TAO and I have some configuration questions about
> it. I am particularly interested in its concurrency issues. I have been
> reading configuration docs and as far as I can know:
BTW, for very in-depth coverage of TAO's concurrency I recommend you
consider purchasing the OCI TAO Developer's Guide, which is available at
This has much more information on the concurrency options below.
> Client Strategy:
> ORBClientConnectionHandler => Tune the behaviour of the application
> thread while it is waiting for the reply (In other words, if it can
> process incoming request)
Right - this strategy deals with GIOP requests/responses.
> ORBTransportMuxStrategy => Define the way to map requests over network
> ORBConnectStrategy => I guess it's a similar concept to
> ORBClientConnectionHandler but referred to (GIOP) Connect message
Yes, that's correct.
> However, it looks that options are mapped one to one (I mean, for
> example, setting RW wait strategy involves selecting BLOCKED Connect
> Strategy and so on). I don't know what's the exactly meaning of this
> configuration parameter. Could someone give an idea?
As you said above, this strategy deals with calls to connect(), e.g.,
whether they are blocking or not. It should be orthogonal to the
ORBClientConnectionHandler, which deals with GIOP requests/responses.
> Server Strategy:
> I guess you can choose among concurrency architectures setting
> ORBConcurrency and ORBReactorType parameters.
Yes, that's correct.
> But is it ok if I set Thread-per-connection and select_st option?
I think this will be ok, but only if the threads that are spawned by the
main (reactor) thread don't try to call back into the reactor for some
reason (e.g., to set reactor timers or other event handlers).
OCI, is this topic covered in the TAO Developer's Guide in more depth?
If so, it might be useful to add this stuff to the FAQ!
More information about the Ace-users