1997Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: Just a bit of musing -->
<!--X-From-R13: pynjNahyy.arg -->
<!--X-Date: from babe.globecomm.net [207.51.48.8] by mx4.ibm.net id 858620160.83794&#45;1 Mon Mar 17 17:36:00 1997 -->
<!--X-Message-Id: 332d7c6137d7002#msgSFO01,schwab.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199703120255.CAA91421#out1,ibm.net -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: Just a bit of musing</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#null,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="msg00124.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00128.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00120.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00007.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00131">Author</A>
&nbsp;|&nbsp;<A HREF="#00131">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00131">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: Just a bit of musing</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: &lt;<A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A>&gt;</LI>
<LI><em>Subject</em>: Re: Just a bit of musing</LI>
<LI><em>From</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI>
<LI><em>Date</em>: Fri, 14 Mar 97 15:40:42 -0800</LI>
<LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,net</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 11/03/97 at 02:45 PM, "Jon A. Lambert" &lt;jlsysinc#ix,netcom.com&gt; said:
&gt;&gt; From: coder#ibm,net

&gt;&gt;   User IO arrives thru the Connector.  The connector is essentially a
&gt;&gt;   pool of threads which asynchronously manage the general pool of 
&gt;&gt;   outside connections.  
&gt;&gt;
&gt;&gt;   A seperate monitor is responsible for keeping the IO network tree
&gt;&gt;   happy.
...
&gt; I am particularly interested in how your pool of threads manages socket
&gt; connections.  Are these threads dynamically created to manage connections?  
&gt; That is, do you n+1 threads managing your connections, where n is active 
&gt; connections plus one to handle connection requests on the master socket?  
&gt; Are sockets blocked or do you use some other method of activating threads?

This is really really crude, as its very long time since I looked at this
code:

  One thread watches the master socket and spawns connection sockets 
  from there as they come in.
 
  The child sockets then go into a pool (actually I think its a bag?) with

  a monitoring thread.  Any IO to or from a socket is then assigned on a
first
  available basis to a thread from a waiting pool of IO threads.  

  Should an IO request come in which does not have a waiting thread ready
to 
  execute it, a new thread is created to process the IO.  

  Should the number of IO threads significantly exceed the number of open 
  sockets, then IO threads are killed down to a base minimum.

  As such the total number of IO threads is proportional to the current 
  maximum rate of IO transactions thru the system.

I could be way off here, but I think the above is fairly accurate, well
sorta, maybe.
  
&gt;&gt; Well, given an SMP machine, with an OS that will intelligently distributes
&gt;&gt; threads -- that all semi happens for free with me (its not quite so good
&gt;&gt; as I try to minimise thread creations, as few to no current OS'es will
&gt;&gt; migrate a thread across processors for load sharing).  On the other side,
&gt;&gt; a definite design goal of my server is for it so support running in
&gt;&gt; clustered enviroments where the entire cluster presents a single
&gt;&gt; representation of a game.

&gt;It is my understanding that many OSs that implement multi-processing will
&gt;allocate one CPU for the OS and the rest of the available units to
&gt;application threads.  NT 3.51 does this as well as many Unixes.  I thought OS2 
&gt; used this model also.  (please correct me if I'm wrong)

AFAIK not even NT is quite this dumb (much tho I'd like to believe it). 
The process NT and OS/2 both follow, as well as most other MT SMP OS'es is
to allocate new threads to the least busy CPU.  I suspect that the source
of your confusion is that NT and OS/2 both (largely) have a monolithic
kernal (ie, a single thread).  As such, yes, that primary thread will get
allocated to one CPU at IPL.  However, even OS/2 doesn't have a purely
monolithic kernal any more, and so it will straddle multiple CPUs at IPL
quite nicely.

&gt;It is also my understanding that NT 4.0 uses a different model and
&gt;implements "load sharing" as you define it above.   I have heard rumors that
&gt;Digital's 64-bit Unix uses the "load sharing" model.  Does anyone have any info 
&gt;on this?

None here.  

-- 
J C Lawrence                              Internet: coder#null,net
----------(*)                              Internet: coder#ibm,net
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...




</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="msg00124.html">Re: mud grammar</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00128.html">Re: Just a bit of musing (VRML)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00120.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00007.html">Wout's mailing list and old digests</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00131"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00131"><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: Just a bit of musing</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00116" HREF="msg00116.html">Re: Just a bit of musing</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 15 Mar 1997, 10:54 GMT
</LI>
<LI><strong><A NAME="00117" HREF="msg00117.html">Re: Just a bit of musing</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sat 15 Mar 1997, 14:29 GMT
</LI>
<LI><strong><A NAME="00118" HREF="msg00118.html">Re: Just a bit of musing</A></strong>, 
Travis Casey <a href="mailto:casey#NU,cs.fsu.edu">casey#NU,cs.fsu.edu</a>, Sat 15 Mar 1997, 21:20 GMT
</LI>
<LI><strong><A NAME="00120" HREF="msg00120.html">Re: Just a bit of musing</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 16 Mar 1997, 04:20 GMT
</LI>
<LI><strong><A NAME="00131" HREF="msg00131.html">Re: Just a bit of musing</A></strong>, 
claw <a href="mailto:claw#null,net">claw#null,net</a>, Tue 18 Mar 1997, 01:36 GMT
</LI>
</ul>
</LI>
<LI><strong><A NAME="00007" HREF="msg00007.html">Wout's mailing list and old digests</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Thu 20 Feb 1997, 12:13 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00008" HREF="msg00008.html">Re: Wout's mailing list and old digests</A></strong>, 
Wout Mertens <a href="mailto:Wout.Mertens#rug,ac.be">Wout.Mertens#rug,ac.be</a>, Wed 26 Feb 1997, 07:55 GMT
</LI>
<LI><strong><A NAME="00011" HREF="msg00011.html">Re: Wout's mailing list and old digests</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Thu 27 Feb 1997, 14:10 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00002" HREF="msg00002.html">Re: Invitation to MUD Design Mailing List</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 13 Feb 1997, 16:56 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>