[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. =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 doubt=20
that windows also has had some implementation of microthreads. 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. =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. 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). 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. EVE (a commercial mmorpg) also =
plans to=20
use stackless as the basis for their game mechanics. I dont have =
any=20
benchmarks on its network performance or scalability, but I plan to test =
it=20
soon.</FONT></DIV>
<DIV> </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--