[Mono-list] remoting and threading in Mono

Manuel Costa manuel@mail.fct.unl.pt
Wed, 14 May 2003 12:28:46 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_0043_01C31A14.5D490340
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Lluis,

the problem with the Microsoft implementation has not to do with the =
threadpool itself. It has to do with how they did it and how documented =
it. They only have concurrency if the server machine has more then 1 =
processor or if one of the server threads enters into a sleeping stage. =
Please don't do it has they did it. It's a very ugly threading model.

regards,

Manuel=20

  ----- Original Message -----=20
  From: Lluis Sanchez=20
  To: Manuel Costa ; mono-list@lists.ximian.com=20
  Sent: Wednesday, May 14, 2003 12:15 PM
  Subject: Re: [Mono-list] remoting and threading in Mono


  Hi,

  There won't be concurrency locks as far as there are enough threads to =
handle the incoming connections. The current implementation does not use =
ThreadPool, it manages threads in its own. It is not using ThreadPool =
because it didn't work very well at the time the TCP channel was =
implemented, but maybe it can be changed now. The reason for using =
ThreadPool is that it is good in managing the =
performance/resource-saving tradeoff (or at least it should).

  - Lluis

  ----- Original Message -----=20
  From: Manuel Costa=20
  To: mono-list@lists.ximian.com=20
  Sent: Wednesday, May 14, 2003 12:48 AM
  Subject: [Mono-list] remoting and threading in Mono


  Hi guys,

  i'd like to know if mono implementation of both tcp and http channels =
provides true concurrency or does it follows the crazy microsoft =
heuristics.=20

  P.S. : to read about the Microsoft heuristics read this thread

  =
http://groups.google.pt/groups?dq=3D&hl=3Dpt-PT&lr=3D&ie=3DUTF-8&oe=3DUTF=
-8&threadm=3D%23qFKA8JGDHA.2852%40tk2msftngp13.phx.gbl&prev=3D/groups%3Fh=
l%3Dpt-PT%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26group%3Dmicrosoft.public.do=
tnet.framework.remoting

  Manuel
------=_NextPart_000_0043_01C31A14.5D490340
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 http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1170" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>
<DIV><FONT face=3DArial size=3D2>Hi Lluis,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>the problem with the Microsoft =
implementation has=20
not to do with the threadpool itself. It has to do with how they did it =
and how=20
documented it. They only have concurrency if the server machine has more =
then 1=20
processor or if one of the server threads enters into a sleeping stage. =
Please=20
don't do it has they did it. It's a very&nbsp;ugly threading =
model.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>regards,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Manuel</FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-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 title=3Dlluis@ideary.com href=3D"mailto:lluis@ideary.com">Lluis =
Sanchez</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
title=3Dmanuel@mail.fct.unl.pt=20
  href=3D"mailto:manuel@mail.fct.unl.pt">Manuel Costa</A> ; <A=20
  title=3Dmono-list@lists.ximian.com=20
  =
href=3D"mailto:mono-list@lists.ximian.com">mono-list@lists.ximian.com</A>=
 </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Wednesday, May 14, 2003 =
12:15=20
  PM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: [Mono-list] =
remoting and=20
  threading in Mono</DIV>
  <DIV><BR></DIV>
  <DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>There won't be concurrency locks as =
far as there=20
  are enough threads to handle the incoming connections. The current=20
  implementation does not use ThreadPool, it manages threads in its own. =
It is=20
  not using ThreadPool because it didn't work very well </FONT><FONT =
face=3DArial=20
  size=3D2>at the time the TCP channel was implemented, but maybe it can =
be=20
  changed now. The reason for using ThreadPool is that it is good in =
managing=20
  the performance/resource-saving tradeoff (or at least it =
should).</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>- Lluis</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV style=3D"FONT: 10pt arial">----- Original Message -----=20
  <DIV style=3D"BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> <A=20
  title=3Dmanuel@mail.fct.unl.pt =
href=3D"mailto:manuel@mail.fct.unl.pt">Manuel=20
  Costa</A> </DIV>
  <DIV><B>To:</B> <A title=3Dmono-list@lists.ximian.com=20
  =
href=3D"mailto:mono-list@lists.ximian.com">mono-list@lists.ximian.com</A>=
 </DIV>
  <DIV><B>Sent:</B> Wednesday, May 14, 2003 12:48 AM</DIV>
  <DIV><B>Subject:</B> [Mono-list] remoting and threading in =
Mono</DIV></DIV>
  <DIV><BR></DIV>
  <DIV><FONT face=3DArial size=3D2>Hi guys,</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>i'd like to know if mono =
implementation of both=20
  tcp and http channels&nbsp;provides true concurrency or does&nbsp;it =
follows=20
  the crazy microsoft heuristics. </FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>P.S. : to read about the Microsoft =
heuristics=20
  read this thread</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><A=20
  =
href=3D"http://groups.google.pt/groups?dq=3D&amp;hl=3Dpt-PT&amp;lr=3D&amp=
;ie=3DUTF-8&amp;oe=3DUTF-8&amp;threadm=3D%23qFKA8JGDHA.2852%40tk2msftngp1=
3.phx.gbl&amp;prev=3D/groups%3Fhl%3Dpt-PT%26lr%3D%26ie%3DUTF-8%26oe%3DUTF=
-8%26group%3Dmicrosoft.public.dotnet.framework.remoting">http://groups.go=
ogle.pt/groups?dq=3D&amp;hl=3Dpt-PT&amp;lr=3D&amp;ie=3DUTF-8&amp;oe=3DUTF=
-8&amp;threadm=3D%23qFKA8JGDHA.2852%40tk2msftngp13.phx.gbl&amp;prev=3D/gr=
oups%3Fhl%3Dpt-PT%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26group%3Dmicrosoft.p=
ublic.dotnet.framework.remoting</A></FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial =
size=3D2>Manuel</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0043_01C31A14.5D490340--