Mainframes 360
The one stop destination for System Z professionals

Tuesday, November 13, 2012

What are mainframe computers?

What are mainframe computers?

A mainframe computer is a big computer. IBM builds mainframe computers. Today, a mainframe refers to IBM's System Z servers. Many large corporations like banks, insurance companies, travel and retail sector, telecom companies process data on a mainframe. Today, thousands of people around the globe book flights, do wire transfers, make credit-card purchases. These transactions are processed in a snap by a mainframe.

Mainframe RAS features

Reliability is the ability of computer hardware or software to consistently perform according to its specifications. Mathematically, reliability measure is the mean time to failure(MTTF). Availability is the ratio of the uptime of a system to the total time. Serviceability is an expression of the ease with which a system can be maintained or repaired.

The reliability, availability and serviceability features are in the System Z's DNA. System Z is designed to provide an availability of 99.999% (five 9s). The "Z" in System Z's brand-name stands for zero down-time. System Z servers have reported an MTTF of 40 years. Organizations run their mission-critical applications on mainframe to provide 24/7 availability.

System Z processors use an instruction retry mechanism. Every instruction that executes successfully on the System Z processor is chekpointed, the processor state is saved. If an error is detected, a recovery sequence commences. The processor is fenced off. The processor state is refreshed from the last checkpoint and the instruction is retried. Like having spare tyres on a truck, System Z offers chip redundancy. If one processor fails, System Z can dynamically switch to a spare without losing a beat! Thousands of error checkers(parity, residue, illegal state, hardware redundancy compares and so on) are embedded on the chip.

Are Mainframe computers good at everything?

Well, not quite. Mainframes are not good at number-crunching or don't do scientific calculations. A Mainframe is not a Super-computer. You wouldn’t use a Mainframe computer to calculate the value of Pi, up to 1000-decimal Places. Mainframe-Computers are not meant for speed. They aren’t fast, rather they can process humungous data reliably. You can't play games like Counter-Strike or Half-Life on a Mainframe.

Mainframe computers don’t have a beautiful user-interface like the PC at your home. You wouldn’t find a desktop wallpaper or icons on a mainframe computer.

Mainframe Hardware
Fig. A walkthrough the zEnterprise EC 12
A Mainframe computer has processing units(PUs), memory, I/O channels, control-units and peripheral devices. A processing unit(PU) is the brain of the mainframe computer, that executes instructions. A mainframe computer has many processors. The total of all processor units(PUs) are inside a cage(frame) called the Central Processing Complex(CPC).

There are specialized PUs capable of performing specific tasks. The main processors are called the Central processor(CPs). There are PUs for encryption and decryption(CPACF), Linux workloads(IFL), the co-ordination of the system efforts(ICF), those that assist the CP for any workload on the I-O subsystem(SAP), spares that come in handy when a CP fails, others for executing Java code(zAAP) and providing accelerated DB2 performance(zIIP).

Buy a z10 Mainframe server, and you’d get 12 central processors, 12 IFLs, 12 ICFs, 6 zAAPs and 6 zIIPs(Source: IBM).

The CPC cage also contains main storage(RAM). A z10 mainframe can provide upto 384 GB of RAM memory.

A channel is an independent data and control path between I/O devices and the memory. Peripheral devices like disk-drives, tapes, printers, card-readers, card-punch are connected to a mainframe computer using channels.

Because peripheral devices are relatively slower than the CPU, the CPU could waste time waiting for data from a peripheral device. A I-O Control unit is a self-contained processor, and has logic to work with a particular type of peripheral device. Channels connect to control units, which in turn manage the peripheral device.

image
A personal computer offers different ports to connect peripherals. It has USB ports, SCSI bus. The Mac has high-speed firewire port. Likewise, on the mainframe, channels can be OSA, ESCON or FICON. OSA Express channels are used to connect to standard networking technologies such as LAN(Ethernet), Token Ring. ESCON and FICON channels have fiber-optic cables.


