Saturday, January 22, 2005

FreeBSD Release Engineer Scott Long on SMP

I highly recommend that FreeBSD enthusiasts read Scott Long's interview at Onlamp.com. He succinctly explains FreeBSD's new Symmetric MultiProcessing Next Generation (SMPng) code and answers good questions posed by interviewer Federico Biancuzzi.


Since I maintain multiple Dell PowerEdge 750 servers with Hyper-Threading Technology (HTT), I found Scott's comments on gains from HTT to be interesting. It seems that HTT will only be useful once the new ULE scheduler is equipped to make use of HTT and ULE replaces the 4BSD scheduler. Scott says:

"The other design goal of ULE was to have it map out and understand the CPU topology and make good scheduling choices for features like Hyper-Threading. Unfortunately, to my knowledge this work is not yet complete.

[Frederic asks:] Does SMPng improve performance on Intel Hyper-Threading capable CPUs?

Scott Long: As of right now, very little. The scheduler really needs to be aware of Hyper-Threading and schedule threads and processes appropriately so that the caches and TLBs [Transaction Look-aside Buffers] can be shared and not get thrashed. The ULE scheduler will fill this role in the future, but it's not there yet."

Scott also discusses how the network stack will benefit from the removal of the GIANT lock, and how the Pf firewall imported from OpenBSD already runs without GIANT, unlike IPFW. This means Pf is believed to be faster on FreeBSD than IPFW.

No comments: