RE: [tao-users] Load balancing question #2

Would the TAO loadmanager work to load balance between non-TAO orbs?

If not, what would be needed to make them participate as a replica?


-----Original Message-----
From: Ossama Othman [mailto:ossama@dre.vanderbilt.edu] 
Sent: den 23 april 2005 20:08
To: Jesper S�derlund
Cc: tao-users@cse.wustl.edu
Subject: Re: [tao-users] Load balancing question

Hi Jesper,

Sorry for the delay.

On Mon, 2005-04-11 at 22:12 +0200, Jesper S�derlund wrote:
> The load balancing algorithm implemented by TAO, how does it cope with 
> the disapearance of a replica?

It currently does not.  The LoadManager currently assumes that all group members are reachable.  However, it should be relatively straightforward to implement a simple heartbeat/ping mechanism that is configurable at run-time through the PortableGroup PropertyManager interface.

> Would it not, until it itself found out that the replica was gone, 
> redirect clients to a "dead" node? How can the clients cope with this 
> gracefully?

Currently, the LoadManager could potentially redirect the client to a dead node.  If the client cannot connect to the group member (e.g. a CORBA::TRANSIENT condition), I believe that the client side ORB should redirect the request back to the previous location, which in this case is the LoadManager.  Once redirected back to the LoadManager, the LoadManager will reassign the client request to another group member.
The same goes for other non-fatal exceptions, such as CORBA::OBJ_ADAPTER and CORBA::NO_RESPONSE.

Fatal exceptions must be handled by the client as they normally would without load balancing.  Fatal exception handling related to dead nodes will be mitigated once the dead node detection support is added to the LoadManager.  However, the client should still be able to handle fatal exceptions with or without load balancing.

We'll try to add support for dead member detection ASAP since the client could potentially be bounced back and forth from and to the LoadManager, respectively, indefinitely if there is only one member in the load balanced object group.

I'll add this discussion to a related bug entry in our BTS here:


Please feel free to add yourself to the CC list on the above bug entry.

Ossama Othman <ossama@dre.vanderbilt.edu>

4/23/2005 10:45:52 PM
comp.soft-sys.ace 20326 articles. 1 followers. marlow.andrew (167) is leader. Post Follow

1 Replies

Similar Articles

[PageSpeed] 7

Hi Jesper,

On Sat, 2005-04-23 at 22:15 +0200, Jesper S�derlund wrote:
> Would the TAO loadmanager work to load balance between non-TAO orbs?

For the most part, yes, since non-TAO-based applications can simply
access the LoadManager through the interfaces defined in

> If not, what would be needed to make them participate as a replica?

Load balancing between non-TAO ORBs when using non-adaptive algorithms
(e.g. Round Robin, Random, etc) is straightfoward.

Load balancing when using adaptive algorithms may require a bit more
support from the app developer depending on the resource being
monitored.  For example, if load balancing decisions will be based on
resources within a process, the app developer must register the
appropriate LoadMonitor object reference with the LoadManager.  Some
TAO-specific convenience LoadMonitors are available in
TAO/orbsvcs/orbsvcs/LoadBalancing.  The LoadMonitor executable in
TAO/orbsvcs/LoadBalancer may be of use, as well.  In any case,
LoadMonitor registration is done through IDL defined interfaces, meaning
interoperability is maximized.

Ossama Othman <ossama@dre.vanderbilt.edu>

4/25/2005 9:11:25 PM