DBAOTM – Hardware – Specialty engines

A mainframe has a large number of CPUs. The CPUs can be configured in different modes, called specialty engines.

In this post I will discuss what these specialty engines are, and how they are used.

This post appears as part of a number of articles in the category “Don’t Be Afraid Of The Mainframe”.

General purpose CPUs versus specialty engines

The normal setup to use a CPU is as a general purpose CPU, and alternatively CPUs can be configured as so called specialty engines. This is a special sort of setup that only an IBM engineer can do because the CPU configuration is agreed when you acquire mainframe hardware. We will see why this is.

A general-purpose CPU can be used for, well, everything. But to make it easy, in reality a general-purpose CPU is used only for traditional workload types, like your COBOL and PL/I programs.

When a CPU is configured as a specialty engine, the CPU can only be used for a special function. So a specialty engine is not special in the sense that it is designed for a particular function. Rather, it is a regular CPU that is configured so that it can be used only for a particular function.

The purpose of specialty engines is to make it cheaper for organizations to run particular functions on the mainframe.  For traditional workloads the run on the general-purpose CPUs you pay your normal software bill based on MSUs, as we have seen in section Understanding the cost of software on z/OS, MLC and OTC. Functions that run on a specialty engine, however, are not accounted for in the MSU numbers. Therefore, it is up to your software vendor therefore decides whether to enable software to run on a specialty engine. IBM has enabled certain functions for speciality engines, and other vendors have done so similarly for selected mainframe software components.

What is also important to realize, is that even though the general purpose and the specialty engines are using exactly the same hardware, the acquisition cost of a specialty engine is significantly lower than the price for a general-purpose CPU.

Types of specialty engines

The most important types of specialty engines are called zIIP and IFL. I will spare you what the abbreviates mean – they are never used.

zIIP

A zIIP is a specialty engine that is only usable in a z/OS environment. The special functions you can run on a zIIP are: all Java programs, certain Db2 functions, and z/OS Containers (more on that in separate posts). There are a number of other mainframe software vendors that also enable their software for zIIPs, and they have special conditions for these software products.

IFL

An IFL is a specialty engine used to Linux on the mainframe. IFLs have nothing to do with z/OS. The CPUs configured as IFLs can only be used for Linux applications in LPARs running Linux. I will discuss Linux on the mainframe in a separate section Linux for the mainframe.

ICF and SAP

The other types of specialty engines enable the use of the pool of processors in a mainframe for computing needed to support “real” business workloads. These run “technical processing” tasks. The CPU usage is therefore also not accounted for in the software bill. These processor types are the following:

The Integrated Coupling Facility (ICF) processor is used with a Coupling Facility.  A coupling facility is a special LPAR that provides special operating system functions in a sysplex. We will discuss the Coupling Facility concepts briefly in section Special sysplex components: the Coupling Facility.

The System Assistance Processor (SAP) specialty engine is used to run I/O operations independently from your central CPUs, in a mainframe component called the IO Subsystem. This type of processors is used when moving data from memory to storage. This not only makes sure that this processing does not add to your software bill, but the IO Subsystem construct also gives the mainframe its extremely fast, high-volume IO processing capability.

DBAOTM – Big hardware, but partitioned in smaller parts

In the previous post I highlighted the most common peripherals. In this post I will describe how such a big piece of equipment is chopped up in smaller logical parts.

This post appears as part of a number of articles in the category “Don’t Be Afraid Of The Mainframe.

Logical partitions

We have seen above the mainframe machine can contain a huge amount of computing capacity. You will run all of your development, test, acceptance and production environments on this large box, so you need a way to spread all this computing capacity over these environments.  The mainframe technology provides many facilities to achieve this.

One of the main tools to setup the hardware in logical and physical parts is a tool called PR/SM (pronounced as “prism”). With this tool you can chop up the large mainframe box into smaller virtual parts called logical partitions or LPARs. These LPARs are a smaller version of the big hardware box. In an LPAR you can run your test or production system.

A common way to split the mainframe computing capacity is to distinguish separate LPARs for Development activities, for Testing activities, Acceptance activities and of course for production.

In larger computing environments, there may be separate LPARs for different types of applications, or for different business units. A bank may have separate LPARs for their wholesales business and for their retail business. Other organisations may have separate LPARs for their business analytics applications and their logistics applications.

More technical information on PR/SM can be found here

https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_mfhwsyspart.htm

DBAOTM – Hardware – Peripherals and other quirks

