Linux on zSeries
From Wikipedia, the free encyclopedia
History of IBM mainframe operating systems |
|
|
This article's tone or style may not be appropriate for Wikipedia. Specific concerns may be found on the talk page. See Wikipedia's guide to writing better articles for suggestions. (April 2008) |
Linux on System z is the collective term for the Linux operating system compiled to run on IBM mainframes, especially System z machines. Other terms with the same meaning include Linux on System z10, Linux on System z9, Linux on zSeries, Linux/390, zLinux, z/Linux, etc.
Contents |
[edit] History
Linux on System z originated as two separate efforts to port Linux to IBM's largest servers. The first effort, the "Bigfoot" project, developed by Linas Vepstas in late 1998 through early 1999, was an independent distribution and has since been abandoned. IBM published a collection of patches and additions to the Linux 2.2.13 kernel on December 18, 1999, to start today's mainline Linux on zSeries. Formal product announcements quickly followed in 2000, including the Integrated Facility for Linux (IFL) engines. Think Blue Linux was an early mainframe distribution consisting mainly of Red Hat packages added to the IBM kernel. Commercial Linux distributors introduced mainframe editions very quickly after the initial kernel work, and these mainframe versions have now been available for several years.
At the start of IBM's involvement, Linux patches for zSeries included some object code only (OCO) modules, without source code. However, currently Linux on zSeries is completely open source under the GNU General Public License. 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 driver implementation details.
[edit] Market outlook
Linux is growing rapidly as of mid-2005[update], and Linux on zSeries is no exception. IBM is aggressively promoting Linux on zSeries, and the company is now well-regarded within the Linux community as a defender of open source values, particularly because of its legal battles against the SCO Group. In their 2005 "hype" report, IT industry analyst firm Gartner cited Linux on zSeries as arguably the leading driver of Linux's adoption among businesses and governments.[citation needed] The expansion of Linux to the mainframe has given Linux increased market credibility.
IBM announced in May 2006, that over 1,700 customers run Linux on their mainframes — which is a considerable number in the mainframe market.
IBM currently supports two Linux distributions, Red Hat and Novell SUSE Linux. Other notable Linux on zSeries distributions are Debian, Gentoo, Slackware, and CentOS. The Linux kernel architecture designation is "s390" for 31-bit kernels and "s390x" for 64-bit kernels.
[edit] Virtualization
Linux is not emulated on a mainframe. It runs as a complete native operating system, like other mainframe operating systems, at full speed using mainframe processor instructions. Thus, in its simplest configuration, a single instance of Linux can technically occupy a whole mainframe. But this configuration is uncommon and not often economically sensible, because IBM System z servers can run mixed workloads, including numerous other operating systems, through the use of virtualization. Both hardware and software co-evolved over decades to support these workloads.
System z mainframes are capable of multiple levels of virtualization. In the first level of virtualization, a single machine can be divided into as many as 60 logical partitions (LPARs), and each LPAR is a separate virtual machine running a separate operating system (OS). LPARs are implemented in hardware using a feature called PR/SM which can (optionally, typically) dynamically adjust LPAR boundaries according to real-time demands. This hardware feature is always active in modern mainframes, even in the simplest configuration with a single LPAR spanning the entire machine.
However, most Linux on System z customers take advantage of an additional virtualization level, z/VM. This is a mainframe OS with a long history, and one of its main functions is a hypervisor, a provider and manager of virtual machines. Operating systems, such as Linux, that run within a z/VM virtual machine are called guests or images. z/VM virtualizes not only processors and memory but also mainframe (ESCON or FICON) disk storage, networking, cryptographic accelerators, and other mainframe resources.
z/VM operates inside an LPAR, like any other mainframe OS. This provides two levels of Linux virtualization: based on hardware, and based on a hardware-assisted hypervisor. Moreover, z/VM can also be a guest of z/VM, creating nested levels of virtualization at any number of levels deep. Nested virtualization has little extra overhead and is practical on mainframes.
[edit] Hardware
IFLs (Integrated Facility for Linux) are mainframe processors dedicated to running Linux, either natively or under z/VM. Microcode restricts IFLs from running "traditional" workloads, such as z/OS; they are otherwise identical to other zSeries processors. z/OS software vendors do not typically charge for IFL capacity, and IFLs are less expensive than general purpose engines (Central Processors, or 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 z/Architecture mainframes become more prevalent than earlier ESA/390 generation. The 64-bit distributions can still run 31-bit applications. The Linux 2.6.x kernel added substantial support for mainframe hardware, such as ESCON, FICON, SCSI-attached storage devices, and zSeries cryptographic accelerators. Also several vendor distributions backported 2.6.x patches to the Linux 2.4.x kernel.
[edit] Advantages
The neutrality of this article is disputed. Please see the discussion on the talk page. Please do not remove this message until the dispute is resolved. (December 2007) |
As one of the most scalable platforms for Linux computing, System z has several major advantages. First, companies and governments can simplify their computing infrastructure. Numerous small Linux and PC servers can be combined onto one mainframe, gaining all the benefits of centralization, but still keeping a multitude of specialized servers thanks to virtualization support, thereby reducing[citation needed] operating costs. File servers, web servers, print servers, name/directory servers, and other "utility" servers are well-suited for that.
Second, Linux on zSeries can take advantage of mainframe qualities of service, especially their reliability and security features, to support continuous business operations. For example, transparent use of redundant processor execution steps and integrity checking. Many industries, including financial services, need this unique capability for their Linux applications.[citation needed] Also, mainframes support "hot" processor replacement. Linux and its applications continue to run, undisturbed, while adding or replacing processors[clarification needed], allowing business-friendly scaling according to demand. Third, IBM's mainframe customers benefit, like other Linux users, from the vast and growing portfolio of useful software applications, including open source innovations.
When Linux applications access mainframe-based data and applications in CICS, IBM DB2, IMS, and other mainframe subsystems, running on the same physical mainframe, they can utilize HiperSockets – fast, memory-only TCP/IP connections. As compared to TCP/IP over standard network interface cards (NICs, in the mainframe world called Open System Adapters, OSAs), HiperSockets can improve end-user responsiveness (reduce network latency and processing overhead), security (since there's no network connection to intercept), and reliability (since there's no network connection to lose).
z/OS still has numerous reliability and availability advantages[citation needed] over Linux, so most Linux on zSeries customers run both operating systems and will likely do so for the foreseeable future. However, some new, 21st century mainframe buyers run Linux on their systems, some exclusively. It is possible to configure any new mainframe with IFLs only.
[edit] Pricing and Costs
A Linux-capable 64-bit mainframe starts at about $40,000 (z800 model 0E1, U.S. early 2008 used system price on Ebay) plus the cost of external disk array plus console and network interconnects. Each additional IFL ranges from $95,000 (System z9 BC only) to $125,000, according to IBM's publicly announced list prices as of early 2008. When upgrading a mainframe to a new generation, IBM typically charges a base upgrade fee for the machine hardware but will not charge extra to enable the same number of IFLs that were activated on the prior machine, even though newer models have faster IFLs. This IBM pricing practice is probably unique among servers but has a long history in the mainframe market.
Nonetheless, Linux on System z 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 System z can quickly become cost-advantageous when factoring in labor and software costs.
The cost equation for Linux on System z 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 centralization, as Linux on System z provides, might reward cooperation with better service and lower costs, but that's not to say that cooperation is always easily accomplished within a corporate bureaucracy.
Linux on System z also supports less expensive disk storage devices than z/OS because Linux does not require FICON or ESCON attachment, although z/OS may use disk space more efficiently due to hardware-assisted database compression on z/OS. This compression effect is somewhat variable and may be somewhat reduced due to the minimum space allocation requirements for z/OS data sets (a full disk track).
[edit] Appropriate workloads
Mainframe characteristics are designed for such business workloads as transaction processing or large database management. Mainframe design emphasizes input/output performance, implemented via channel I/O. Historically, the principle is to offload I/O activities from the CPU as much as possible, and the z/Architecture additionally offloads cryptographic calculations. Mainframes can scale to numerous processors in a single frame, i.e. up to 64 processors in the case of the System z10 EC Model E64.
On the other hand, mainframes in general, and Linux on zSeries in particular, do not perform well, at least on a cost basis, for single task computations. Examples include most scientific simulations, weather forecasting, and molecular modeling. Supercomputers, including Linux-based supercomputers, excel at these workloads. This distinction has blurred since the introduction of the System z10, a machine based on quad-core 4.4 GHz processors with hardware decimal floating point. In this regard, the System z10 more resembles a supercomputer processor than previous mainframes.
Mainframes do not provide graphics or sound adapters, and are as such ill-suited for digital media editing or computer-aided design (CAD) except perhaps in support roles (e.g. content storage, parts inventories, etc.).
[edit] Support
Like all other versions of Linux, Linux on zSeries is governed by the GPL free software license. Complete Linux on zSeries source code is available from numerous groups on a free and equal basis, and architectural support is now part of the main Linux kernel effort. IBM assigns several of its programmers to the community effort, but IBM is by no means the only participant.
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. Some standard Linux software applications are readily available pre-compiled, including popular closed-source 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 generally 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.
[edit] Developer resources
Linux software developers certified for zSeries can appeal to large enterprises and open up additional market opportunity for their products. There are few barriers to doing so as IBM offers a no-charge 30-day Linux on zSeries "test drive", allowing Linux developers of any size access to a live mainframe Linux guest running under z/VM for compiling and testing software. IBM also offers its Chiphopper program to help developers write and publish cross-platform Linux software. Siebel, for example, used the Chiphopper program to bring its Java-based CRM software to both Linux on zSeries and z/OS. The official IBM Chiphopper website provides more details about the program. Developers of open source software can make use of a community development system provided by IBM.
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 OS instance's performance. Some Linux application programmers do not expect this exceptional focus on code quality that the mainframe culture and mainframe operating environment demand.[citation needed] 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.[citation needed]
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. Linux is able to to read kernel parameters in EBCDIC, this ability is used in z/VM installations. Even 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, although there have been cases that drastically effect data integrity[citation needed].
Although programs can be easily cross compiled to z/Architecture binaries on non-mainframe Linux system, at some point such binary is usually tested either on a real mainframe, or at least on an emulated one.
[edit] Emulators
There are at least two software-based zSeries mainframe emulators. FLEX-ES from Fundamental Software is a commercially offered option. The open source Hercules emulator is also available for Linux on System z, but not allowed for running any licensed mainframe operating systems, such as z/OS.
[edit] See also
- Comparison of Linux distributions
- Linux on Power
- OpenSolaris for System z
- UNIX System Services
- zAAP
- z/TPF
- z/VSE
[edit] References
[edit] External links
- Linux on System z
- Linux on System z developer site
- Linux for S/390 and zSeries community site
- IBM Software for Linux
- IBM Redbooks for Linux on System z technical know-how
- IBM Redbook z/VM and Linux on IBM System z The Virtualization Cookbook for Novell SUSE Linux Enterprise Server 10 SP2
- IBM Redbook z/VM and Linux on IBM System z The Virtualization Cookbook for Red Hat Enterprise Linux 5.2
- IBM Press Release: Shrinking 3900 Distributed Servers to 30 Linux Mainframes
- Independent Software Vendor applications and software
- Linux Technology Center at IBM
|
|