What is a "Mainframe"?

 Home SiteMap Email

Mainframe is an industry term for a large computer...
by Viking Waters

by Lance H. Vaughan
Reprinted here with his permission

Having read John Campbell's "What is a Mainframe", and having been asked this question myself many times I would like to propose a more illuminating definition. First, however, some very brief biographical info. I first became interested in computing machines as a teenager. In those days the 2nd generation was rapidly drawing to a close and System/360 was about to change the computing landscape. My first programming experience was in high school, where my class had access to a very fast IBM 7094-II (and before you ask, no, my high school did not have its own 7094; we were allowed limited use of one of MIT's systems). In college I majored in math, primarily because computer science as a major was still about 4 years in the future. Nevertheless, my first love has always been computing machines, and I have invested a lifetime of study and labor in this industry. I have worked with all platforms except vector processing based supercomputers. My favorite has always been, and remains to this day, the mainframe.

One might suppose that it would be easy to define a mainframe, but such is not the case. Some definitions are so broad that they include all computing platforms. Others seek to concentrate on some particular aspect of mainframe computing (such as the operating systems which run on a mainframe) and declare that a mainframe is that which runs or supports this computing aspect. This latter definition suffers from two problems: 1) it is completely unenlightening; and 2) it is misleading. For example, the FLEX/ES simulator allows one to run OS/390, VM, and VSE/ESA on a fast Intel processor. Yet most people who have worked with both classes of machine would intuitively consider the Intel PC to be the opposite of a mainframe.

Moreover, in the debate between client/server oriented computing, and mainframe based solutions, the inability to clearly define the latter has cost more than one data center its mainframe. The "new paradigm" proclaimed that a clustering of small, limited architecture machines, interconnected by elaborate topologies, was the wave of the future. Lost to a nontechnical senior management was the fact that in implementing this new computational model they were at the same time eliminating the most powerful, comprehensive, and sophisticated class of computing platforms ever brought to the marketplace.

So what is a mainframe? In order to answer this question I sat down one weekend and reviewed the history of mainframe computing, concentrating on those elements that are unique to the mainframe world. The result of this effort was the following definition, which has the dual advantages of being both concise and precise. It also invites elaboration and serves as the starting point for an in depth discussion of the issues it raises:

"A mainframe is a continually evolving general purpose computing platform incorporating in it architectural definition the essential functionality required by its target applications."

Some additional comments about this definition are in order. One of the most fundamental features of the mainframe world is the rapid and apparently endless evolution of the product line. From 16 general and 4 floating point registers of System/360, to the control register additions in the early 370s, to the access registers of the latter 370s, to the full complement of floating point registers of System/390 and the full 64 bit implementation offered by the z800/900 models; from 6 selector channels to 16 block multiplexing channels to 256 high speed optical channels; from 142 instructions to over 500 instructions; from real addressing to virtual addressing to virtual machines; from the simple 8 bit memory of the 360/30 through generations of development to the multiported, multilevel caching, multiprocessor supporting memory of the z900, the entire hardware domain of the mainframe world has been characterized by an unmatched, and indeed accelerating, evolution.

During much of the first 20 years of the modern mainframe era (which began on April 7, 1964) individual models of the mainframe line were targeted by competitive systems heavily optimized to provide a superior price/performance product within a well defined niche market. As the mainframe evolved through product refresh cycles and new product announcements, the niche advantage offered by these special purpose competitors was marginalized, and their ability to compete in a market that demanded an ever greater general purpose capability was simply overwhelmed.

The most critical defining element of the mainframe paradigm is that the solutions it provides are implemented primarily in hardware, including microcode, an approach (contrary to what many users of other platforms might imagine) that is truly unique to the mainframe world. From the early RPQs of the 360 era, to the numerous "assists" of the primary 370 era, to the full blown architectural enhancements of the late 370 and 390 periods the mainframe has been a hardware test bed of unmatched scope and versatility. By way of comparison, you may recall that a few years ago Intel added a half dozen instructions to its line of Pentium processors to facilitate graphics processing. Their announcement took a certain pride in noting that this was the first change to the PC's instruction set in the previous 13 years!