In the previous post I introduced the mainframe server hardware. In this post I will highlight the most common peripherals – other hardware like disk storage, tape and printers.

This post appears as part of a number of articles in the category “Don’t Be Afraid Of The Mainframe.

Mainframe peripherals

There are no hard disks in a mainframe server. This is also the case for some larger x86 servers. In our laptops and PCs, we always have a hard disks – or SSD nowadays – to store our data. Storage of the data for the mainframe is external to the mainframe box. Data is stored in separate equipment, called storage controllers or storage (sub)systems.

A special high-speed network connects a mainframe to its storage. A mainframe needs a lot more disk storage than our laptops. Normal amounts of storage easily exceed 1000 TB.

By the way, a quirky thing: disk storage on the mainframe is often referred to as DASD. This is an old abbreviation for Direct Access Storage Device.

To confuse you further, when mainframers refer to “storage”, they may actually mean memory, the RAM in the box. So be careful with the term storage, and make sure what is meant when it is used.

For backup and archiving of data, many organizations still use storage on tape. Tape units, often including a “library” to register and store the tape cartridges used, are also supplied in separate boxes.

A special fibre-optic network connects the mainframe servers with the storage hardware. For this connection mainframes use a proprietary SAN protocol called FICON.

You may still have printers connected to your mainframe. But you find this not so often anymore. Most printing facilities have been replaced by online applications. Where printing is still needed, this is often done by dedicated printing facilities or printing firms.

DBAOTM – The mainframe box, a big box

In this post and subsequent ones, I will discuss the main hardware concepts of mainframe environments. I will not go into the tiniest detail, but I must be a bit technical. To make things easier to understand, I will compare the mainframe technology with mainstream x86 and Unix technology. You will see there is often a difference in terminology.

The mainframe has a long history. Some hardware terminology is different from what we know. To get some understanding of this hardware we need to talk a little bit about mainframe jargon.

This post appears as part of a number of articles in the category “Don’t Be Afraid Of The Mainframe.

A box full of CPU and memory

A mainframe is a large refrigerator-size box with computing capacity. The box houses the computing units, the CPUs. These are not x86 CPU’s like in your PC. But a mainframe uses CPU’s build according to the processor architecture called IBM z/Architecture.

In your PC, the CPU, the memory and other chips are soldered on a motherboard. Like in your PC, you find a sort of motherboard in the big mainframe box. The mainframe motherboard is called a drawer.  The drawer is a bit bigger than your PC motherboard because it carries more components.

On the drawer the CPU and memory chips for the mainframe are soldered, and some more components.  A drawer can have a number of CPU chips. In the z14 model the number of CPU chips in a drawer can be 6.

Each CPU chip on the drawer has a number of processor cores, the actual CPUs. The number of processor cores varies per mainframe model. In the z14 mainframe model there are 10 cores on a chip.

Finally you can have multiple drawers in a mainframe box. In the z14 there can be 4 drawers.

Now let’s count. You can have a maximum of 4 drawers, each with a maximum of 6 CPU chips, each chip with 10 cores. Thus, you can have 240 processor cores in a mainframe box – the z14 model to be precise. The mainframe uses a number of these 240 cores for internal processing. For you as a mainframe user up to 170 processor cores in a single mainframe box. 

You also need memory. Every drawer can have a maximum of 8 TB of memory in the z14. So in total you can have 32TB of memory in your z14 mainframe.

Enfin, a lot of computing power.

What else is in the box

Besides the main computing elements, CPU and memory, the mainframe server contains almost everything else needed. Power supplies, network cards, cooling devices, I/O cards, and more .

To make sure the mainframe can continue running when one of these components fails, you find at least two items of these components in a mainframe.

In the picture of Figure 3 you can see the following components:

  • Processor drawers – as we saw, the motherboard of the mainframe. There can be multiple processor drawers in a machine, depending on the number of CPUs you have ordered.
  • PCIe Input Output drawers in which cards are configured for networking equipment, IO interfaces (disk, tape, server-to-server connections) and additional facilities such as encryption and compression. PCIe is a standard for interfaces in a computer.
  • Cooling components to regulate the temperature. A mainframe box can be water-cooled or air-cooled, by the way.
  • Power supplies to provide power for the components in the machine.

All in all, it looks very much like a normal computer, but a little bigger.

In the picture you also see two laptops. As we will see later, the big box needs to be configured. The two laptops are so-called support elements. With these support elements you can configure the hardware, and also monitor the state of the hardware.

More technical information on mainframe hardware can be found here:

https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_mfhardware.htm