[MUD-Dev] Distributed Processing
Vincent Archer
archer at nevrax.com
Tue Mar 6 10:30:19 CET 2001
According to John Buehler:
> One of the triggers for the idea was to seek out a cross section of
> data and processing that was not geographically-aligned.
That's an approach we are also taking here at Nevrax. Basically, you
have two models to separate things: across location, and across
function.
The geographic model assumes that information exchange occurs
frequently in a localised manner: i.e. you exchange information with
entities in your immediate neighborhood.
The functional model assumes that information exchange occurs
frequently in a functional manner: i.e. your exchange information
chiefly with objects of the same type.
The geographic model has severe problems, in terms of inter-area
communication and load.
Namely, every object on the "border" of a computation node's managed
area must talk across the border to adjacent nodes. This is not a
problem when your node covers a large area, since the covered space is
typically in O^2, while the border scales linearly in O. However, when
your managed area has to shrink because it has to manage large number
of entities (I'm skipping across the decision of managing covered
areas in a static or dynamic manner here), then it has to manage a lot
more communication. More, because when it shrinks, the average density
of entities in every location, and notably in the border (where state
must be sent to adjacent nodes) increases.
It also problems of load, since player dynamics and not design,
determines the density of entities in any given area. Thus, a large
guild meeting can saturate an area that is not designed to manage
them. Dynamic load can alleviate this, but it opens up many problems,
including the bandwidth outlined above.
Functional models tend to scale better. No matter what players do, a
server dedicated to managing the objects in inventory/banks will have
roughly the same amount of objects on the average, and thus keep a
relatively constant load. No matter where people are, you can probably
keep a fairly constant amount of mobs across your world, and thus, mob
AI servers can manage them.
The challenge there is to decouple the servers enough from the central
point, which remains position, because some entities need to know each
other's position quite frequently.
--
Vincent Archer Email: archer at nevrax.com
Nevrax France. Off on the yellow brick road we go!
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list