Mainframe Peripherals
Just as you use a keyboard, mouse and a CRT display to operate a Personal Computer, in the early days you operated a mainframe computer by a terminal. A terminal had a display and a keyboard. A very popular terminal manufactured by IBM in the 70’s was the 3278 Terminal. Have a look at the photograph below.



Terminals connected to a mainframe computer remotely, over a network. They used the IBM 3270 protocol for communication. IBM no longer manufactures terminals, instead you use a PC running a software that mimics the terminal. Terminal emulators such as the IBM Personal Communications are quite popular.

Storage devices such as Magnetic Disk drives are used as secondary memory. IBM uses the term DASD(Direct Access Storage Device) pronounced as dazz-dee for hard-disks. Disk drives support random access to data. IBM 3380 and 3390 DASD models are widely in use. The picture below shows a 3380 DASD assembly(Source:IBM Archives).

File:IBM3380DiskDriveModule.agr.jpg

Tape drives are also used for storage. A Tape drive allows sequential access of data. Very large files can be stored on tape-drives. Tape drives are often used for a backup of data. IBM continues to innovate the tape drive technology. IBM 3480 tapes were very popular in the last century. The picture below shows two 3480 tapes(in the front) and two 3420 tapes(the tape reels at the back). Tapes now come in a square cartridge form, instead of a tape reel.

The IBM 3480 (two drives in front) and IBM 3420 (two drives in back) Tape Drives

Punched Cards(Hollerith Cards) although obsolete, have been used over a century for recording information. A punched card was a stiff paper, that represented information by the presence or absence of holes. Punched cards were used by Joseph Jacquard in the early 19th century in textile looms. By using a particular punched card, you could select a weaving pattern.

Herman Hollerith proposed the use of punched cards to store information about US nationals during the 1890 census. Jacquard cards were read-only. Hollerith envisioned that punched cards could be used as a read/write technology. A key-punching machine could be used to punch data such as age, sex or marital status of the citizen. In the picture below, you see the operators preparing data for the census.(Source: Computer Science Labs).

 

By the early 20th century, punched cards began to be used everywhere in the United States. Your gas bill would arrive every month with a punched card, that stored the customer name, the address, the bill amount and the due-date. In the 20th century, punched cards were used as legal documents such as US government checks.

Hollerith founded a company, The Tabulating Machine Company(1896), which after a few buyouts, became known as International Business Machines(IBM)(1911). IBM manufactured the standard 80 column punched card. A deck of cards were fed through a hopper into a card-reader. Output data could be punched onto cards using a card-punch.

80 column Punched Card

The photograph above(Source: IBM Archives) shows a standard 80-column IBM card. A legacy of 80-column card is, even today terminals connected to a mainframe server have a display of 24 rows x 80 columns. The columns 73-80 contained sequence numbers and were used for sorting the punched cards.

Mainframe computer industry and the people involved
To oversee the running of a mainframe computer, you need to hire professionals called System Operators(Sysops).  Mainframe sysops have good knowledge of the mainframe architecture and the operating system. The operating system on the z10 mainframe computer is the zOS(pronounced as zee-OS). A Mainframe operator starts(IPL – Initial Program Load) or shuts down the mainframe and various regions(applications). He must monitor workload on the system, and reply to any messages. He can issue commands to vary various peripheral devices online or offline.

Just as MS-DOS or Linux offer a command-line interface, the zOS too has a command-line, at which the system operator issues MVS commands to start or shut-down applications(e.g. START DB2), to monitor the workload(DISPLAY A,L) etc. Console is another term for the command-line interface of zOS. The photograph below shows how the console looks.



     *13.24.28          *IWM048E WLM RUNNING IN GOAL MODE WITH THE DEFAULT      
