aboutsummaryrefslogtreecommitdiff
path: root/pipermail/nel/2001-March/000324.html
blob: 8e23f7c3bf6c4f4b490a9eb309f79497dad41ed6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Nel] Network Connections</TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:michael%40in-orbit.net">
   <LINK REL="Previous"  HREF="000317.html">
   <LINK REL="Next" HREF="000325.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Nel] Network Connections</H1>
    <B>Michael Warnock</B> 
    <A HREF="mailto:michael%40in-orbit.net"
       TITLE="[Nel] Network Connections">michael@in-orbit.net</A><BR>
    <I>Thu, 1 Mar 2001 14:38:16 -0800</I>
    <P><UL>
        <LI> Previous message: <A HREF="000317.html">[Nel] Network Connections</A></li>
        <LI> Next message: <A HREF="000325.html">[Nel] Network Connections</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#324">[ date ]</a>
              <a href="thread.html#324">[ thread ]</a>
              <a href="subject.html#324">[ subject ]</a>
              <a href="author.html#324">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>This is a multi-part message in MIME format.

------=_NextPart_000_0032_01C0A25D.40462150
Content-Type: text/plain;
	charset=&quot;iso-8859-1&quot;
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=&quot;iso-8859-1&quot;
Content-Transfer-Encoding: quoted-printable

&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META content=3D&quot;text/html; charset=3Diso-8859-1&quot; =
http-equiv=3DContent-Type&gt;
&lt;META content=3D&quot;MSHTML 5.00.3103.1000&quot; name=3DGENERATOR&gt;
&lt;STYLE&gt;&lt;/STYLE&gt;
&lt;/HEAD&gt;
&lt;BODY bgColor=3D#ffffff&gt;
&lt;BLOCKQUOTE=20
style=3D&quot;BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px&quot;&gt;
  &lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;3) Windows did support something =
called micro=20
  threads, which had a much lower over head than traditional =
threads.&amp;nbsp;=20
  These ( if i remember correctly ) were designed specifically for =
scalable IO (=20
  as in IIS ).&amp;nbsp; Some time looking here may well yield some useful=20
  results.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;I come from a nix background, but I =
wouldn't doubt=20
that windows also has had some implementation of microthreads.&amp;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.&amp;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.&amp;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).&amp;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.&amp;nbsp; EVE (a commercial mmorpg) also =
plans to=20
use stackless as the basis for their game mechanics.&amp;nbsp; I dont have =
any=20
benchmarks on its network performance or scalability, but I plan to test =
it=20
soon.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;Michael Warnock&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;In-Orbit =
Entertainment&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;

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


</pre>



<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI> Previous message: <A HREF="000317.html">[Nel] Network Connections</A></li>
	<LI> Next message: <A HREF="000325.html">[Nel] Network Connections</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#324">[ date ]</a>
              <a href="thread.html#324">[ thread ]</a>
              <a href="subject.html#324">[ subject ]</a>
              <a href="author.html#324">[ author ]</a>
         </LI>
       </UL>
</body></html>