Prof. Appleby's Blog

On education and professional development.

Browsing Posts published in February, 2010

Where did we leave off? We were talking about models and how a model like an E10 has 10 PUs potentially available to the customer. We said potentially because how many you actually have available is limited by how many PUs you actually purchased.

So now we’re ready to wrap this section up by talking about the “capacity setting.”

To make sense of this, you need to know one thing: a PU does not necessarily run at full speed.  Or, to put it another way, it’s possible to “turn down” a PU so that it runs at less than its full speed. Why would you want to do that?  Well, actually it’s a way of offering an amazing level of granularity to the customer.  Whatever “capacity” you need to handle your workload (a number obtained by means of your “capacity planning process”), you can find a z10 that is a pretty close match.  That way, you don’t have to buy excessive capacity.  You can buy what you need.

Now, here is where we are – we know that we can buy a z10 with some number of PUs (a number less than or equal to the number of PUs available in the selected model) and we know that we can set the speed of the PUs (on some models) to something less than full speed.  What we need is a way to express those two things: the PU quantity and the PU speed.

The capacity setting is how you express those quantities.  The format differs between the BC machines and the EC machines.  We’ll look at both.

z10 EC capacity settings

This one is easy.  The capacity setting for the EC machine is composed of three numbers. The first number is either a 4, 5, 6, or 7.  A 7 indicates that the PUs are running at full speed.  A 6 indicates that the PUs are turned down “one notch.”  A 5 indicates two notches. And 4 is the lowest speed to which a PU can be turned down.

How much is a “notch”?  I don’t have an official number to quote to you.  But, just for talking purposes, I might equate them to something along these lines:

7 is 100%

6 is 70%

5 is 50%

4 is 25%

Those are my numbers, not official IBM numbers, just to give you a rough sense of how the settings might relate.

So that’s the first number.

The next two numbers represent how many general purpose PUs you are buying.  (I’ll explain the general purpose qualifier in another post).

We can now specify an EC machine like this:

A 2097-E12 701 is a z10 EC machine with one general purpose PU running at full speed.

A 2097-E12 405 is a z10 EC machine with five general purpose PUs running at a subcapacity of 4 (not at full speed).

Get the idea?

One note: This applies up to a 12-way z10 EC.  Once you reach 13-way or higher, the PUs always run at full speed (i.e., 7).  There is no capacity setting of 413, 513, or 613.  From 13-way on up, it always starts with a 7, e.g., 713, 714, on up to 764.

z10 BC capacity settings

Let’s look now at the z10 BC.  Naturally, it has to be a little different.

We still have three characters to specify the capacity and the number of PUs.  The first character, though, is alphabetical, ranging from A to Z.  A is the slowest; Z is the fastest.  A PU running at a setting of Z has, let’s say, perhaps 26 times the capacity of a PU running at a setting of A.

The next two digits represent the number of general purpose PUs.  Note: On the z10 BC machine (which has a model of E10, you may recall), the most general purpose PUs you can have is five.  In other words, the BC can be configured up to a 5-way machine.

Thus, the entry point for a z10 BC has a capacity setting of  A01, which is a 1-way or “uniprocessor.”  A machine with an A capacity can be expanded to be a 2-way, 3-way, 4-way, or 5-way (A02, A03, A04, and A05, respectively).

Notice, then, that both the BC and the EC can be grown (or “scaled”) horizontally (add more PUs), vertically (move to a faster PU speed), or both.

And this completes our look at three key numbers that describe a mainframe:

  1. Machine type
  2. Model number
  3. Capacity setting

In my previous post, I mentioned that we need to understand the distinction between model number and capacity setting.  We’ll take a look at that now, but it may help if I first explain a few things.

1. What is a PU?  It stands for processor unit (because that’s what it is – a processor).  We sometimes call it an “engine.”  It’s basically analogous to a “core,” for those of you from a PC background.  On a mainframe, it’s called a PU.

2. The PUs of which I’m going to speak are engines that are (potentially) configurable by the customer.  In other words, the PUs are processors that are available to the customer for use in running their workload.

Now, here’s the deal.

If I order a z10 model Enn, that z10 has nn PUs physically present.  For example, if I order a 2098 E10, there are 10 PUs available in the machine.  Do I get to use all ten for my workload?  Only if I purchased ten.   If I purchased only four PUs, then I can use those four and I have six inactive PUs left over.

Let’s revisit something from the previous post and look at the real numbers.

We identified the following z10 models:

The z10 BC has one model: the E10.

The z10 EC has five models: the E12, E26, E40, E56, and E64.

So, from this you see that a z10 BC (machine type 2098, model E10) has ten PUs available.

The larger z10 EC (machine type 2097) has the following models:

2097-E12 with twelve PUs.

2097-E26 with twenty-six PUs.

2097-E40 with forty PUs.

2097-E56 with 56 PUs.

2097-E64 with 64 PUs.

How does knowing this help me?

Okay, that’s a fair question.  Let’s consider an example.  Suppose I have a z10 EC 2097-E12 and I’m running it as a ten-way server.  If I need to scale it up to an eleven-way or a twelve-way server, to meet my growing workload, I can do so by turning on one or two additional engines.   The engines are there, physically present – I just need to pay for them and have them activated.   This can be done via a microcode update without having to bring the machine down.  If I need to turn on more than two engines, then I will need to move to the next model, the E26.  That’s not complicated, but it involves a little more time and expense than just activating some dormant PUs with a microcode change.

