1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] resource management (was: Missing the point) -->
<!--X-From-R13: "Tryvk O. Qebrf" <sryvkNqjbexva.ay> -->
<!--X-Date: Wed, 28 Oct 1998 08:17:10 &#45;0800 -->
<!--X-Message-Id: 199810281538.QAA21363#pattern,dworkin.nl -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] resource management (was: Missing the point)</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:felix#dworkin,nl">
</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="msg00567.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00569.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00666.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00566.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00568">Author</A>
&nbsp;|&nbsp;<A HREF="#00568">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00568">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] resource management (was: Missing the point)</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] resource management (was: Missing the point)</LI>
<LI><em>From</em>: "Felix A. Croes" &lt;<A HREF="mailto:felix#dworkin,nl">felix#dworkin,nl</A>&gt;</LI>
<LI><em>Date</em>: Wed, 28 Oct 1998 16:38:47 +0100 (CET)</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#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>
"Bruce Mitchener, Jr." &lt;bruce#puremagic,com&gt; wrote:

&gt; On Tuesday, October 27, 1998, Chris Gray wrote:
&gt; &gt;[Bruce Mitchener, Jr.:]
&gt; &gt;
&gt; &gt; &gt;for x in [1 .. 100000000000000] {
&gt; &gt; &gt;        /* don't run out of ticks */
&gt; &gt; &gt;        refresh();
&gt; &gt; &gt;        y += "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
&gt; &gt; &gt;}
&gt;[...]
&gt; The problem isn't execution time.  The problem is that 'y' will soon be very
&gt; large and handling out-of-memory situations is difficult.  Right now, if
&gt; Genesis runs out of memory, it shuts down.  This is obviously non-optimal.
&gt; This isn't an issue of imposing a maximum size on a data stored by a
&gt; variable, since someone could just create lots of variables.  That continues
&gt; on up to task-groups.  I'm trying to find a nice way to handle
&gt; resource-accounting where as little of it is in the driver as possible, but
&gt; is still extensible by the DB code.  Even with this, there are problems.  If
&gt; quota-tracking (how many bytes of objects a user may have), then one could
&gt; bloat up some objects and bring them into memory to trigger an out-of-memory
&gt; condition.
&gt;
&gt; This greatly affects the security of a system that allows for free-user
&gt; programming.  As far as I know, MOO has this problem as well.  I don't know
&gt; about Muq, DGD, or MudOS.

It is worse for DGD, because DGD has shared arrays.  During execution
of an LPC thread, they may even be shared between objects -- only if
no LPC code is currently executing does the server know which object
data belongs to.  Maintaining a notion of ownership during execution
is possible (counting datastructures shared by two objects as
belonging to both) but would involve considerable overhead.

I could just replace shared arrays by unique ones a la MOO, but I
like shared arrays.  They are useful for self-referential
datastructures, among other things.  Also, I suspect that in
moderately-complex mudlibs, some form of shared data would creep
back in on a higher abstraction level, one way or another.


&gt; Am I just missing something obvious?

I think the problem is actually hard to solve properly.  I have
not even attempted to deal with it, yet.  I did work on managing
other resources, see

    <A  HREF="http://www.kanga.nu/~petidomo/lists/mud-dev/1997Q3/msg01200.html">http://www.kanga.nu/~petidomo/lists/mud-dev/1997Q3/msg01200.html</A>

Felix Croes


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00567.html">[MUD-Dev] Gamora: Lessons learned? (fwd)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00569.html">[MUD-Dev] Re: Missing the point:  OpenMUD, Gamora, Casbah, etc.</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00666.html">[MUD-Dev] Re: DevMUD:  Inheritable modules</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00566.html">[MUD-Dev] Gamora: Lessons learned? (fwd)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00568"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00568"><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: DevMUD:  Inheritable modules</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00615" HREF="msg00615.html">[MUD-Dev] Re: DevMUD:  Inheritable modules</A></strong>, 
Thandor <a href="mailto:thandor#donut,dhis.org">thandor#donut,dhis.org</a>, Sat 31 Oct 1998, 04:29 GMT
<UL>
<LI><strong><A NAME="00637" HREF="msg00637.html">[MUD-Dev] Re: DevMUD:  Inheritable modules</A></strong>, 
The Arrow <a href="mailto:arrow#trelleborg,mail.telia.com">arrow#trelleborg,mail.telia.com</a>, Sat 31 Oct 1998, 21:07 GMT
<UL>
<LI><strong><A NAME="00654" HREF="msg00654.html">[MUD-Dev] Re: DevMUD:  Inheritable modules</A></strong>, 
Thandor <a href="mailto:thandor#donut,dhis.org">thandor#donut,dhis.org</a>, Sun 01 Nov 1998, 02:53 GMT
<UL>
<LI><strong><A NAME="00666" HREF="msg00666.html">[MUD-Dev] Re: DevMUD:  Inheritable modules</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sun 01 Nov 1998, 08:34 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00568" HREF="msg00568.html">[MUD-Dev] resource management (was: Missing the point)</A></strong>, 
Felix A. Croes <a href="mailto:felix#dworkin,nl">felix#dworkin,nl</a>, Wed 28 Oct 1998, 16:17 GMT
<LI><strong><A NAME="00566" HREF="msg00566.html">[MUD-Dev] Gamora: Lessons learned? (fwd)</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Wed 28 Oct 1998, 14:05 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00567" HREF="msg00567.html">[MUD-Dev] Gamora: Lessons learned? (fwd)</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Wed 28 Oct 1998, 14:06 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00544" HREF="msg00544.html">[MUD-Dev] Re: Why did it take years?</A></strong>, 
Cynbe ru Taren <a href="mailto:cynbe#muq,org">cynbe#muq,org</a>, Tue 27 Oct 1998, 07:01 GMT
<UL>
<LI><strong><A NAME="00550" HREF="msg00550.html">[MUD-Dev] Re: Why did it take years?</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Tue 27 Oct 1998, 19:37 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>