On Mon, 30 Oct 2006, Massimo Lusetti wrote: > On Sat, 2006-10-28 at 20:47 +0100, Robert Watson wrote: > > > significantly slower than multi-process ones. Many programmers believe that > > threading is necessarily faster than using multiple processors, so I think > > we're fundamentally forced to deal with the way they do use them, rather than > > how they should use them. > > I'm in sync with your opinion but speaking from the point of view of a > programmer which use FreeBSD i would like to say that enforcing (or at > least try to) good understanding of issues and good programming practice > is a good thing(TM), so if FreeBSD as an O.S. and as a community try to > enforce me to have good programming attitudes i really would like to > follow that. I'm not a kernel developer, and not even a 'real' developer, I am just a sys admin who hopes to get the best from the OS. At the moment I am responsible for a bunch of servers to run a homegrown Java application. So sorry if my thoughts here sound a bit naive. The way the JVM exposes the threads to the OS just seems as a "natural" way to me, especially if you are program for more then one OS. I understand it as "leave it to the OS to sort things out. It should know how to use the resources". I administrate SMP servers running a resource-hungry Java/tomcat app. The JVM has several hundred threads, e.g. 100 for every DB connection in a connection pool. It is difficult to imagine that a thread, a "light-weight process" causes more kernel congestion than a process. I doubt it is the programmer's fault, I would think there is something wrong withg the implementation. What means fairness in this context? (Simplification here) I don't hope that the sshd gets half of the CPU if I login. I just hope that I get a share to type a kill command if necessary;-) A webhoster running apaches in 20 jails has other preferences. He wishes that every apache gets close to 5% of the ressources if they all busy, not one who slows everything else down just because it is particularely hungry and spawned new processes. Tha are two very common scenarios with very different requirements, I think. But the OS has to cater for both, and it also should give the admin some utilities he can use to control and manipulate the behaviour. (BTW: It also needs some transperency and documentation for developers and administrators. E.g. even if I am an experienced administrator with Solaris, Linux and FreeBSD background, I do not feel competent at this point to give good advice what thread library and related kernel options to use.) Just my 2 cents. PeterReceived on Mon Oct 30 2006 - 19:58:00 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:02 UTC