Date: Tue, 6 Jun 2006 15:59:38 -0400 From: Kris Kennaway <kris@obsecurity.org> To: smp@freeBSD.org Subject: Concluding the SMPng project Message-ID: <20060606195938.GA6581@xor.obsecurity.org>
next in thread | raw e-mail | index | archive | help
--/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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060606195938.GA6581>