<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: atomic functions --> <!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> --> <!--X-Date: Thu, 7 May 1998 15:58:30 -0700 --> <!--X-Message-Id: 199805072257.PAA02201#under,engr.sgi.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199805051252.OAA14086#xs1,simplex.nl --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: atomic functions</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:claw#under,engr.sgi.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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00463.html">Previous</a> | <a href="msg00465.html">Next</a> ] Thread: [ <a href="msg00386.html">Previous</a> | <a href="msg00433.html">Next</a> ] Index: [ <A HREF="author.html#00464">Author</A> | <A HREF="#00464">Date</A> | <A HREF="thread.html#00464">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: atomic functions</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: [MUD-Dev] Re: atomic functions </LI> <LI><em>From</em>: J C Lawrence <<A HREF="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</A>></LI> <LI><em>Date</em>: Thu, 07 May 1998 15:57:02 -0700</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Sender</em>: "Petidomo List Agent -- Kanga.Nu version" <<A HREF="mailto:petidomo#kanga,nu">petidomo#kanga,nu</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 Tue, 5 May 1998 14:52:12 +0200 (MET DST) Felix A Croes<felix#xs1,simplex.nl> wrote: > Jon A. Lambert <jlsysinc#ix,netcom.com> wrote: >> I don't see how any threads are guaranteed execution in C&C, unless >> they are evntually escalated to single-threading as per your >> earlier reference. How does atomic prevent another thread from >> accessing and updating objects, unless you single thread/task it? > What I wrote is wrong -- if N events are executing and the first one > to complete succeeds, then the ones that complete after that may all > fail, so after completion of the first event, none of the events > executing at that moment will succeed. But in C&C, an event that is > itself doomed cannot block the progress of another event. Since an > event can only be doomed by another event that already completed > successfully, progress is guaranteed in the system as a whole. In > the worst case scenario above, one event would immediately complete > successfully. Rephrasing only: In the C&C model, the only time an event fails C&C and has to reschedule is when another event managed to successfully C&C during its execution. That's the only way you can get a changed object to cause the C&C failure. Or to put it another way, given N executing or about to be executing events, at the end of the iteration you are guaranteed that at least one of them will successfully C&C. The only reason to degrade the threading model down towards single-tasking is if you have an event which needs to compleat, but is failing due to C&C failures caused by other more sprightly events "getting in there first". The classic scenario on-list is Bubba digging the Panama Canal. eg If the "dig panama canal" event were coded to do the whole thing in a single very long execution, you are it is likely that it would never C&C due to other shorter/faster events getting in and touching objects before the "big event" compleats. C&C has guaranteed thru-put, it just doesn't guarantee much more than a trickle. Musing: Do you think when 50 years from now someone does a restrospective or history of the early years of VR...there'll be an entry under "Bubba"? BTW: Jon, how do you handle IO for event failures? Buffer and release? -- 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... -- MUD-Dev: Advancing an unrealised future. </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="00386" HREF="msg00386.html">[MUD-Dev] Re: atomic functions</A></STRONG> <UL><LI><EM>From:</EM> "Felix A. Croes" <felix#xs1,simplex.nl></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00463.html">[MUD-Dev] Re: Character maintinence - expenditure of resources</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00465.html">[MUD-Dev] Re: Character maintinence - expenditure of resources</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00386.html">[MUD-Dev] Re: atomic functions</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00433.html">[MUD-Dev] Re: atomic functions</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00464"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00464"><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>[MUD-Dev] Re: atomic functions</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00383" HREF="msg00383.html">[MUD-Dev] Re: atomic functions</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 04 May 1998, 20:20 GMT </LI> <LI><strong><A NAME="00388" HREF="msg00388.html">[MUD-Dev] Re: atomic functions</A></strong>, Joel Dillon <a href="mailto:emily#cornholio,new.ox.ac.uk">emily#cornholio,new.ox.ac.uk</a>, Tue 05 May 1998, 07:17 GMT <UL> <LI><strong><A NAME="00557" HREF="msg00557.html">[MUD-Dev] Re: atomic functions</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 13 May 1998, 21:32 GMT </LI> </UL> </LI> </ul> <LI><strong><A NAME="00386" HREF="msg00386.html">[MUD-Dev] Re: atomic functions</A></strong>, Felix A. Croes <a href="mailto:felix#xs1,simplex.nl">felix#xs1,simplex.nl</a>, Tue 05 May 1998, 06:25 GMT <UL> <LI><strong><A NAME="00464" HREF="msg00464.html">[MUD-Dev] Re: atomic functions</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 07 May 1998, 22:58 GMT </LI> </UL> </LI> <LI><strong><A NAME="00433" HREF="msg00433.html">[MUD-Dev] Re: atomic functions</A></strong>, Felix A. Croes <a href="mailto:felix#xs1,simplex.nl">felix#xs1,simplex.nl</a>, Wed 06 May 1998, 19:37 GMT <UL> <LI><strong><A NAME="00459" HREF="msg00459.html">[MUD-Dev] Re: atomic functions</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 07 May 1998, 14:12 GMT <UL> <LI><strong><A NAME="00558" HREF="msg00558.html">[MUD-Dev] Re: atomic functions</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 13 May 1998, 21:41 GMT <UL> <LI><strong><A NAME="00584" HREF="msg00584.html">[MUD-Dev] Re: atomic functions</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 14 May 1998, 20:00 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> </ul> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>