The long-awaited Linux 2.4 kernel has finally made its appearance—and it has given the operating system a lot more ammunition in its server war against Novell Netware, Microsoft Windows NT/2000, and commercial UNIX vendors such as Sun Microsystems. The 2.4 kernel systematically addresses and remedies the main weakness that has kept Linux from winning more servers in the enterprise: scalability. Let’s compare Linux to the network operating systems that currently dominate the enterprise. Table A shows how they stack up.

Table A

The changes in Linux 2.4 deal mainly with the internal infrastructure that governs how the OS gets things done. The most notable improvements occur in the following areas:

  • Optimization for symmetrical multiprocessing (SMP)
  • Support for up to 64 gigabytes of RAM
  • Rewritten network layer for better performance and throughput
  • Expanded hardware support
  • Support for a large number of users and for larger file sizes

With the 2.2 kernel, Linux’s most acute enterprise problems were in the area of SMP. Although Linux 2.2 technically supported SMP up to four processors, the additional processors did not help Linux get things done any faster, and the OS’s internal dealings with multiple processors were clunky at best. In other words, Linux 2.2 was not optimized for SMP, a necessity for enterprise environments.

The 2.4 kernel has effectively removed this obstacle. Linux 2.4 is well optimized and tested on SMP machines with up to eight processors. There have even been reports of development and deployment teams using the kernel on SMP machines with anywhere from 32 to 64 processors. Officially, the number of processors supported by Linux 2.4 is still eight but look for this number to expand with further testing in the coming months.

Another SMP-related Linux 2.4 improvement is support for multiple Advanced Programming Interrupt Controllers (APICs). These I/O controllers are used in SMP to spread the load for processing interrupt requests among the various CPUs, thus allowing for faster and better use of multiprocessing. Memory support had been another Linux drawback. Enterprise servers, especially database servers, require very large amounts of RAM, and Linux 2.2 was limited to 2 gigabytes. With the 2.4 kernel, Linux now supports up to 64 gigabytes.

Benchmarks such as the one done by Mindcraft a couple years ago showed that the Linux 2.2 kernel also had some networking limitations. As a result, Linux developers completely rewrote the networking layer for the 2.4 kernel to better handle multithreading and thus improve the networking speed and efficiency of the kernel.

The expanded hardware support of the Linux 2.4 kernel will also have implications for the enterprise. Linux 2.4 can support up to 10 IDE controllers, up to 20 hard disks, and up to 16 network cards. (Linux 2.2 did not handle multiple network cards very well.) Linux 2.4 also improves RAID support and performance, another key for enterprise SMP servers. Additionally, the kernel has been expanded to support the Intel 64-bit Itanium processor and the IBM S/390 mainframe.

In terms of storage, the 2.4 kernel contains support for Logical Volume Management (LVM), which enables administrators to manage and make changes to storage systems while they are live. Obviously, this is very important in a 24/7 enterprise environment, and this feature has been a mainstay of other UNIX-based enterprise operating systems.

Another key in making Linux ready for the enterprise was addressing limitations in file size and volume of users and groups. In Linux 2.2, file size was limited to 2 gigabytes, and the number of user and group objects was limited to 65,563. Linux 2.4 allows up to 1-terabyte files and up to 4.2 billion user and group objects.

Additional 2.4 kernel enhancements include faster I/O between the kernel and peripherals, support for NFS version 3 (which boasts increased performance and stability), support for ISA Plug and Play cards, built-in kernel Web daemon (kHTTP), which will increase performance in serving static Web pages and will integrate with Apache, and PPP support for DSL and ATM.

Measuring up
So how does Linux now measure up against its enterprise competitors, such as Novell, Microsoft, and Sun? Well, the big boys definitely have reason for concern. Linux 2.4 matches, and in some areas exceeds, the enterprise capabilities of its competitors. Let’s compare Linux with some of the other enterprise products.

Despite its steep decline in recent years, Novell Netware still makes its home on a lot of enterprise servers. Windows NT stole nearly all of the small and midsize business accounts from Novell, but NT’s scalability problems kept it out of most enterprise shops, at least as the network backbone. However, NetWare is still a very expensive product. And with Novell’s PR problems and Linux matching it feature for feature for a lot less money, NetWare could be in trouble.

Linux even beats NetWare in some categories. NetWare 5.1 currently supports up to 32 processors and 4 gigabytes of RAM. Linux 2.4 would clearly have much more strength running an enterprise database server because of its RAM capacity. However, NetWare’s saving grace may be its popular directory services—NDS—which Novell has been rumored to be marketing to Linux vendors, such as Red Hat. When all is said and done, Novell may end up becoming a Linux ally.

With the release of Windows 2000, Microsoft is trying to do much of what Linux is attempting with the 2.4 kernel—win more enterprise servers. With Active Directory and Windows 2000 Datacenter, Microsoft has greatly increased the scalability of Windows servers. Windows NT 4.0 Enterprise Edition could handle up to eight processors and 4 gigabytes of RAM. Win2K Datacenter supports up to 32 processors and 64 gigabytes of RAM.

However, Win2K Datacenter is still an immature product, and it doesn’t have much Windows software that natively scales up to enterprise capacity. Linux, on the other hand, benefits from binary compatibility with the many UNIX-based applications that have developed and matured over the years. All things considered, at this point Linux 2.4 will be better prepared to win enterprise server space than Windows 2000 Datacenter. Nevertheless, with the pending advent of Microsoft .NET and the company’s venerable marketing muscle, Windows could still make some major enterprise gains. Look for Windows and Linux to battle each other fiercely for enterprise space in the coming years.

Before we get too wrapped up in the coming Linux vs. Windows war, let’s not forget about “the dot in dot com.” Sun Microsystems’ Solaris operating system is currently the gold standard for enterprise servers. It scales up to 64 processors and 64 gigabytes of memory, and it has pulled ahead of its UNIX competitors from IBM, HP, Compaq, and others in recent years as the leader in high-end enterprise servers. Sun has formed a somewhat tenuous relationship with Linux vendors, mostly to help develop standards for UNIX and Linux desktops that can battle Microsoft on that front. They need to keep an eye on Linux so that it doesn’t take too big a share of new enterprise contracts, but don’t look for many companies to scrap their current Solaris environment for Linux any time soon.

When it comes down to it, Linux’s best chance of making serious headway in the enterprise may rest with Big Blue. IBM has been investing heavily in Linux in recent years, and they have well-established relationships with many large organizations. Enterprises like to buy hardware and software in a package deal from one vendor, especially when they are buying a UNIX OS. HP, Sun, and IBM have been very successful in marketing their hardware/software packages to enterprise customers. With the arrival of the 2.4 kernel, watch for IBM to leverage its Linux investments to make a strong play for new enterprise contracts with robust and well-priced enterprise servers based on Linux. Other companies, such as HP and Compaq, may follow suit.
If you’d like to share your opinion, start a discussion below or send the editor an e-mail.