[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> </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> </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> </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. =20
These ( if i remember correctly ) were designed specifically for =
scalable IO=20
( as in IIS ). 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. 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. 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. 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). 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. =
EVE (a=20
commercial mmorpg) also plans to use stackless as the basis for their =
game=20
mechanics. I dont have any benchmarks on its network performance =
or=20
scalability, but I plan to test it soon.</FONT></DIV>
<DIV> </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--