[Nel] Network Connections

Michael Warnock michael@in-orbit.net
Thu, 1 Mar 2001 14:38:16 -0800


This is a multi-part message in MIME format.

------=_NextPart_000_0032_01C0A25D.40462150
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

  3) Windows did support something called micro threads, which had a =
much lower over head than traditional threads.  These ( if i remember =
correctly ) were designed specifically for scalable IO ( as in IIS ).  =
Some time looking here may well yield some useful results.
I come from a nix background, but I wouldn't doubt that windows also has =
had some implementation of microthreads.  The best current way to use =
microthreads afaik is stackless python (stackless.org) which I (as the =
game mechanics programmer) plan to use on the server side of the game my =
company (In-Orbit Entertainment) is working on using the Nel library.  =
Microthreads use an old and mostly forgotten programming concept called =
continuations- a continuation is, in brief, the rest of a program from =
any given point- that includes it's state and any branch of code it =
might follow from there.  Stackless Python provides a way to reference =
continuations- which requires it not to use the C stack for framing(a =
neat trick u should read about).  Writing microthreads is as simple as =
defining a bunch of functions and calling them at the same time with a =
special call- they are executed in parralel within the same thread and =
each requires almost no overhead above what they would if executed in =
serial.  EVE (a commercial mmorpg) also plans to use stackless as the =
basis for their game mechanics.  I dont have any benchmarks on its =
network performance or scalability, but I plan to test it soon.

Michael Warnock
In-Orbit Entertainment

------=_NextPart_000_0032_01C0A25D.40462150
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3103.1000" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
  <DIV><FONT face=3DArial size=3D2>3) Windows did support something =
called micro=20
  threads, which had a much lower over head than traditional =
threads.&nbsp;=20
  These ( if i remember correctly ) were designed specifically for =
scalable IO (=20
  as in IIS ).&nbsp; Some time looking here may well yield some useful=20
  results.</FONT></DIV></BLOCKQUOTE>
<DIV><FONT face=3DArial size=3D2>I come from a nix background, but I =
wouldn't doubt=20
that windows also has had some implementation of microthreads.&nbsp; The =
best=20
current way to use microthreads afaik is stackless python =
(stackless.org) which=20
I (as the game mechanics programmer) plan to use on the server side of =
the game=20
my company (In-Orbit Entertainment) is working on using the Nel =
library.&nbsp;=20
Microthreads use an old and mostly forgotten programming concept called=20
continuations- a continuation is, in brief, the rest of a program from =
any given=20
point- that includes it's state and any branch of code it might follow =
from=20
there.&nbsp; Stackless Python provides a way to reference continuations- =
which=20
requires it not to use the C stack for framing(a neat trick u should =
read=20
about).&nbsp; Writing microthreads is as simple as defining a bunch of =
functions=20
and calling them at the same time with a special call- they are executed =
in=20
parralel within the same thread and each requires almost no overhead =
above what=20
they would if executed in serial.&nbsp; EVE (a commercial mmorpg) also =
plans to=20
use stackless as the basis for their game mechanics.&nbsp; I dont have =
any=20
benchmarks on its network performance or scalability, but I plan to test =
it=20
soon.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Michael Warnock</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>In-Orbit =
Entertainment</FONT></DIV></BODY></HTML>

------=_NextPart_000_0032_01C0A25D.40462150--