When a small team of IBM programmers in Boeblingen, Germany completed a port of Linux on the IBM S/390 mainframe in December 1999, it ushered in a new era in the short history of Linux. Now Linux runs on everything from handheld PalmPilots to large mainframes.
At Linux World in early February 2000, IBM demonstrated Linux running on the S/390 by piping audio-streamed MP3s across the conference hall. IBM won't say when--or even if--it will officially release the product, but the company is making the code available for download. And the notion of running Linux on an IBM mainframe has piqued the interest of at least some IBM customers. As of early March 2000, the code had been downloaded 600 times, according to IBM. And a Linux on S/390 e-mail list has more than 550 members. So far, many of the mainframe users appear to be just kicking the tires. The Toronto Transit Commission, for example, is evaluating Linux for a number of uses. As part of the evaluation, Peter Webb, a technical support analyst at the Transit Commission, has been running Linux on the organization's IBM mainframe, a Multiprise 2003-225, since January 2000. Webb hopes his test system will encourage the Transit Commission to consider the mainframe as a platform for Linux. Money is one thing that may sway the Commission's decision making. The Transit Commission may have to expand its raised floor computer room, says Webb, due in part to the increasing amount of space needed for Windows NT servers. Replacing those servers with copies of Linux running on the Transit Commission's mainframe would decrease the amount of floor space required. "Since we can host multiple Linux servers within the mainframe box, we could avoid expensive computer room renovations," Webb says. Webb expects the Linux mainframe could be used for Web serving, e-commerce, databases, and file or print serving. "Basically, it is a good platform for anything where you need a really reliable server," he says. Other IBM mainframe users, such as the Oklahoma Department of Corrections in Oklahoma City, Okla., have firmer plans for Linux on the mainframe. Stephen Frazier, manager of technical services, expects to have a Linux mainframe running soon as a replacement for some of the corrections department's servers. "We currently have about 40 Windows NT servers. If we were to replace them with Linux on our mainframe, we would have only one machine to support instead of 40. This would save us a lot of time and problems," he says. Test Plan Charlie There are three ways to run Linux on an S/390: native, in a logical partitioning environment (LPAR), or under a virtual machine/enterprise systems architecture (VM/ESA). Running Linux natively means it is the only operating system and it controls the whole machine. When run in LPAR, the system resides on its own separate piece of the physical hardware, so that the machine can actually run several different operating systems on the same hardware. When running in a VM/ESA mode, a single underlying operating system controls the hardware but hosts one or more other operating systems, such as Linux, in virtual partitions. VM/ESA is IBM's operating system that allows you to simulate a complete computer environment in software. Multiple copies of Linux can run side-by-side on a mainframe under VM/ESA, each one operating as if it was on its own box. So far, most Linux mainframe users seem to favor running it under VM/ESA. Just how many virtual copies of Linux can you run on an S/390? David Boyes, a Virginia-based engineer, has gained some notoriety in the Linux community for his "Test Plan Charlie" effort in which he ran 41,400 copies of Linux on the same S/390 CPU. "Each virtual machine was a complete multiuser network-accessible Linux system configured for a specific task," he says. "Some generated Web traffic, some handled network connectivity, others were applications servers, others were shared file servers." The system ran smoothly, although it did slow as more virtual systems were added. It did not crash, however, Boyes says, even when VM ran out of resources to allocate.