* POLICY
*13.26.56 STC00002 *02 ISTEXC200 - DYN COMMANDS MAY BE ENTERED
*13.28.36 *IFB081I LOGREC DATA SET IS FULL,13.28.36,
* DSN=SYS1.LOGREC

- 13.30.18 STC00024 +DFHWB1008 CICS CICS Web environment initialization is
- complete.
- 13.30.19 STC00024 +DFHSI1517 CICS Control is being given to CICS.
- 13.30.19 STC00024 +DFHEJ0102 CICS Enterprise Java domain initialization
- has ended.
13.33.26 STC00037 $HASP373 FTPD STARTED
- 13.33.31 STC00034 +EZY2702I Server-FTP: Initialization completed at
- 19:33:31 on 11/13/12.
- 13.33.39 STC00037 IEF404I FTPD - ENDED - TIME=13.33.39
- 13.59.47 STC00025 IEF404I BPXAS - ENDED - TIME=13.59.47
14.14.24 TSU00038 $HASP373 SYSADM STARTED
- 02.24.00 STC00024 +DFHIC0801 CICS CICS time altered from 24.00.000 to
- 02.23.590 - date 11/14/12 - relative day 001
00- 00.00.02 STC00024 +DFHIC0801 CICS CICS time altered from 24.00.000 to
- 00.00.016 - date 11/15/12 - relative day 002

IEE612I CN=01 DEVNUM=0700 SYS=P390


IEE163I MODE= RD



Application programmers design and build application software that runs on Mainframe computers for companies. First, the customers(end-users) specify the business requirements. Business analysts gather these business requirements and with the experience they have acquired, translate it into functional and technical requirements, and give a briefing to the application developers. The application developers then create technical designs, write code in High-level languages such as Cobol, C/C++, PL/1, and test it.

System programmers perform hardware-software upgrades, capacity planning and trains other sysops. He is a watch-dog. He installs the operating system. He applies patches(patches are called PTFs on mainframe). He also maintains other system software or products running on the mainframe.

Connecting to a Mainframe computer
Typically at a customer site, mainframe servers are generally housed in a large area of building space. This is called the data center or the raised floor. People around the world connect to the Mainframe-Computer, remotely over a network, from their work-place or home, using the keyboard and the dumb-terminal, or a PC running a software that pretends to be a dumb-terminal. Gee, you don’t have to sit physically near a Mainframe Box to do your work. This is how the Mainframe Screen looks like, when you first connect to it -


   Menu  Utilities  Compilers  Options  Status  Help                            
------------------------------------------------------------------------------
ISPF Primary Option Menu
Option ===>


0 Settings Terminal and user parameters User ID . : SYSADM
1 View Display source data or listings Time. . . : 15:09
2 Edit Create or change source data Terminal. : 3278
3 Utilities Perform utility functions Screen. . : 1
4 Foreground Interactive language processing Language. : ENGLISH
5 Batch Submit job for language processing Appl ID . : ISR
6 Command Enter TSO or Workstation commands TSO logon : ISPFPROC
7 Dialog Test Perform dialog testing TSO prefix: SYSADM
9 IBM Products IBM program development products System ID : P390
10 SCLM SW Configuration Library Manager MVS acct. : ACCT#
11 Workplace ISPF Object/Action Workplace Release . : ISPF 5.2
M More Additional IBM Products


Enter X to Terminate using log/list defaults


To many people who are thrown to work at a mainframe computer on their first job, they feel lost. Mainframe people seem to speak a completely different language and that doesn't make life easy. What's more, the books and manuals are incredibly hard to comprehend.

"What on earth is a Mainframe?" is an absolute beginner's guide to mainframe computers. We'll introduce you to the hardware and peripherals. We'll talk about the operating system, the software installed on a mainframe. We'll also talk about the different people who work on a mainframe. In a nutshell, we'll de-mystify the mainframe.

Readers based in India, can buy the e-book for Rs. 50 only or the print book. International readers based in the US and other countries can click here to purchase the e-book.