1998Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] request for comments -->
<!--X-From-R13: [vebfyni Evybivp <fvybivpNmrfbv.sre.ue> -->
<!--X-Date: Thu, 08 Jan 1998 13:07:06 +0000 -->
<!--X-Message-Id: 7e4t3funcy.fsf#mare,zesoi.fer.hr -->
<!--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:silovic#zesoi,fer.hr">
</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="msg00112.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00114.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00088.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00166.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00113">Author</A>
&nbsp;|&nbsp;<A HREF="#00113">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00113">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>: Miroslav Silovic &lt;<A HREF="mailto:silovic#zesoi,fer.hr">silovic#zesoi,fer.hr</A>&gt;</LI>
<LI><em>Date</em>: 08 Jan 1998 14:06:05 +0100</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:silovic#srce,hr">silovic#srce,hr</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
Mike Sellers &lt;mike#online-alchemy,com&gt; writes:

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

This is likely to show up in the FAQ, isn't it? ;) Also, it's in the
archives of this mailing list, where the problem has been beaten to
death, with several good solutions.

The idea is described in detail in any good database management
textbook.  Instead of locking (and having to worry about deadlock
prevention), you instead use transactions and delay effect of every
thread until the commit time. If you can't commit, you rollback the
entire thread. The net result is that threads /seem/ to execute in
sequence - because when two thread interfere with each other, only one
will be able to commit.

I designed specification (well, pretty rough /beta/ specification) for
the similar system that could be implemented for Cold, and I discussed
it on this list as well. Of course, there are no promises to stick
with the original design, because there /are/ certain things with
JCL's idea that I like. Don't hold your breath, though, it's waaaay
down TODO list (after implementing different, thread-safe memory
management and hacking VM for threading).

-- 
I refuse to use .sig

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00166" HREF="msg00166.html">Re: [MUD-Dev] request for comments</A></strong>
<ul compact><li><em>From:</em> JC Lawrence &lt;claw#under,Eng.Sun.COM&gt;</li></ul>
</UL></LI></UL>
<!--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="msg00112.html">Re: [MUD-Dev]  Wild west (was Guilds &amp; Politics)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00114.html">Re: [MUD-Dev] Commercial value of RP</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00088.html">threaded servers (was Re: [MUD-Dev] request for comments</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00166.html">Re: [MUD-Dev] request for comments</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00113"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00113"><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>
<ul compact>
<LI><strong><A NAME="00149" HREF="msg00149.html">Re: [MUD-Dev]  MUD Economy</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Fri 09 Jan 1998, 21:10 GMT
</LI>
</ul>
<LI><strong><A NAME="00157" HREF="msg00157.html">Re: [MUD-Dev] MUD Economy</A></strong>, 
JC Lawrence <a href="mailto:claw#under,Eng.Sun.COM">claw#under,Eng.Sun.COM</a>, Sat 10 Jan 1998, 00:29 GMT
</LI>
<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
</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>