1998Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] request for comments -->
<!--X-From-R13: XQ Znjerapr <pynjNhaqre.Sat.Eha.QA[> -->
<!--X-Date: Fri, 09 Jan 1998 05:33:35 +0000 -->
<!--X-Message-Id: 199801090533.VAA01131#under,Eng.Sun.COM -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 3.0.32.19980107090000.0077bfd4@online&#45;alchemy.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] request for comments</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#under,Eng.Sun.COM">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00128.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00130.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00166.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00083.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00129">Author</A>
&nbsp;|&nbsp;<A HREF="#00129">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00129">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] request for comments</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev] request for comments </LI>
<LI><em>From</em>: JC Lawrence &lt;<A HREF="mailto:claw#under,Eng.Sun.COM">claw#under,Eng.Sun.COM</A>&gt;</LI>
<LI><em>Date</em>: Thu, 08 Jan 1998 21:33:30 -0800</LI>
<LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Wed, 7 Jan 1998 10:38:34 PST8PDT 
Mike Sellers&lt;mike#online-alchemy,com&gt; wrote:
&gt; At 05:03 PM 1/6/98 PST8PDT, JC Lawrence wrote:

&gt;&gt; To describe my system loosely, and briefly:
&gt;&gt; 
&gt;&gt; The server is heavily multi-threaded (I think the idle-state is
&gt;&gt; over 50 threads currently).
&gt;&gt; 
&gt;&gt; All events are processed aynchoinously and in parallel.
&gt;&gt; 
&gt;&gt; The server is lockless.
&gt;&gt; 
&gt;&gt; I don't guarantee order of execution of two unrelated events.

&gt; So... without recapitulating the flamage on this that occurs
&gt; regularly in r.g.m.*, how do you handle things like the "Dragon's
&gt; Dinner" scenario, where the player thinks she has closed the door
&gt; behind her, but then is surprised when she is fried by the dragon
&gt; anyway (who, in this race condition, saw the door as "open" and went
&gt; through)?  In a truly lockless system, aren't race conditions
&gt; inevitable?

No, race conditions are not inevitable, and the solution is fairly
standard in the DB world.  The basic idea is that any process modifies
only local data.  Then, at the end of the process, a list of all the
data members referenced is generated, and the current (external)
values of those members is compared to the value they had when the
event started.  If they are different the event has "failed" and is
killed to be rescheduled for later.  If they are the same (nothing
changed during the course of execution), then commit the new changed
data, and proceed.

The key element is that no two processes can every modify the same
data at the same time, an no process can rely on a datum that another
process will modify before the first process compleats.

-- 
J C Lawrence                               Internet: claw#null,net
                                           Internet: coder#ibm,net
----------(*)                        Internet: jc.lawrence#sun,com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00088" HREF="msg00088.html">threaded servers (was Re: [MUD-Dev] request for comments</A></STRONG>
<UL><LI><EM>From:</EM> Mike Sellers &lt;mike#online-alchemy,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00128.html">Re: [MUD-Dev]  The impact of the web on muds</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00130.html">Re: [MUD-Dev]  Commercial value of RP</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00166.html">Re: [MUD-Dev] request for comments</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00083.html">Re: Journal of MUD Research, Vol. 3, No. 1 [TEXT]</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00129"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00129"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: [MUD-Dev]  MUD Economy</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00196" HREF="msg00196.html">Re: [MUD-Dev]  MUD Economy</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 12 Jan 1998, 05:25 GMT
</LI>
</ul>
</LI>
<LI><strong><A NAME="00088" HREF="msg00088.html">threaded servers (was Re: [MUD-Dev] request for comments</A></strong>, 
Mike Sellers <a href="mailto:mike#online-alchemy,com">mike#online-alchemy,com</a>, Wed 07 Jan 1998, 18:37 GMT
<UL>
<LI><strong><A NAME="00113" HREF="msg00113.html">Re: [MUD-Dev] request for comments</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#zesoi,fer.hr">silovic#zesoi,fer.hr</a>, Thu 08 Jan 1998, 13:07 GMT
<UL>
<LI><strong><A NAME="00166" HREF="msg00166.html">Re: [MUD-Dev] request for comments</A></strong>, 
JC Lawrence <a href="mailto:claw#under,Eng.Sun.COM">claw#under,Eng.Sun.COM</a>, Sat 10 Jan 1998, 03:17 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00129" HREF="msg00129.html">Re: [MUD-Dev] request for comments</A></strong>, 
JC Lawrence <a href="mailto:claw#under,Eng.Sun.COM">claw#under,Eng.Sun.COM</a>, Fri 09 Jan 1998, 05:33 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00083" HREF="msg00083.html">Re: Journal of MUD Research, Vol. 3, No. 1 [TEXT]</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Wed 07 Jan 1998, 07:12 GMT
<UL>
<LI><strong><A NAME="00336" HREF="msg00336.html">[MUD-Dev] Arctic's Project?</A></strong>, 
Brandon Cline <a href="mailto:brandon#sedona,net">brandon#sedona,net</a>, Wed 28 Jan 1998, 16:29 GMT
<UL>
<LI><strong><A NAME="00339" HREF="msg00339.html">Re: [MUD-Dev] Arctic's Project?</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#user2,inficad.com">nightfall#user2,inficad.com</a>, Thu 29 Jan 1998, 05:26 GMT
<UL>
<LI><strong><A NAME="00346" HREF="msg00346.html">[MUD-Dev] Arctic's Project?</A></strong>, 
Brandon Cline <a href="mailto:brandon#sedona,net">brandon#sedona,net</a>, Fri 30 Jan 1998, 10:21 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>