1997Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Introduction -->
<!--X-From-R13: Rna Dbbg <qneNgurxrrc.bet> -->
<!--X-Date: from ren.globecomm.net [207.51.48.3] by mx3.ibm.net id 863548061.51552&#45;1 Tue May 13 18:27:41 1997 -->
<!--X-Message-Id: fxcg1vr4boe.fsf#phantasm,thekeep.org -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 9705130221.7zuf@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Introduction</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:dar#thekeep,org">
</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="msg00436.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00438.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00424.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00477.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00437">Author</A>
&nbsp;|&nbsp;<A HREF="#00437">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00437">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Introduction</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] Introduction</LI>
<LI><em>From</em>: Dan Root &lt;<A HREF="mailto:dar#thekeep,org">dar#thekeep,org</A>&gt;</LI>
<LI><em>Date</em>: 13 May 1997 11:46:41 -0400</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
cg#ami-cg,graysage.edmonton.ab.ca (Chris Gray) writes:

&gt; [Ling:]
&gt; :What's a cycle?  When I mean disk based, I was thinking along the lines of
&gt; :how present LPs work, load in object, hang around in memory until swapped
&gt; :out due to lack of activity (including everyone leaving an area) or
&gt; :destroyed.  Basically, I don't know of another method of doing it.  I
&gt; :wanna keep the ability in LPs to play around objects whilst online and
&gt; :crash the place. :)
&gt; 
&gt; I too would like to know what a 'cycle' is in this context.

The way the interpreter currently works is to keep a set of 'execution
contexts' (effectively threads, but handled by the interpreter, not
the OS), which it loops across running each context for n operations.
For lack of a better word I call it a 'cycle'. :)

Memory allocations for temporary things, including objects from the
database until I finish the cache, get carved out a region of memory
which is wiped clean at the end of a 'cycle', to prevent memory leaks
and the like (actually an mmap'd segment of /dev/zero which is just
remapped).

(And yes, I know that round robin is not optimally efficient.  But
it's both easy and fair, and prevents starvation, priority inversions,
and lots of other nasties one deals with in adaptive scheduling.)

[ description of standard caching algorithm snipped ]

&gt; You can also chose between write-though and non-write-through, just
&gt; like some CPUs let you (?). With a write-though cache, all changes are
&gt; written to disk right away. With non-write-through, the changes are just
&gt; made in the cache, and the cache entry must be written to disk before
&gt; it can be purged and the space re-used. This purging can also be going
&gt; on as a background activity. I use non-write-through, and don't have
&gt; a background writer-to-disk.

I'd say this choice depends a lot on your design.  In my case, the API
for the cache is identical to the db.  The interpreter never really
talks to the db directly, but asks the cache, which may in turn call
the db itself to satisfy the request.  Given this, non-write-through
(write-back is the proper term I believe, but I'm not sure), makes a
lot of sense.   On the other hand, if you go directly to the db to get
things, then you definitely want write-through. :)


	-DaR
--
Dan Root - dar#thekeep,org

</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="00424" HREF="msg00424.html">Re: [MUD-Dev]	Introduction</A></STRONG>
<UL><LI><EM>From:</EM> cg#ami-cg,GraySage.Edmonton.AB.CA (Chris Gray)</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00436.html">Re: [MUD-Dev]  Introduction</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00438.html">Re: [MUD-Dev]  Introduction</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00424.html">Re: [MUD-Dev]	Introduction</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00477.html">Re: [MUD-Dev]	Introduction</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00437"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00437"><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] Introduction</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00507" HREF="msg00507.html">Re: [MUD-Dev] Introduction</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 17 May 1997, 00:38 GMT
<UL>
<LI><strong><A NAME="00517" HREF="msg00517.html">Re: [MUD-Dev] Introduction</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Sat 17 May 1997, 10:06 GMT
<UL>
<LI><strong><A NAME="00552" HREF="msg00552.html">Re: [MUD-Dev] Introduction</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sun 18 May 1997, 07:43 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
<LI><strong><A NAME="00424" HREF="msg00424.html">Re: [MUD-Dev]	Introduction</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 13 May 1997, 13:04 GMT
<UL>
<LI><strong><A NAME="00437" HREF="msg00437.html">Re: [MUD-Dev] Introduction</A></strong>, 
Dan Root <a href="mailto:dar#thekeep,org">dar#thekeep,org</a>, Wed 14 May 1997, 01:27 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00477" HREF="msg00477.html">Re: [MUD-Dev]	Introduction</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 15 May 1997, 22:04 GMT
<UL>
<LI><strong><A NAME="00488" HREF="msg00488.html">Re: [MUD-Dev] Introduction</A></strong>, 
Dan Root <a href="mailto:dar#thekeep,org">dar#thekeep,org</a>, Fri 16 May 1997, 04:07 GMT
</LI>
<LI><strong><A NAME="00492" HREF="msg00492.html">Re: [MUD-Dev] Introduction</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Fri 16 May 1997, 07:49 GMT
</LI>
</UL>
</LI>
</ul>
</LI>
<LI><strong><A NAME="00388" HREF="msg00388.html">Re: [MUD-Dev] Re: Administrative notes</A></strong>, 
Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Mon 12 May 1997, 10:08 GMT
</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>