Next: PolyORB ORB Controller configuration, Previous: PolyORB Tasking configuration, Up: Tasking model in PolyORB [Contents][Index]
The PolyORB ORB Controller policies are responsible for the management of the global state of the middleware: they assign middleware internal jobs, or I/Os monitoring to middleware tasks.
ORB Controller policies grant access to middleware internals and affect one action for each middleware task. They ensure that all tasks work concurrently in a thread-safe manner.
The No Tasking ORB Controller policy is dedicated to no-tasking middleware configurations; the middleware task executes the following loop: process internal jobs, then monitor I/Os.
The Workers ORB Controller policy is a simple controller policy: all tasks are equal, they may alternatively and randomly process requests or wait for I/O sources.
Note: this is the default configuration provided by PolyORB sample setup files, See Sample files.
The Half Sync/Half Async ORB Controller policy implements the “Half Sync/Half Async” design pattern: it discriminates between one thread dedicated to I/O monitoring that queue middleware jobs; another pool of threads dequeue jobs and process them.
Note: this pattern is well-suited to process computation-intensive requests.
The Leader/Followers ORB Controller policy implements the “Leader/Followers ” design pattern: multiple tasks take turns to monitor I/O sources and then process requests that occur on the event sources.
Note: this pattern is adapted to process a lot of light requests.