[Home] [Groups] - Message: [Prev in Group] [Next in Group]

nu.kanga.list.mud-dev

4983: Re: [MUD-Dev] World Persistence, flat files v/s DB v/s ??

[Full Header] [Plain Text]
From: J C Lawrence <claw@under.engr.sgi.com>
Newsgroups: nu.kanga.list.mud-dev
Date: Mon, 23 Mar 1998 13:03:06 -0800
References: [1]
Organization: Kanga.Nu
On Sun, 22 Mar 1998 23:27:30 PST8PDT 
Chris Gray<cg@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@null.net
(Contractor)                               Internet: coder@ibm.net
---------(*)                     Internet: claw@under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...