| Linux 2.6.16 -- the "high-end enterprise" release |
Mar. 23, 2006
The newest Linux kernel offers dozens of features aimed at improved performance in highly available, highly scalable clustered architectures for enterprise, telecom, and database applications. It also includes power management improvements for devices. This guest column by Linux-Watch editor Steven J. Vaughan-Nichols runs down the salient upgrades. Enjoy . . . !
What's what in Linux 2.6.16 If you wanted to sum up what's new in this latest release of Linux, you could say that it's a Linux for high-end enterprise users. However, this kernel is also the first one to support Toshiba, Sony, and IBM's CELL processor, which is best known as the chip that will power Sony's forthcoming PlayStation 3 game console.
Of course, CELL (Cell Broadband Engine Architecture), a 64-bit PowerPC-derived, multicore chip is meant for more than just games. It's designed from the silicon up to be scalable for use in everything from game consoles to workstations and servers. So, even the CELL support actually fits into the 2.6.16's themes of high-end hardware support.
More easily recognized as an enterprise play is this kernel's support for the second version of Oracle's OCFS2 (Oracle Cluster File System for Linux). With this cluster support, users can get speedy disk support over SANs (Storage Area Networks), or, thanks to its TCP-based messaging system, across Fast or Gigabit Ethernets and cluster nodes or NAS (Network Attached Storage).
The new Linux kernel also has support for Mac OS X's newest file system: HFSX. This is the latest update to Apple's HFS Plus (Hierarchical File System Plus) file system. HFS Plus and its descendents have been the Mac's default file system since Mac OS 8.1. HFSX appeared on Macs beginning with Mac OS X 10.3, Panther.
Other file systems though, which had been talked about making it into Linux, are still optional outsiders. These include Red Hat's GFS (Global File System), another clustering system, and the high-performance, journaling Reiser4 file system.
Continuing with the theme of adding more cluster goodness, the new kernel also supports the TIPC (Transparent Inter Process Communication) protocol, which is used for intra-clustering communication.
This Linux kernel also includes swap migration for clustering and multi-CPU systems that use Non-Uniform Memory Access (NUMA).
NUMA is a concept that we're going to see used more and more often, as both clustered and built-in processors' speeds outstrips memory speed. After all, not all memory is created equal. Generally speaking, the closer memory is to a processor (in terms of access time) the faster the system's overall I/O will go, thus improving all aspects of system performance.
Most of us know that hard drives use cache to store frequently accessed data. Since even the slowest memory's access speed is much faster than even the speediest hard drive, the end result is a much faster system.
The also works for processors and memory, which use small amounts of fast RAM either on the chip itself (L1 or primary cache) or immediately next to the CPU (L2 or secondary cache) to speed up main memory performance in the same way that hard drive cache speeds up disk performance.
NUMA takes cache's basic concept of memory locality and expands on it so that multiprocessor systems can make effective use of not just their local memory but also of memory on different buses, and even memory connected to the processor over a fast network. With NUMA, every processor or group of processors accesses other CPUs' memory. They still have access to their own local memory, of course, but by sharing memory they're much more capable of performing efficient parallel processing and dividing up massively data-intensive tasks into manageable sizes.
Linux has supported NUMA to a degree since the 2.6.0 kernel. With this latest edition, physical memory pages can be moved between NUMA nodes while the process is running through swap memory. In English, this means that the processor can still use the same virtual addresses, thus saving on processor power. The point of this operation goes back to NUMA's caching goal -- to place the data that's most likely to be used by the processor closer to it, so that the system's overall memory performance is improved.
Under the hood, this Linux kernel also includes several new system calls. No fewer than 13 of these system calls take a file descriptor/filename pair as an argument instead of a single file name. The point here is to improve the performance of any program that needs to examine or change multiple files on a file-system tree.
You could, of course, always do this with C library calls -- almost always Glibc in Linux -- but implementing a virtual per-thread current working directory with Glibc was processor-time expensive. So, taking a leaf from OpenSolaris, Linux now has that functionality built-in.
Linux also now has the unshare() system call. With this call, developers can now use a thread model that allows threads to selectively "unshare" any resources that were being shared at the time of their creation.
The main use of unshare is to allow a process to control its shared execution context without creating a new process. This may sound esoteric, but it's widely thought in developer circles that this enhancement will prove very helpful.
For example, on clustered or distributed systems, programs may access all possible file systems from each system in the computer complex (Postscript file). Without unshare, each system might find its own way to mount all the other file systems. You can probably see where this is going. You can end up with a network of "spaghetti" drive mounts, in which the failure of any single desktop can bring down the entire network's file storage.
With ushare, setting up a private name space, in which each machine keeps its own copy of the drive map system, becomes much easier. This, in turn, makes the entire distributed system far more stable.
There are also many other possible uses for ushare. While end-users won't see it, I suspect ushare will quickly become popular with Linux programmers.
Last and simplest, but not the least, Linux now has improved power management support for many devices and subsystems.
As I said at the beginning, to sum it all up, this is not a release that will excite many end-users, but for developers it's a different story. In particular, programmers working with clusters and distributed applications will find a great deal to like in Linux 2.6.16.
-- Steven J. Vaughan-Nichols
Related Stories:
(Click here for further information)
|
|
|
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.
Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.
Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.
Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.
Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.
Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.
Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.
Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.
|
|
|
|
|