From owner-freebsd-chat Wed Feb 5 12:54:28 2003 Delivered-To: freebsd-chat@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 827DB37B401 for ; Wed, 5 Feb 2003 12:54:26 -0800 (PST) Received: from HAL9000.homeunix.com (12-233-57-224.client.attbi.com [12.233.57.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id 64C5C43FAF for ; Wed, 5 Feb 2003 12:54:14 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.6/8.12.5) with ESMTP id h15KsAo0001904; Wed, 5 Feb 2003 12:54:10 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.6/8.12.5/Submit) id h15KsA9e001903; Wed, 5 Feb 2003 12:54:10 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Date: Wed, 5 Feb 2003 12:54:10 -0800 From: David Schultz To: Narvi Cc: Dag-Erling Smorgrav , freebsd-chat@FreeBSD.ORG Subject: N:M vs. 1:1 threading (was: Re: Project status) Message-ID: <20030205205410.GA1825@HAL9000.homeunix.com> Mail-Followup-To: Narvi , Dag-Erling Smorgrav , freebsd-chat@FreeBSD.ORG References: <20030205201148.F43637-100000@haldjas.folklore.ee> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030205201148.F43637-100000@haldjas.folklore.ee> Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Thus spake Narvi : > > On Tue, 4 Feb 2003, Dag-Erling Smorgrav wrote: > > > - KSE ("kernel scheduled entities") is a threading architecture, both > > for in-kernel threads and for mapping userland threads onto kernel > > threads (which allows splitting one application across multiple > > CPUs; our current thread library doesn't). I don't know of any > > substantial opposition against KSE. There are some concerns that > > the M-on-N model is not really better than the 1-on-1 model, > > especially now that Solaris has switched to the latter, and that > > KSE is over-engineered and possibly out of the reach of a team of > > (relatively) amateur volunteers. Otherwise, complaints regarding > > KSE are mostly about how much time it's taking to implement, and > > concerns that the KSE developers aren't subjecting their code to > > sufficient testing before committing it. Note that I'm neither > > confirming or refuting any of these claims, just reporting what > > other people are saying about KSE. > > > > the N:M and especially the 1:1 models are also slightly simplified > pictures. I think this is also a cyclical development problem - at some > point using 1:1 threads is insufficent and/or doesn't give acceptable > perfomace so the move to N:M happens. At some point later, kernel based > threads are again sufficently perfomant that N:M becomes unnecessary > complexity. > > Linux/*BSD are just a cycle behind Solaris in this area. Ultimately the > cycles don't matter, what matters is the perfomance and capabilities you > deliver. Actually, in the case of Solaris, bugs are what matter. After all of these years, they never ironed all of the nits out of the LWP implementation, but their 1:1 threading implementation just works, and has no outstanding problem reports. Maybe FreeBSD will have the same problems. But from a performance point of view, you can get much cheaper threads, with fewer protection boundary crossings and cheaper context switches, with a UTS. SA happens to be a very nice abstraction for getting it right (LWPs that really are /light/) and hopefully that is reflected in what we will eventually get. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message