aboutsummaryrefslogtreecommitdiff
path: root/pipermail/nel/2001-March/000325.html
blob: 2b1cdbfb23f58fd636b1fed7e9f2750d0fd00ad6 (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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<!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="000324.html">
   <LINK REL="Next" HREF="000331.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 15:41:15 -0800</I>
    <P><UL>
        <LI> Previous message: <A HREF="000324.html">[Nel] Network Connections</A></li>
        <LI> Next message: <A HREF="000331.html">[Nel] Network Connections</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#325">[ date ]</a>
              <a href="thread.html#325">[ thread ]</a>
              <a href="subject.html#325">[ subject ]</a>
              <a href="author.html#325">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>This is a multi-part message in MIME format.

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

oops:)

It is actually <A HREF="http://www.stackless.com=20">http://www.stackless.com=20</A>

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

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: <A HREF="mailto:nel@nevrax.org">nel@nevrax.org</A>=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=&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;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;oops:)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;It is actually &lt;A=20
href=3D&quot;<A HREF="http://www.stackless.com"">http://www.stackless.com&quot;</A>&gt;<A HREF="http://www.stackless.com</A">http://www.stackless.com&lt;/A</A>&gt; =
&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;Here are more relavent =
urls:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;&lt;A=20
href=3D&quot;<A HREF="http://world.std.com/~wware/uthread.html"">http://world.std.com/~wware/uthread.html&quot;</A>&gt;<A HREF="http://world.std.com/~w=">http://world.std.com/~w=</A>
ware/uthread.html&lt;/A&gt;&lt;BR&gt;&lt;A=20
href=3D&quot;<A HREF="http://www.eve-online.com/faq/faq_08.asp"">http://www.eve-online.com/faq/faq_08.asp&quot;</A>&gt;<A HREF="http://www.eve-online.c=">http://www.eve-online.c=</A>
om/faq/faq_08.asp&lt;/A&gt;&lt;BR&gt;&lt;A=20
href=3D&quot;<A HREF="http://pdos.lcs.mit.edu/exo/"">http://pdos.lcs.mit.edu/exo/&quot;</A>&gt;<A HREF="http://pdos.lcs.mit.edu/exo/</A">http://pdos.lcs.mit.edu/exo/&lt;/A</A>&gt;&lt;BR=
&gt;<i>&lt;/FONT&gt;&lt;/DIV&gt;
</I>&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;We hope to use the MIT exokernel the =
last url=20
refers to as a stripped down os for the servers.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=3DArial size=3D2&gt;&lt;/FONT&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;/DIV&gt;&lt;/FONT&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 style=3D&quot;FONT: 10pt arial&quot;&gt;----- Original Message ----- &lt;/DIV&gt;
  &lt;DIV=20
  style=3D&quot;BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black&quot;&gt;&lt;B&gt;From:&lt;/B&gt;=20
  &lt;A href=3D&quot;mailto:<A HREF="mailto:michael@in-orbit.net">michael@in-orbit.net</A>&quot; =
title=<A HREF="mailto:3Dmichael@in-orbit.net">3Dmichael@in-orbit.net</A>&gt;Michael=20
  Warnock&lt;/A&gt; &lt;/DIV&gt;
  &lt;DIV style=3D&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;To:&lt;/B&gt; &lt;A =
href=3D&quot;mailto:<A HREF="mailto:nel@nevrax.org">nel@nevrax.org</A>&quot;=20
  title=<A HREF="mailto:3Dnel@nevrax.org">3Dnel@nevrax.org</A>&gt;<A HREF="mailto:nel@nevrax.org">nel@nevrax.org</A>&lt;/A&gt; &lt;/DIV&gt;
  &lt;DIV style=3D&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Sent:&lt;/B&gt; Thursday, March 01, 2001 =
2:38=20
  PM&lt;/DIV&gt;
  &lt;DIV style=3D&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Subject:&lt;/B&gt; Re: [Nel] Network=20
  Connections&lt;/DIV&gt;
  &lt;DIV&gt;&lt;BR&gt;&lt;/DIV&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=20
  doubt that windows also has had some implementation of =
microthreads.&amp;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.&amp;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.&amp;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).&amp;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.&amp;nbsp; =
EVE (a=20
  commercial mmorpg) also plans to use stackless as the basis for their =
game=20
  mechanics.&amp;nbsp; I dont have any benchmarks on its network performance =
or=20
  scalability, but I plan to test it 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=20
Entertainment&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;

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


</pre>



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