Linux on zSeries (or Linux on System z9) is the preferred collective term for the Linux operating system and GNU/Linux software compiled to run on IBM mainframes, especially zSeries and System z9 servers. Other terms with the same meaning include Linux/390, Linux for zSeries, and z/Linux.
IBM announced in May, 2006, that over 1,700 customers run Linux on their mainframes — a very large installed base.
IFLs (Integrated Facility for Linux) are mainframe processors dedicated to running Linux. Microcode restricts IFLs from running "traditional" workloads, such as z/OS. z/OS software vendors do not typically charge for IFL capacity, and IFLs are less expensive than general purpose engines (CPs). Consequently businesses and governments can easily expand their mainframe Linux installations without affecting most of their software license charges. Although Linux can technically operate on both CPs and IFLs, IFLs simply cost less.
Linux on zSeries is available in both 31-bit and 64-bit versions, with the 64-bit versions rapidly gaining popularity as zSeries and System z9 mainframes become more prevalent. (The 64-bit distributions can still run 31-bit code.) The Linux 2.6.x kernel added substantial support for mainframe hardware, although several vendor distributions backported 2.6.x patches to the Linux 2.4.x kernel. For example, Linux on zSeries supports ESCON, FICON, SCSI-attached storage devices, and zSeries cryptographic accelerators.
At the start of IBM's involvement, Linux on zSeries included some OCO (object code only) modules, without source code. However, currently Linux on zSeries is completely open source under the GPL. This 100% open source status is unusual among Linux distributions, many of which still contain OCO drivers from various vendors who wish to hide proprietary implementation details from the Linux community.
z/OS still has numerous reliability and availability advantages over Linux — even the most reliable Linux, mainframe Linux — so most Linux on zSeries customers run both operating systems and will likely do so for the foreseeable future. However, the majority of new, 21st century mainframe buyers run Linux on their systems, many exclusively. (It is possible to configure any new mainframe with IFLs only.)
Linux on zSeries has unique advantages when Linux applications access mainframe-based data and applications in CICS, DB2, IMS, and other mainframe subsystems. Architecturally, Linux on zSeries enjoys "proximity" to these resources. Linux on zSeries can interact with these resources running on the same physical system using Hipersockets (fast, in-memory TCP/IP connections that reduce network latency and processing overhead). In fact, mainframe customers often discover that their backend mainframe-based subsystems work less hard servicing inbound requests from Linux on zSeries applications than if those applications run "offboard" (on other systems across a physical network). Proximity can improve end-user responsiveness, especially for complex applications which are data-intensive or which require multiple network hops to fulfill application requests. Proximity can also improve security (since there's no network connection to intercept) and reliability (since there's no network connection to lose).
A Linux-capable mainframe starts at about $100,000 (System z9 Business Class model A01, U.S. 2006 list price, excluding disk storage). Each (additional) IFL costs $95,000 (U.S. 2006 list price) — although the $95,000 is a one-time charge. (Unlike other systems, the only charge for a mainframe upgrade is a "frame charge." Once you pay for a processor you own it through any model upgrades, even though each IFL gets faster with each upgrade. On other systems you pay for processors again with each and every model upgrade.) Thus Linux on zSeries is not appropriate for small businesses that would have fewer than about 10 distributed Linux servers, although some expensive per-processor licensed software can quickly reduce that "rule of thumb." Most software vendors, including IBM, treat the highly virtualized IFLs just like non-virtualized processors on other platforms for licensing purposes. In other words, a single IFL running scores of Linux instances still counts as one "ordinary" CPU, at the same CPU price, for software licensing. Test, development, quality assurance, training, and redundant production server instances can all run on one IFL (or more IFLs, but only if needed for peak demand performance capacity). Thus, beyond some minimum threshold, Linux on zSeries can quickly become cost-advantageous when factoring in labor and software costs.
The cost equation for Linux on zSeries is not always well understood and is controversial, and many businesses and governments have difficulty measuring, much less basing decisions on, software, labor, and other costs (such as the costs of outage and security breaches). Acquisition costs are often more visible, and small, non-scalable servers are "cheap." Nonetheless, non-acquisition costs are no less real and are usually far greater than hardware acquisition prices. Also, individual users and departments within larger businesses and governments sometimes have difficulty sharing computing infrastructure (or any other resources, for that matter), citing a loss of "control." Server simplification, as Linux on zSeries provides, can reward cooperation with better service and lower costs, but that's not to say that cooperation is always easily accomplished within a corporate bureaucracy. Ultimately market competition will encourage businesses to share infrastructure costs, otherwise they will not be the lowest cost producers.
Linux on zSeries also supports less expensive disk storage devices than z/OS because Linux does not require FICON or ESCON attachment.
Since the Linux kernel tends to assume that it is the sole OS running, that it "owns" the entire system, including all its memory, z/VM helps "tame" Linux. It is likely that, over time, the Linux kernel will more closely cooperate with z/VM (and vice versa), to better manage memory use in order to further increase capacity. That improvement process has already begun, and z/VM 5.2 introduced many Linux-specific optimizations.
On the other hand, mainframes (and Linux on zSeries) do not perform well, at least on a cost basis, for workloads that emphasize single task computation. Examples include weather modeling, protein folding analysis, nuclear explosion simulations, digital cinematography, and structural engineering analysis. Supercomputers, including Linux-based supercomputers, excel at these workloads.
Most Linux on zSeries customers, particularly those with business-critical production workloads, purchase a software support contract from commercial Linux vendors such as Novell SuSE or Red Hat. IBM Global Services also offers support contracts, including 24x7 coverage. Most standard Linux software applications are readily available for Linux on zSeries, including popular enterprise software packages such as WebSphere, DB2 and Oracle databases, SAP R/3, and IBM's Java Developer's Kit (JDK). Nearly every open source software package available for Linux is available for Linux on zSeries, including Apache HTTP Server, Samba software, JBoss, PostgreSQL, MySQL, PHP, Python programming language, Concurrent Versions System, GNU Compiler Collection, and Perl, among many others.
Novell SuSE currently has the most popular Linux on zSeries distribution, although Red Hat is close behind. Debian, Gentoo, Slackware, and CentOS are other notable Linux on zSeries distributions, although IBM generally recommends Novell and Red Hat distributions. Linux on zSeries distributions start with the mainline "s390" architecture branch of the Linux kernel.
There are at least two software-based mainframe emulation packages that can execute zSeries software, including Linux on zSeries. FLEX-ES from Fundamental Software is the officially sanctioned option. The open source Hercules software is also available. While Hercules is not sanctioned for running licensed mainframe operating systems, such as z/OS, software licensing issues do not apply to running Linux on Hercules. Since Linux itself runs on multiple architectures the hardware emulators are not always necessary, thanks to cross compilers which can produce z/Architecture binaries from any Linux system. However, at some point a mainframe binary should be tested preferably on a real mainframe or at least an emulated one.
Linux on zSeries supports Unicode and ASCII just like any other Linux distribution — it is not an EBCDIC-based operating system. There is nothing inherent in z/Architecture that requires EBCDIC. z/OS, for that matter, supports Unicode, ASCII, and EBCDIC. Moving Linux applications to Linux on zSeries almost always involves just simple recompilation of the source code. The few exceptions might include source code which assumes a particular "endian" byte order or inline machine instructions for a specific processor, although these issues are not unique to Linux on zSeries, usually easily remedied, and quite rare.
Linux's design makes it relatively easy to compile applications for multiple platforms. However, the developer resources can be particularly helpful for performance tuning. Performance tuning is particularly important in mainframe environments with large numbers of users. Mainframe customers tend to expect applications which can scale to high numbers of users and transactions because that's how they use their systems every day. Sloppy programming is less tolerated, although the mainframe operating environment will keep any such programming from degrading other running applications and Linux instances. In fact, when used as a development environment, Linux on zSeries is quite useful for compressing test schedules and improving code quality rapidly.
Some Linux application programmers do not expect this exceptional focus on code quality that the mainframe culture and mainframe operating environment demand. However, most developers quickly understand and appreciate this phenomenon, and there's a great deal of professional pride among the growing community of developers with Linux on zSeries experience.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Linux on zSeries".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world