One of the most striking elements of mainframe computing, when viewed over time, is the extent to which the architecture changes to accommodate user requirements. One of the early selling points of System/360 was its stand-alone emulation of 2nd generation systems. By the time System/370 came along, stand-alone emulation was replaced by integrated emulation, a critical user requirement. Hundreds of RPQs have been made available over the years to satisfy one user requirement or another. Some of these solutions were limited time offerings; others became a permanent part of the architecture. One of my favorites from the former group was the High Accuracy Arithmetic Facility (HAAF) available on the IBM 4361. This mainframe, marketed as a supermini, was targeted at university math and physics departments. With installation of the HAAF one could do floating point arithmetic without carrying a characteristic in the floating point number. Moreover, all errors introduced by fraction (mantissa) shifting were eliminated. This facility permitted floating point arithmetic to be analyzed for accuracy under a wide range of computational conditions, a stunning capability for the math and physics users.

In summary, the essential characteristics of a mainframe are: rapid and continuing evolution, general purpose orientation, hardware implemented solutions, and the criticality of user input to all of these processes.

by Lance H. Vaughan
Reprinted here with his permission

What is a Mainframe?

Definition from SDS

Mainframes used to be defined by their size, and they can still fill a room, cost millions, and support thousands of users. But now a mainframe can also run on a laptop and support two users. So today's mainframes are best defined by their operating systems: Unix and Linux, and IBM's z/OS, OS/390, MVS, VM, and VSE. Mainframes combine four important features: 1) Reliable single-thread performance, which is essential for reasonable operations against a database. 2) Maximum I/O connectivity, which means mainframes excel at providing for huge disk farms. 3) Maximum I/O bandwidth, so connections between drives and processors have few choke-points. 4) Reliability--mainframes often allow for "graceful degradation" and service while the system is running.

What is a Mainframe?

By Mike

Over the past couple of years, I have had more email then I can answer regarding "What is a mainframe?" Mostly from students and newbies to our chosen profession as a mainframe systems programmer.

It was once defined that a mainframe, was a room or more of computer equipment. To describe a mainframe as a host system whose OS origins predate the PC and primarily used a text dumb terminal model for user interaction. That is no longer the case in the general sense of the words. Yes, mainframes can still occupy a room full of equipment and cost million of dollars and support thousands of users. Today, a mainframe can also run in a laptop and support only a couple of users.

I would define a mainframe today as a operating system. Namely, IBM's z/OS MVS/ESA (OS/390), VM/ESA & VSE/ESA. All are considered as a mainframe operating system in the old sense of the word. Some people may argue that UNIX / LINUX is a mainframe operating system. In the true sense, they are a mainframe operating systems.

The mainframe operating system can support the UNIX operating system, known as USS (UNIX System Services) from IBM, also true of LINUX. UNIX / LINUX can have OS/390 run on it powered by INTEL chips. So, the concept of a mainframe is a room full of equipment is not true any more.

A mainframe, these days can be no larger then your desktop!

For purposes of this website, we will define a mainframe as one that runs, z/OS (OS/390 or MVS), Linux, VM and VSE, in today's environment, not yesterdays. It's time to move on...

Mainframes combine three important features:

1) Maximum reliable single-thread performance: Some processes, such as the merge phase of a sort/merge (sorting can be subdivided...) MUST be run single thread. Other operations (balancing b-trees, etc) are single thread and tend to lock out other accesses. Therefore, single thread performance is critical to reasonable operations against a DataBase (especially when adding new rows).

2) Maximum I/O Connectivity: Mainframes excel at providing a convenient paradigm for HUGE disk farms; While SAN devices kind of weaken this to some degree, SAN devices mimic the model of the Mainframe in connectivity "tricks" (at least internally).

3) Maximum I/O Bandwidth: Despite the huge quantities of drives that may be attached to a mainframe, the drives are connected in such a way that there are very few choke-points in moving data to/from the actual processor complex.

All system architectures are best at different jobs; Each is a set of compromises. Mainframes are more expensive because the compromises are less, well, compromised. The CPU performance is not always greater (in MIPS) than other processes, but the actual priority here is not raw performance but reliability. Mainframes, due to their great cost (and trouble in amortizing this across outages) often allow for "graceful degradation" and servicing while the system is running. While this is not a universal trait, it's interesting to see this priority setting the line in the sand between performance / price.

There is a useful writing at that has an appendix relating to the architectural differences between Intel processors and the S/390 engines. It's about Linux for the S/390 and refers to the various distributions. I found it quite edifying.

John R. Campbell
IBM Main Discussion Group


Copyright / Trademarks