From owner-freebsd-smp@FreeBSD.ORG Tue Jun 6 20:02:13 2006 Return-Path: X-Original-To: smp@freeBSD.org Delivered-To: freebsd-smp@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7DCC916CC33 for ; Tue, 6 Jun 2006 19:59:41 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6821D43D46 for ; Tue, 6 Jun 2006 19:59:41 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 49ABC1A3C24 for ; Tue, 6 Jun 2006 12:59:39 -0700 (PDT) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id 8EEE651616; Tue, 6 Jun 2006 15:59:38 -0400 (EDT) Date: Tue, 6 Jun 2006 15:59:38 -0400 From: Kris Kennaway To: smp@freeBSD.org Message-ID: <20060606195938.GA6581@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="/04w6evG8XlLl3ft" Content-Disposition: inline User-Agent: Mutt/1.4.2.1i Cc: Subject: Concluding the SMPng project X-BeenThere: freebsd-smp@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD SMP implementation group List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2006 20:02:19 -0000 --/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Several of us have been discussing recently whether it is time to bring the SMPng project to a formal conclusion. According to the SMPng project webpage, "The end goal of the SMPng Project is to decompose the Giant lock into a number of smaller locks, resulting in reduced contention (and improved SMP performance)." Thanks to the hard work of many developers over the past ~6 years, this goal is now complete. While Giant has not been completely eliminated from the kernel and several subsystems are still giant-locked (notably ipv6, tty, and CAM, although work is in progress on all of these fronts), kernel profiling traces show that for many real-world application loads the Giant lock is simply no longer a factor in the performance of the SMP kernel. See e.g.=20 http://www.bsdcan.org/2006/papers/FilesystemPerformance.pdf for one such measurement of the extent of Giant locking in FreeBSD 6.x; other real-world application workloads are similar. Some of the benefits of formally concluding the SMPng project are: * The focus of SMP development work has largely changed from "break up Giant everywhere" to "carefully measure the effects of the locking decisions that were made, and optimize for greater performance and scalability". This is a major milestone and should be announced to the world, perhaps under the banner of a new "FreeBSD Scalability Project". * For example, a number of us are looking very closely at the nascent FreeBSD port to the Sun Ultrasparc T1, which provides 32 virtual CPUs (4 threads on 8 CPU cores) on a single chip. Optimizing for the new generation of SMP hardware is going to be a major effort over the coming year. * We get to draw a line under the significant architectural changes of the past 6 years and move forward. Throughout the 5.x branch I think there was still a lot of developer mentality that it represented a work in progress, but I think there's a broad consensus that 6.x is the natural conclusion of that process, and we have a new baseline upon which to build for the future. * There were many people who were unsure whether the goals of the SMPng project could be realised or whether the tasks that the FreeBSD project set for itself were just too ambitious. While SMP work remains ongoing, I think it's fair to say that the project has addressed this criticism admirably, and we should not be shy about advertising this achievement. Kris --/04w6evG8XlLl3ft Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEhd6pWry0BWjoQKURAm1ZAKClsUtg0oRQH2girKdm4fcsbBuICgCfbvPo kiiSKJHd1X5tL6/kIKlDEOc= =Tv+4 -----END PGP SIGNATURE----- --/04w6evG8XlLl3ft--