<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: {MUD} Re: various (MUD) -->
<!--X-From-R13: nyrkbNfncvraf.pbz (Oyrk Aera) -->
<!--X-Date: from 194.78.48.181 [194.78.48.181] by mx01.ca.us.ibm.net id 841134609.111681&#45;1 Tue Aug 27 08:30:09 1996 -->
<!--X-Message-Id: 3222a9dd.143198678#squid,sapiens.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: Pine.SOL.3.94.960819230913.2495E&#45;100000#eduserv1,rug.ac.be -->
<!--X-Reference: 9608201042.ZM17986#xsvr1,cup.hp.com -->
<!--X-Reference: 321ab54f.1279920638#squid,sapiens.com -->
<!--X-Reference: 9608210939.ZM4187#xsvr1,cup.hp.com -->
<!--X-Reference: 321c48ca.1383211132#squid,sapiens.com -->
<!--X-Reference: 9608221539.ZM2906#xsvr1,cup.hp.com -->
<!--X-Reference: 32200d5a.6711009#squid,sapiens.com -->
<!--X-Reference: 9608261011.ZM5972#xsvr1,cup.hp.com -->
<!--X-Reference: 3221eb5e.94431034#squid,sapiens.com -->
<!--X-Reference: 9608261409.ZM15165#xsvr1,cup.hp.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: {MUD} Re: various (MUD)</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:alexo#sapiens,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="msg00030.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00032.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00028.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00011.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00031">Author</A>
&nbsp;|&nbsp;<A HREF="#00031">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00031">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: {MUD} Re: various (MUD)</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud#megami,ibase.be">mud#megami,ibase.be</A></LI>
<LI><em>Subject</em>: Re: {MUD} Re: various (MUD)</LI>
<LI><em>From</em>: <A HREF="mailto:alexo#sapiens,com">alexo#sapiens,com</A> (Alex Oren)</LI>
<LI><em>Date</em>: Tue, 27 Aug 1996 08:13:43 GMT</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud#megami,ibase.be">mud#megami,ibase.be</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:owner-mud#megami,ibase.be">owner-mud#megami,ibase.be</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 Mon, 26 Aug 1996 14:09:39 -0700, you wrote:

} On Aug 26,  7:07pm, Alex Oren wrote:
} &gt; On Mon, 26 Aug 1996 10:11:57 -0700, JCL wrote:
} 
} &gt; } Object creates
} &gt; } and destroys are really of a different class of DB-level events than object
} &gt; } content changes.
} &gt;
} &gt; Which brings me to a discussion we were having on a different thread: having
} &gt; properties as parts of the object or as standalone objects.
} &gt;
} &gt; Consider:
} &gt;
} &gt; Assume three properties on the PLAYER object: Inventory, Gold and Hits.
} &gt;
} &gt;    [Bubba, Bozo and Googoo are in a room]
} &gt;    Googoo&gt; drop sword
} &gt;    Bubba&gt; give 20 coins to Googoo
} &gt;    Bozo&gt; kill Googoo
} &gt;
} &gt; All three commands invoke events that change the state of the Googoo
} &gt; object, possibly failing and re-executing due to C&amp;C contention. The events
} &gt; will have to be executed serially.
} 
} Not true, if Bubba, GooGoo, and Bozo are different players or objects.  At the
} system level the order of entry for the above three commands is indeterminate.
}  Bubba can't know that GooGoo droped the sword until the DropSword event
} compleats.  Ditto for Bozo and Bubba's coins.

Chris, you misunderstood me. Probably my poor wording is showing again, but you
should be used to it by now :-)
(In other words, I'm not as stupid as I sometimes sound.)

There are three events in the system, all contending for the GooGoo object.
At the first iteration, two of them will fail C&amp;C and will be rescheduled.
At the second iteration, one of them will fail C&amp;C and will be rescheduled.
Thus, serial execution (even worse than serial, actually).

} At the system level all three commands can be considered simultaneous and
} processed (compleated) in any order.  The only contention which could arise in
} the above would be over te GooGoo object and containment changes due to the
} coins.  Not a problem as the event just gets resceduled and executes then.
}  Whether the combat starts before or after GooGoo gets the coins is also moot,
} for the same reasons.

See above.

} The only area I see any need of strict sequential ordering is in the processing
} of commands or events arising from the same object.

This has nothing to do with ordering.
I suggested that having attributes (Inventory, Gold and Hits) as separate DB
objects will reduce contention.

So, to rephrase my earlier post:

