1999Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Re: MUD&#45;Dev request rejected -->
<!--X-From-R13: X Q Znjerapr <pynjNpc.arg> -->
<!--X-Date: Wed, 24 Nov 1999 12:32:48 &#45;0800 -->
<!--X-Message-Id: E11qj5o&#45;0006fl&#45;00#under,eng.cp.net -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: E11pznU&#45;00052v&#45;00#kanga,nu -->
<!--X-Reference: 3839A69D.19B85289@classic&#45;games.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Re: MUD-Dev request rejected</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#cp,net">
</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="msg00487.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00491.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00450.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00424.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00490">Author</A>
&nbsp;|&nbsp;<A HREF="#00490">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00490">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Re: MUD-Dev request rejected</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>: Re: [MUD-Dev] Re: MUD-Dev request rejected </LI>
<LI><em>From</em>: J C Lawrence &lt;<A HREF="mailto:claw#cp,net">claw#cp,net</A>&gt;</LI>
<LI><em>Date</em>: Wed, 24 Nov 1999 12:32:44 -0800</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#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 Mon, 22 Nov 1999 14:25:01 -0600 
Greg Miller &lt;gmiller#classic-games,com&gt; wrote:

&gt; I recently ran across an article linked from news.com discussing a
&gt; study on memory vs. disk performance. They found that databases
&gt; designed to be kept entirely in RAM were at least an order of
&gt; magnitude faster than disk-based databases that had sufficient RAM
&gt; available to keep the entire database in cache. 

This is hardly surprising as the cache manintenance code and object
reference overhead in a cacheing DB become significant when the
entire DB is in cache.  

Which is faster:

  Having all of your money in your pocket at all times (given a big
enough pocket) in one great wad, or having all of your money always
neatly sorted by bill size and intended use in your wallet (given a
big enough wallet)?

The overhead of keeping your wallet sorted can be extreme.  The
problems of handling a great undifferentiated wad of cash can be
entertaining.

A few of the real concerns in DB design here are:

  working set size

  possible maximum working set size

  working set change characteristics (spikes, valleys, how rapidly
  the cache might get flushed.invalidated etc)

  VM performance/page fault overhead

  performance gains from object proximity

Its not an obvious answer.  Yes, there are advantages to keeping
everything in RAM always -- until you exhaust physical RAM and your
DB page thrashes VM to death due to the fact that your working set
is spread over more pages than you can fit in physical RAM at any
one instant.

So, you decide to get clever and do object migration and migrate
your objects at runtime across your VM system in attempt to ensure
some level of proximity for the members of your working set (ie
reduce the number of VM pages required to store your working set).
And of course the overhead for this is non-zero both in watching and
computing the object moves and in the extra level of abstraction
required for every object reference so that pointers aren't hard
tied...  So you decide to be even more clever and figure out
&lt;whatever&gt; which has &lt;some other&gt; expense.

In fact, and this is the cute and very scary bit, with very very
good cacheing code and utterly optimal working sets a disk-based DB
can, in certain cases, beat the performance curve of an in-RAM DB
purely due to avoiding VM page check overhead.

There's no panacea here.  Yes, in-RAM DB's can be atrociously fast.
So can on-disk DB's.  Alex Molitor and Marcus Ranum (mostly Marcus)
both demonstrated this fact in great detail for MUDs (cf Uber and
Unter) and shocked the heck out of a bunch of people at the time.

Which is better for you depends on your load, what happens to your
load at its extremes, what performance curves you expect from those
extremes, and what resources you can guarantee to the server at
runtime (given everything else running on the machine).

-- 
J C Lawrence                              Internet: claw#kanga,nu
----------(*)                            Internet: coder#kanga,nu
...Honorary Member of Clan McFud -- Teamer's Avenging Monolith...


_______________________________________________
MUD-Dev maillist  -  MUD-Dev#kanga,nu
<A  HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A>

</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="00450" HREF="msg00450.html">[MUD-Dev] Re: MUD-Dev request rejected</A></STRONG>
<UL><LI><EM>From:</EM> Greg Miller &lt;gmiller#classic-games,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00487.html">Re: [MUD-Dev] (no subject)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00491.html">Re: [MUD-Dev] Languages for MUD drivers</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00450.html">[MUD-Dev] Re: MUD-Dev request rejected</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00424.html">[MUD-Dev] Public Domain Client</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00490"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00490"><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] FAQ for gm-types?</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00507" HREF="msg00507.html">Re: [MUD-Dev] FAQ for gm-types?</A></strong>, 
Christopher Allen <a href="mailto:ChristopherA#skotos,net">ChristopherA#skotos,net</a>, Thu 25 Nov 1999, 04:08 GMT
</LI>
<LI><strong><A NAME="00472" HREF="msg00472.html">RE: [MUD-Dev] FAQ for gm-types?</A></strong>, 
Charles Hughes <a href="mailto:charles.hughes#bigfoot,com">charles.hughes#bigfoot,com</a>, Wed 24 Nov 1999, 02:49 GMT
<UL>
<LI><strong><A NAME="00498" HREF="msg00498.html">Re: [MUD-Dev] FAQ for gm-types?</A></strong>, 
Mik Clarke <a href="mailto:mikclrk#attglobal,net">mikclrk#attglobal,net</a>, Wed 24 Nov 1999, 22:18 GMT
</LI>
</UL>
</LI>
</ul>
</LI>
<LI><strong><A NAME="00450" HREF="msg00450.html">[MUD-Dev] Re: MUD-Dev request rejected</A></strong>, 
Greg Miller <a href="mailto:gmiller#classic-games,com">gmiller#classic-games,com</a>, Mon 22 Nov 1999, 20:25 GMT
<UL>
<LI><strong><A NAME="00490" HREF="msg00490.html">Re: [MUD-Dev] Re: MUD-Dev request rejected</A></strong>, 
J C Lawrence <a href="mailto:claw#cp,net">claw#cp,net</a>, Wed 24 Nov 1999, 20:32 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00424" HREF="msg00424.html">[MUD-Dev] Public Domain Client</A></strong>, 
Ian Macintosh <a href="mailto:iman#issystems,co.nz">iman#issystems,co.nz</a>, Sun 21 Nov 1999, 01:14 GMT
<UL>
<LI><strong><A NAME="00432" HREF="msg00432.html">Re: [MUD-Dev] Public Domain Client</A></strong>, 
Mik Clarke <a href="mailto:mikclrk#attglobal,net">mikclrk#attglobal,net</a>, Sun 21 Nov 1999, 22:18 GMT
<UL>
<LI><strong><A NAME="00444" HREF="msg00444.html">Re[2]: [MUD-Dev] Public Domain Client</A></strong>, 
Jeremy Music <a href="mailto:rezo#lords,com">rezo#lords,com</a>, Mon 22 Nov 1999, 18:55 GMT
<UL>
<LI><strong><A NAME="00445" HREF="msg00445.html">Re: Re[2]: [MUD-Dev] Public Domain Client</A></strong>, 
Andrew Wilson <a href="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</a>, Mon 22 Nov 1999, 20:10 GMT
</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>