New Linux Kernel Strengthens SMP Support
The latest release of the Linux operating system kernel offers a number of improvements that should speed up operations in SMP (symmetric multiprocessing) systems.
Among the improvements are an adjustment to the way the kernel supports the ext4 and XFS file systems, making them more suitable for SMP duties. The software also includes a number of routing and device-handling optimizations that SMP system managers should welcome.
Kernel keeper Linus Torvalds announced the release of this latest version, 2.6.37, on the Linux Kernel mailing list on Tuesday. The release comes a little more than two months after version 2.6.36, which was issued in late October. Approximately 1,140,000 lines of code were added into this version, according to Linux Weekly News.
In regard to the ext4 file system, the file system will no longer use a buffer layer to communicate. "The buffer layer has a lot of performance and SMP scalability issues that will get solved with this port," the kernel's changelog noted. In one set of benchmarks, using a 48-core system connected to a 24-unit SAS storage array, the new ext4 implementation was able to speed 192 simultaneous FFSB (Flexible File System Benchmark) threads by 300 percent while reducing the load on the CPUs by a factor of three or four.
Through a number of enhancements, the kernel's support for the XFS file system has been streamlined as well. The changelog notes that in a test of an 8-way SMP machine, using the fs_mark benchmark with 50 million files, performance was improved by 15 percent. It now deletes files in half the time that it previously required.
The new kernel also removes at least one outdated SMP technology, the Big Kernel Lock (BKL). Introduced in version 2.0 of the kernel, the lock was put in place to enhance SMP scalability. As a way to control concurrent operations, the lock prevented more than one thread from running in the kernel space at one time. For large systems, however, BKL can slow performance. Developers have subsequently pioneered more fine-grained locking techniques that eliminate the need to run BKL.
All these improvements should help speed Linux performance on SMP systems. SMP systems tie together multiple processors under a single shared memory and are run by a single operating system. Although traditionally used for running large-scale ERP (enterprise resource planning) and other enterprise software packages, the SMP architecture is also evident in today's dual-core and quad-core processor-based servers and desktops.
Among the many other new features in the kernel are the ability to throttle input and output, improved power management, and upgrades to the CPU scheduler. This is also the first version of the kernel that can act as a native host for Xen-based virtual machines, though more work needs to be done to develop drivers for client-side access.