This pages provides a description of the strategies already implemented in TAO as well as the new strategies that are being created.
These strategies will be hooked in the already running ORB in order to modify its behavior.
For a description of how to build new strategies, click
here
0. Interesting Papers
Alleviating
Priority Inversion and Non-determinism in Real-Time CORBA ORB Architectures
1. Reactive Strategy
It is also known as the Single Threaded Strategy. When a new connection establishment request arrives, the ORBs Acceptor creates a new Service Handler and registers it with the ORB's reactor. Therefore, there is a single thread taking care of all network requests.
This strategy comes with the standard TAO distribution.
2. Thread-per-connection Strategy
When a new connection establishment request arrives, the Acceptor, instead of registering the new Svc_Handler with the ORB's reactor, it creates a new thread which will execute the beforementioned Svc_Handler (in ACE terms, the Svc_Handler is Activated).
This strategy also comes with the standard TAO distribution.
TO-DO: Both the reactive and the threaded strategies come
embedded in the standard TAO distribution. In the future, that will be
changed, so all strategies will be implemented outside the ORB, and during
initialisation time, one of the strategies (the one used as default) will
be hooked.
2. Thread pool Strategy
This strategy is very similar to the Thread-per-request one. The main difference is that when the strategy is hooked, it spawns a pre-established number of threads, so insted of creating a new thread each time a connection request arrives, one of the threads of the pool is used. This strategy has been designed in such a way that can be easily customized. Below comes a description of all the features offered by this strategy.
Whenever this strategy is hooked, three parameters must be specified:
Example:
load_service Concurrency Thread_Pool_Strategy 10 2 10