Everyone seems to know that the big buzz around Red Hat Enterprise Linux 5 Advanced Platform is the integration of virtualization at no extra charge. But there are many other enhancements in Red Hat Enterprise Linux 5 too. As you may or may not know, Red Hat is arguably the leading company when it comes to contributions to the Linux kernel and some of the 1,200 packages that make up a distribution. As an aside, We are always disappointed that people think Red Hat Enterprise Linux is merely a Linux operating system. They do not realize that well over 1,000 other components are also included and fully supported. Not only the really popular ones like the Apache web server, and the Samba seamless file and print services for Windows and other SMB/CIFS, and not only MySQL, and perl, and PHP, but on and on. Every one is supported, updated and well-integrated.
But back to the story. We wanted to tell you about of all the improvements that do not get the headlines in an article, but really make a big difference and really show the value of open source. The easiest way to do this is to go here and look at all the changes from the 2.6.9 kernel that is part of the #1 distribution, Red Hat Enterprise Linux 4 and examine the changes in 2.6.10, 2.6.11 all the way up to 2.6.18, which is integrated into Red Hat Enterprise Linux 5. You will see the following as a subset of those changes.
Performance accounts for some of them. The Big Kernel Lock (BKL) was a problem to many. Data needed to be protected, but with multiprocessors it was important to allow as much parallelism as possible. The improvements around locking clearly show up in benchmarks with machines having four or greater processors which is very common in these days of multi-core.
Other performance improvements included the on-the-fly changes to the I/O scheduler, the addition of another level in page tables to increase the usable memory up to 128TB and real improvements in pile performance of up to 90 percent. These help take full advantage of the larger servers Red Hat supports, not only the quad-core, four socket industry standard servers with 64 or 128GB of memory and many PCI slots, but up to the larger Power and Itanium and even System Z mainframe systems.
There were quite a few generic improvements ranging from the much-asked-for kdump to speed up the time needed to gather dumps from these large systems, to splice for improving I/O throughput, to blktrace which allows fine grained statistics on I/O for tuning, lockdep, which is used to verify that deadlocks cannot occur and lots of improvements to ensure predictability by real time clocks, event connectors and higher resolution timers.
The file systems also saw a number of improvements, some of which were so valuable that Red Hat had back ported them into the Red Hat Enterprise Linux 4 systems, but are now fully upstream. Block reservation, on line re-sizing, extended attributes, many LVM features, the increase of maximum file system to 16TB (ext3), NFS enhancement for larger read and write sizes, autofs and cachefs and much needed improvement for CIFS support to improve Microsoft interoperability.
Security saw the MLS addition for many defense departments needs, address space randomization and other denial of service and virus eliminators, a faster and more comprehensive auditing subsystem, and more features for security-aware applications to gain information about security contexts. The SELinux troubleshooter is not part of the kernel, but it deserves mention as often as possible.
Networking saw the most new features. A lot of work to prevent congestion shows up in response time benefits. Offloading of some functions to hardware, such as fragmentation/defragmentation improve performance without giving up control and security. ipV6 received a lot of good work, some of it useful to ipV4 as well. Wireless is a big winner with more hardware support, better security and significant ease of use. More access control to give SELinux visibility and control of packets will prevent a lot of security violations, and lastly support for the Intel I/O Acceleration technology (IOAT).
Hardware enablement is a thick section of new features as well. Hot-plug really helps because it allows us to dynamically add and remove memory, I/O, CPU’s and Networks from virtual machines which allows dynamic load leveling and matching the hardware to the demand. Infiniband support and SATA disk support has come along quite a bit, while iSCSI is taking off like crazy as well. Some low level items such as clustering the APICS allows scalability on larger systems as well. And Error Detection and Control (EDAC), gives early warning of impending problems so that the live migration capability of virtualization can move workloads before the hardware dies. Of course our hardware partners have qualified all of their latest hardware as well.
Another large area of change was for better support of NUMA and multi-core. Allocating SLABS of memory to gain better locality, as well as improved VM statistics, swap migration and huge pages all help. By understanding NUMA distances and allocating based on more knowledge, the improvement in the large core-count servers is astonishing.
Almost all of the above are just kernel changes from Red Hat Enterprise 4 to Red Hat Enterprise 5 and they all make a difference in supported hardware, scalability, absolute performance, real-time response, security and the ability to make full use of the hardware. We have not even written about the improvements in the 1,000+ packages besides the Linux kernel that make up the Red Hat Enterprise Linux 5 AP product set. Fortunately our incredible software QA/Integration processes keep it all working and allow a fantastic release.