[DGD] DGD/MP & OpenMosix revisited?

Felix A. Croes felix at dworkin.nl
Mon Feb 9 14:28:03 CET 2004


Ragnar Lonn <prl at gatorhole.se> wrote:

> Some of you may know me ("Groo" on Genesis and IgorMUD) since old. I'm a
> nowadays not-so-active mudder that works in a game development company,
> developing games and network software of various kinds.
>
> I'm interested in server clustering, like Kevin mentioned in the
> "Multi-CPU support" thread late last year. I've always thought it a
> shame noone has made a serious effort to marry the best of text-based
> MUDs and modern MMORPGs to create something that would be as big a
> step forward from what we have today as the step taken with the birth
> of LPMUD. MMORPGs are hugely popular - did you know that the largest
> one, Lineage, has over 4 million paying subscribers?  A community-built
> MMORPG could be something really cool, I'm pretty sure of that.
So are you talking about MUDs, or about MMORPGs?
>
> DGD/MP sounds good but we also need some kind of clustering in order to
> create really large game environments. For operational and cost reasons
> you want to be able to host a service on many cheap servers, rather than
> a single gigantic one. RAID-based storage is a good analogy.

Here is where I start to disagree.

Every MMORPG since Ultima Online has used clusters of cheap servers.
I never learned the exact details, but I believe that UO used (and
perhaps still uses) more than a dozen machines for each shard.

Multiply that with the number of shards and you'd very, very much prefer
a single big machine rather than a cluster of many cheap servers, or
as it turned out in the case of UO and most MMPORGs that came after,
a cluster of clusters of many cheap servers.  First, there is the
maintenance cost of all these servers.  Compared to the typical
mainframe, PC hardware is rather unreliable, and with a sufficiently
large pool of active machines, you are pretty much going to have
hardware failures every week.  Replacing PC parts is cheap, but paying
someone to take care of it is not.  Replacing a failed disk is easy,
but what do you replace if your machine has intermittent failures?  In
my experience those repairs can drag out over several days, or even
weeks.

Then there is the software maintenance cost.  All of these machines
have an operating system which must be installed and kept up to date.
Any OS problem is potentially multiplied by the number of machines.
The hardware could perhaps be managed by a single person, the software
can not.

Add to this the cost of designing your MUD to be distributed (which is
not trivial), the cost to the MUD itself of being distributed (some
features that you'd really like to have are just not going to be
possible), the cost of making sure that the MUD software keeps working
as intended in this distributed environment, the cost of synchronizing
MUD software updates across all machines, and probably quite a few more
things that I didn't think of -- at this point, you are paying a lot of
people to manage your overhead of cheap hardware on a fast network.

MUDs are like databases.  The ultra-fast, ultra-large, ultra-reliable
databases don't run on a network of cheap hardware.


> If DGD isn't
> suitable to run with a clustering solution such as OpenMosix, what
> alternatives are there?  What about creating a mudlib that does it?

Geir Harald Hansen created a distributed MUD using DGD.  You can find
his thesis paper here:

    http://www.stud.ifi.uio.no/~geirhans/thesis.pdf


>[...]
> Wouldn't it be nice to do away with "shards" and similar workarounds
> and have a truly expandable game for once?

Agreed!

Regards,
Dworkin

_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list