[Nel] Network Connections

Michael Warnock michael@in-orbit.net
Thu, 1 Mar 2001 15:41:15 -0800


This is a multi-part message in MIME format.

------=_NextPart_000_0052_01C0A266.0D10C2A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

oops:)

It is actually http://www.stackless.com=20

Here are more relavent urls:
http://world.std.com/~wware/uthread.html
http://www.eve-online.com/faq/faq_08.asp
http://pdos.lcs.mit.edu/exo/

We hope to use the MIT exokernel the last url refers to as a stripped =
down os for the servers.

Michael Warnock
In-Orbit Entertainment
  ----- Original Message -----=20
  From: Michael Warnock=20
  To: nel@nevrax.org=20
  Sent: Thursday, March 01, 2001 2:38 PM
  Subject: Re: [Nel] Network Connections


    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_0052_01C0A266.0D10C2A0
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>
<DIV><FONT face=3DArial size=3D2>oops:)</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>It is actually <A=20
href=3D"http://www.stackless.com">http://www.stackless.com</A> =
</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Here are more relavent =
urls:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2><A=20
href=3D"http://world.std.com/~wware/uthread.html">http://world.std.com/~w=
ware/uthread.html</A><BR><A=20
href=3D"http://www.eve-online.com/faq/faq_08.asp">http://www.eve-online.c=
om/faq/faq_08.asp</A><BR><A=20
href=3D"http://pdos.lcs.mit.edu/exo/">http://pdos.lcs.mit.edu/exo/</A><BR=
></FONT></DIV>
<DIV><FONT face=3DArial size=3D2>We hope to use the MIT exokernel the =
last url=20
refers to as a stripped down os for the servers.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Michael Warnock</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>In-Orbit Entertainment</DIV></FONT>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A href=3D"mailto:michael@in-orbit.net" =
title=3Dmichael@in-orbit.net>Michael=20
  Warnock</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
href=3D"mailto:nel@nevrax.org"=20
  title=3Dnel@nevrax.org>nel@nevrax.org</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Thursday, March 01, 2001 =
2:38=20
  PM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: [Nel] Network=20
  Connections</DIV>
  <DIV><BR></DIV>
  <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=20
  doubt that windows also has had some implementation of =
microthreads.&nbsp; The=20
  best current way to use microthreads afaik is stackless python =
(stackless.org)=20
  which I (as the game mechanics programmer) plan to use on the server =
side of=20
  the game my company (In-Orbit Entertainment) is working on using the =
Nel=20
  library.&nbsp; Microthreads use an old and mostly forgotten =
programming=20
  concept called continuations- a continuation is, in brief, the rest of =
a=20
  program from any given point- that includes it's state and any branch =
of code=20
  it might follow from there.&nbsp; Stackless Python provides a way to =
reference=20
  continuations- which requires it not to use the C stack for framing(a =
neat=20
  trick u should read about).&nbsp; Writing microthreads is as simple as =

  defining a bunch of functions and calling them at the same time with a =
special=20
  call- they are executed in parralel within the same thread and each =
requires=20
  almost no overhead above what they would if executed in serial.&nbsp; =
EVE (a=20
  commercial mmorpg) also plans to use stackless as the basis for their =
game=20
  mechanics.&nbsp; I dont have any benchmarks on its network performance =
or=20
  scalability, but I plan to test it soon.</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>Michael Warnock</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2>In-Orbit=20
Entertainment</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0052_01C0A266.0D10C2A0--