nel-all
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nel] Dynamic load balancing?


From: Vincent Archer
Subject: Re: [Nel] Dynamic load balancing?
Date: Tue, 20 Feb 2001 14:20:32 +0100

According to Thierry Mallard:
> On Mon, Feb 19, 2001 at 03:43:59PM -0600, Jared Mark wrote:
> > Okay, so what you're saying is basically this...
> > 
> > By seperating the services, you can have a cluster of machines, each running
> > different services, and thus, keeping the load down across the board.  You
> > would have a single system, for example, handling just combat resolution,
> > and you would have another system that would keep track of the database...

Basically, yes. It may be more complicated than this. For example, we must
strive to keep only a single service handling items, while we may run
multiple concurrent instances of AI services to have lots of smart bots.

> We may have to add features concerning high-availability, as this scheme
> doesn't allow it : if the computing holding the combat resolution fails, the
> world will be a heaven of peace  ;-)

It's all a compromise. If a geographic server (in a geographic approach)
fails, suddendly, part of the world becomes unpassable. You can't log in
if you were in them, you can't enter them, and so on. Different failure
modes.

> The second point is that if a service grow too much, the load-balancing won't
> respond to the problem. You mentionned this point in your previous mail I
> think.
> 
> One possible architecture is to write separate process, and give two or three
> computer the responsiblity to distribute, by monitoring the farm, those
> process. I dunno if such scheme is possible w.r.t. the current NeL objectives

It is. In fact, a lot of services will be spread across different nodes,
but that's because these services are 'linear': each agent it manages
deals chiefly with itself. On the other hand, some are harder to split.
Item management for example, because of ownership and transfer issues:
if item A is owner by entity E, and all items of entity E are on server S1,
what happens when item is given to entity D, whose items are all on the
server S2. You break locality, which defeats the purpose of functional
services.

However, for load balancing purpose, one feature of functional split is
quite simple. If your item server, for example, manages 300,000 currently
present items, it doesn't matter if everyone currently on-line decides
to cluster in a single city: there are still 300,000 items to manage, and
the amount of item interactions haven't changed much.

-- 
Vincent Archer                                         Email: address@hidden

Nevrax France.                              Off on the yellow brick road we go!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]