All three commands invoke events that change the state of the Googoo object,
possibly failing and re-executing due to C&amp;C contention. Thus the efficiency of
the events' execution will be worse than serial.

Now, if we change the model so that each property becomes a DB object in it's
own right (I believe that is what ChrisG uses) there is no contention, no C&amp;C
stalls and reschedules and all the benefits of fully concurrent execution.

OTOH, one may argue that most of the contention will be for containment
properties anyway (inventories, rooms, etc.) so we will not gain much.

Comments?


Have fun,
Alex.


</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="00013" HREF="msg00013.html">{MUD} Re: various (MUD)</A></STRONG>
<UL><LI><EM>From:</EM> alexo#sapiens,com (Alex Oren)</LI></UL></LI>
<LI><STRONG><A NAME="00023" HREF="msg00023.html">Re: {MUD} Re: various (MUD)</A></STRONG>
<UL><LI><EM>From:</EM> "Chris Lawrence" &lt;clawrenc#xsvr1,cup.hp.com&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00026" HREF="msg00026.html">Re: {MUD} Re: various (MUD)</A></STRONG>
<UL><LI><EM>From:</EM> alexo#sapiens,com (Alex Oren)</LI></UL></LI>
<LI><STRONG><A NAME="00028" HREF="msg00028.html">Re: {MUD} Re: various (MUD)</A></STRONG>
<UL><LI><EM>From:</EM> "Chris Lawrence" &lt;clawrenc#xsvr1,cup.hp.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00030.html">Re: {MUD} Re: roleplaying &amp; combat</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00032.html">Re: {MUD} Expanding the mud list</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00028.html">Re: {MUD} Re: various (MUD)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00011.html">{MUD} Re: MUD: languages (type checking, sigh)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00031"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00031"><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><A NAME="00013" HREF="msg00013.html">{MUD} Re: various (MUD)</A></strong>, 
Alex Oren <a href="mailto:alexo#sapiens,com">alexo#sapiens,com</a>, Sun 25 Aug 1996, 17:00 GMT
<UL>
<LI><strong><A NAME="00023" HREF="msg00023.html">Re: {MUD} Re: various (MUD)</A></strong>, 
Chris Lawrence <a href="mailto:clawrenc#xsvr1,cup.hp.com">clawrenc#xsvr1,cup.hp.com</a>, Tue 27 Aug 1996, 00:28 GMT
<UL>
<LI><strong><A NAME="00026" HREF="msg00026.html">Re: {MUD} Re: various (MUD)</A></strong>, 
Alex Oren <a href="mailto:alexo#sapiens,com">alexo#sapiens,com</a>, Tue 27 Aug 1996, 02:24 GMT
<UL>
<LI><strong><A NAME="00028" HREF="msg00028.html">Re: {MUD} Re: various (MUD)</A></strong>, 
Chris Lawrence <a href="mailto:clawrenc#xsvr1,cup.hp.com">clawrenc#xsvr1,cup.hp.com</a>, Tue 27 Aug 1996, 04:24 GMT
<UL>
<LI><strong><A NAME="00031" HREF="msg00031.html">Re: {MUD} Re: various (MUD)</A></strong>, 
Alex Oren <a href="mailto:alexo#sapiens,com">alexo#sapiens,com</a>, Tue 27 Aug 1996, 15:30 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00011" HREF="msg00011.html">{MUD} Re: MUD: languages (type checking, sigh)</A></strong>, 
Alex Oren <a href="mailto:alexo#sapiens,com">alexo#sapiens,com</a>, Sun 25 Aug 1996, 16:44 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00015" HREF="msg00015.html">Re: {MUD} Re: MUD: languages (type checking, sigh)</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,graysage.edmonton.ab.ca">cg#ami-cg,graysage.edmonton.ab.ca</a>, Mon 26 Aug 1996, 00:35 GMT
<UL>
<LI><strong><A NAME="00017" HREF="msg00017.html">{MUD} New adventures</A></strong>, 
MaartenThibaut <a href="mailto:maarten#megami,ibase.be">maarten#megami,ibase.be</a>, Mon 26 Aug 1996, 22:45 GMT
<UL>
<LI><EM>Message not available</EM><UL>
<LI><strong><A NAME="00018" HREF="msg00018.html">Re: {MUD} New adventures</A></strong>, 
Chris Lawrence <a href="mailto:clawrenc#xsvr1,cup.hp.com">clawrenc#xsvr1,cup.hp.com</a>, Mon 26 Aug 1996, 22:57 GMT
</LI>
</UL>
</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>