[MUD-Dev] World Persistence, flat files v/s DB v/s ??
J C Lawrence
claw at under.engr.sgi.com
Mon Mar 23 13:03:06 CET 1998
On Sun, 22 Mar 1998 23:27:30 PST8PDT
Chris Gray<cg at ami-cg.GraySage.Edmonton.AB.CA> wrote:
> - if multiple threads are updating the single image of the DB
> (whether those threads are local or remote), then you need some kind
> of consistency mechanism. If you use locks, then you are vulnerable
> to a client vanishing when it holds locks - you will have to detect
> that and rip the locks away. This also means that your execution
> model has to be very complete with respect to locks, both read locks
> and write locks. With remotely held locks, you can get some *very*
> large latencies.
Look at, umm, COOLMUD's distributed server model for a possible
solution. It does rely on high-bandwidth low-latency connections
between the relevant servers however.
> Alternatively, you might try Chris L's lockless scheme, or
> some variant.
<bow>
> If you use Chris L's lockless scheme, then after the thread
> has run, you need to send full images of changed stuff back to the
> server so that it can be compared and committed. Again, lots of
> traffic and latency. Also, that C & C may take nearly as long as the
> thread execution, so you end up losing out, in terms of the latency
> seen by the user.
This is true. What you really need is something like Arjuna's (or was
that LINCKS -- sorry, its monday) distributed working set concept
(forget what they call it), where objects migrate dynamically among
the servers dependant on need and use characteristics.
> A fully multithreaded server, using Chris L's C&C method, running on
> a large multi-CPU SMP machine is likely the best way to get high
> throughput.
Agreed. You need the high speed interconnect support. SGI machines
with HIPPI crossbars would probably also do in a depending on your
load characteristics.
--
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-archive
mailing list