Skip site navigation (1)Skip section navigation (2)
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>