<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Actually, no; I think the client thread is there to continously serve the out-queue in a heterogenous fashion, but that could be substituted by thread pooling as well.<BR>
<BR>
/Stefan<BR><BR><BR><BR><BR>
<BLOCKQUOTE>
<HR id=EC_stopSpelling>
Date: Mon, 24 Sep 2007 15:38:08 +0200<BR>From: dalienta@gmail.com<BR>To: tleiades@hotmail.com; opensim-dev@lists.berlios.de<BR>Subject: Re: [Opensim-dev] Threading strategy<BR><BR>How would the thread pool help ? IMHO the threads should be per-region, not per-client - then the number of threads would be quite limited.<BR><BR>I would think in the http server the thread pool is used because HTTP is inherently a request-response-forget protocol. Whereas the client connections are long-lived, so if we have now one thread per client connection, I do not see how the thread pool would be useful... <BR><BR>(indeed these are speculations without much looking at the code, the tide of the last week's burst of RL still there)<BR><BR>/d<BR><BR>
<DIV><SPAN class=EC_gmail_quote>On 9/23/07, <B class=EC_gmail_sendername>Tleiades </B><<A href="mailto:tleiades@hotmail.com">tleiades@hotmail.com</A>> wrote:</SPAN>
<BLOCKQUOTE class=EC_gmail_quote style="PADDING-LEFT: 1ex">
<DIV>
<DIV><FONT face=Arial size=2>Hi</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have created a new page on the wiki, outlining the threading strategy, or lack thereof.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2><A href="http://opensimulator.org/wiki/OpenSim:Threading_strategy" target=_blank>http://opensimulator.org/wiki/OpenSim:Threading_strategy </A> </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I think we should streamline our use of threads. I am especially concerned about the way threads are used in the ClienView, where a thread is used per client. One thread per connection is <EM>the</EM> classical way of handling several clients connecting to a single server, unfortuantely this frequently leads to a scenario where hundreds, if not thousands of threads execute in one process. I would suspect that the user, asset and grid servers will have a large number of connections, consequently we need to think ahead, and plan for good scalability in those server modules.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I would propose that we generally switch to a strategy similar to the one used in BaseHttpServer, relying on the thread pool. </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>/tleiades</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV></DIV><BR>_______________________________________________<BR>Opensim-dev mailing list<BR><A href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</A><BR><A href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target=_blank>https://lists.berlios.de/mailman/listinfo/opensim-dev</A><BR><BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></body>
</html>