[MUD-Dev] Re: MUD Development Digest

J C Lawrence claw at under.engr.sgi.com
Mon Apr 6 10:09:44 New Zealand Standard Time 1998

Date: Sat, 4 Apr 1998 11:45:05 -0600
Message-Id: <199804041745.LAA07123 at laurel.actlab.utexas.edu>
From: Cynbe ru Taren <cynbe at muq.org>
Subject: [MUD-Dev]  Re: MUD Development Digest

Dr Cat (cat at bga.com):

| I presume the comments about disk-based muds running faster than
| memory-based ones are including the tacit assumption that one is
| talking about muds that don't have the option of running on a machine
| with a large surplus of RAM?

For the most part -- but remember that even if you're not paging
within the disk/ram portion of the memory hierachy, you're probably
still paging between ram/cache2 and cache2/cache1:  Better locality
of reference will still improve performance there.

A fundamental win of a disk-based system comes from clustering
data used together in ram, which improves performance at all
levels of a hierarchy.

A viable alternative is to do the same thing entirely in ram -- a
copying garbage collector, for example, can have this effect.  Well
done, on ram-poor systems this can result in entire pages full of
unused objects paging out to disk, yielding an effectively disk-based
system without the explicitly coded disk I/O.

| Still, I would think that disk-based servers would be
| faster for some muds, not for all muds.

In practice, I think the difference is likely to be (assuming
well-written servers) that a disk-based mud will run about 5% slower
than a ram-based mud in a ram-rich environment, but may run many times
faster than a ram-based mud in a ram-poor environment (unless the
ram-based mud is effectively disk-based as described above): The
downside is much bigger than the upside, so if running in ram-poor
conditions is a reasonable possibility, a disk-based design may make
sense.  If you can definitely count on running in a ram-rich
environment, on the other hand, a disk-based system is probably just
slower and more complex.

| I realize that purchasing a RAID array isn't an option for most hobby 
| projects.

Note however that ram is currently running about $1/Meg -- check
http://www.pricewatch.com/ if you haven't been following it.  At
this price even hobby projects can run pretty large dbs entirely
out of ram.  I've configured a dual-CPU PentiumPro/150MHz box
with 256Meg of ram as a Muq testbed -- I went with the dual-CPU
motherboard partly just because it has 8 rather than 4 SIMM slots,
letting me load up more on el cheapo 32Meg simms.  If I were
building it at today's prices, I might configure it with 512Meg
instead. :)

A gigabyte of ram in a hobbyist machine is clearly not far off.

*boggle* -- I wrote my first multi-user online system to run in
48K of ram...


J C Lawrence                               Internet: claw at null.net
(Contractor)                               Internet: coder at ibm.net
---------(*)                     Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...

More information about the MUD-Dev mailing list