So now where are we?

Well, we’ve discussed z10 classes, machine types, and model numbers.  We’ve also shown that the model number tells you the number of PUs present in the machine.  Here’s a recap:

z10 BC is the Business Class offering.

It’s sized for entry-level up to mid-sized businesses.

It has machine type 2098 and one model, the E10.

z10 EC is the Enterprise Class offering.

It’s sized for mid-sized to high-end businesses.

It has machine type 2097 and models: E12, E26, E40, E56, and E64

Why do I call this the model mystery?  Because I suspect that most mainframe users cannot tell you the model of their machine.  But they can tell you their capacity setting.  We’ll cover that in the next post.

This post is for technical project managers who would like to learn a little more about the mainframe environment.  If that sounds like you, please read on.

Most of the PMs I work with have strong project management skills and a good overall understanding of the information technology landscape, but they tell me that they could do an even better job of defining action items, assessing risk factors, etc, if they had a better understanding of the concepts, terminology, risk factors, and best practices that apply to the world of mainframes.

Well, that’s what we will try to address in this and successive posts.  And I’m going to approach this informally – I’m not trying to write the definitive technical guide to mainframe technology.  IBM has already done that.  I just want to have a conversation with you.

So where do we start?

The first thing you should do is make an inventory of what you have today.  Understand where you are.  So, what’s current and what’s not?

IBM divides its server platforms into four categories: x, i, p, and z.  Since we’re focusing on mainframes, we’re concerned with System z.  We won’t discuss x, i, or p – let them get their own blog.

The current mainframe offering within System z is called the z10.  It comes in two classes: the business class (BC) and the enterprise class (EC).   The z10 BC is the lower-end offering; the z10 EC is the higher-end offering.  There’s some overlap between them in the middle.  You can start with the BC and scale up to an EC.  The BC is essentially a scaled down version of the EC, making it attractive financially for small to medium-sized businesses.

Of course, you may not have a z10 (yet).  So what preceded the z10?  Yes, the z9.  But don’t infer that there was a z8, etc.  It’s not that simple.

Let’s look at this in some detail

First of all, the mainframes have tended to come out in pairs – first the high-end is announced, then the scaled down low-end is announced.  That’s been the historical pattern.

For the high-end, looking back in time, we find:

  1. z10 EC
  2. z9 EC
  3. z990
  4. z900

These are the high-end mainframes.  So, if you have a z9 today, you are one generation back.  If you have a z990, you are two generations back, and so forth.

On the low-end, we find:

  1. z10 BC
  2. z9 BC
  3. z890
  4. z800

I think it’s fair to say that the farther behind you are in terms of generations, the more risk factors you have if you try to get current.  Why is that?  Well, there a number of reasons why I say that.  For example, some of the older processors supported I/O (input/output) adapters that the newer processors do not.  So, you might be running an old mainframe that has token ring LAN adapters on it – and those adapters cannot even be ordered for the newer processors.  If you are still using token ring, then you either need to get off of it or else find another way to attach your token ring LAN to the new mainframe.  (Might I suggest you just get off of it?).

Another example would be the old parallel channels.  At one time, that was the standard.  Mainframe I/O devices (tapes, disk, printers, communication controllers, etc.) attached to the mainframe’s channels (a channel is just an old term for an I/O adapter) using these humongous copper cables (bus & tag cables).  It’s conceivable that someone running on a very old mainframe might still have some parallel cables in use.  In fact, it’s still common to have some old I/O devices that only attach through a parallel channel, but the channel cables don’t run to the mainframe any longer – they run to a device called a 9034 ESCON converter, which allows them to attach to an optical adapter.

I’m getting ahead of myself here, but you see my point.  Just for fun, ask your tech support people if you still have any old I/O devices that are connected to the mainframe via ESCON converters.  The converters are probably under the raised floor.

By the way – just an observation – if you are running a z800 or a z900, I suspect you are “getting off the mainframe.”  It’s almost inconceivable that someone committed to the mainframe would  not have already migrated to the new machines; the cost savings can be significant.

What do you have today?  Are you on current technology, i.e., the z10?  If so, are you on a BC machine (a 2098) or an EC machine (a 2097)?  If not, how many generations behind are you?  If you are several generations behind, is that linked to a strategy to move away from the mainframe?

To recap, what we’ve said is that mainframes are part of IBM’s System z and the current offering is called the z10.  The z10 comes in a BC and an EC class.

Now, there can be some confusion with the following terminology:

  1. model
  2. type
  3. capacity setting

Let’s start to clear that up.

The z10 EC has a machine type of 2097.  The z10 BC has a machine type of 2098.  That’s pretty easy.

The z10 EC has five models: the E12, E26, E40, E56, and E64.  The z10 BC has one model: the E10.

Both machines have a large array of “capacity settings” and people (myself included) tend to want to call the “capacity setting” the “model.”  But, strictly speaking, that’s incorrect.

We’ll explore this in more detail in a subsequent post.

But the most important lesson from today’s post is that it is important to know where you are today.  It makes it easier to figure out how to get where you want to be next.