Mainframes 360
The one stop destination for System Z professionals

Sunday, February 23, 2014

Sizing up your mainframe – MIPS and MSU’s

Sizing up your mainframe - MIPS and MSU's

Christmas or Deepawali season is the busiest time of the year at any retail store like Walmart or Hypercity. Sales are at a peak. There should be enough mainframe processing power to handle Deepawali sales. How big a mainframe would you need?

Speed or performance of a computer is measured in Millions of Instructions per second (MIPS). In the early days, mainframe capacity was measured by running a standard routine over and over again. For example, an early IBM S/370 computer could run 1 Million instructions a second.

However, MIPS is an no longer used to measure speed. Mainframe computers have simple as well as complex instructions. A program of 5 million complex instructions takes lot more time than a program of 5 million simple instructions. Complex instructions take more CPU cycles. Many computer engineers jocularly dubbed MIPS as “misleading indicator of performance”.

CPU seconds is still often, used by programmers to measure performance and chargeback. The problem is that the work done by a zEC 12 machine in one CPU second is not the same as other mainframe computer models. One z12 CPU second is different from one z10 CPU second. So, IBM introduced a standard measure called Service Units (SU). SU’s and MSU’s are an ingenious way to measure mainframe capacity irrespective of the processor or the workload.
 
IBM has published a table of SU_SEC SRM constants for every processor type. SU_SEC represents the amount of service units of work that can be processed in 1 second. E.g. the SU_SEC rating for IBM z900 is 11,585. So, if a batch workload runs for 200 secs, it would consume 200 x 11,585 = 2,317,000 SU’s or 2.3 MSU’s. The total capacity of this box is 11,585 x 60 x 60 = 41,706,000 SU’s an hour or 41 MSU’s.
 
Much like, an energy company would charge its customers by the number of energy units consumed(kW-hours), customers have to pay IBM for the MSU’s. That’s called charge-back. Customers can choose between capacity-based and consumption-based pricing. Shops that run close to 100% utilization might go with capacity-based, while those who run only at 40% would go with consumption based to save money.

Measure, Measure, Measure

Capacity planning is an art. Based on past system performance, an acceptable demand for the future needs to be determined. This prediction should be combined with a realistic timeline and what you can afford. You iterate your capacity plan over time.

Performance and capacity are two different animals. Performance tuning tweaks your existing system for optimal performance. Performance tuning measures larger data second by second. Capacity planning focuses on the future. It measures small data hour-by-hour.

But, how do you measure z/OS performance? How do you measure DB2, CICS performance? Measurement software tools are called Monitors. There are monitors for z/OS - IBM's Tivoli Omegamon XE for z/OS, BMC MAINVIEW for z/OS, CA-SYSVIEW, ASG TMON. IBM's RMF(Resource Management Facility) is also an excellent tool for monitoring z/OS performance. Monitors like RMF work by collecting samples at periodic intervals. RMF can measure processor activity, channel activity, resource activity and records this data. This data is categorized by a type.

DB2 monitors include IBM Tivoli Omegamon XE for DB2, BMC MAINVIEW for DB2, ASG-TMON for DB2. CICS monitors can monitor CICS running tasks, storage, DASD, I/O within a CICS region. Some are : IBM's Tivoli Omegamon XE for CICS, BMC MAINVIEW for CICS, ASG-TMON for CICS, IBM CICSPlex Systems Manager.

There are DASD monitors for keeping track of Disk Space usage, free space and performance. Examples include BMCS DASD MANAGER PLUS, IBM's Tivoli Omegamon XE for storage. Compuware STROBE and FreezeFrame are used to X-Ray application programs.

 File  View  Navigate  Help                                                   
-------------------------------------------------------------------------------
F11: SQL CPU/Service Time by Statement (3160/CICSTEST) Row 00001 of 00035
Command ===> _______________________________________________ Scroll ===> PAGE

Nbr of --CPU Time-- --Svc Time--
Seqno Name Stmt# SQL Function SQL Calls Total Mean Total Mean

D00015 MYPROG01 6137 OPEN 1 1.51 1.51693 56.06 56.06894
> SELECT EMP.EMPLOYEE_ID
> DATE(EMP.HIRE_DATE)
> ,EMP.FIRST_NAME
> ,EMP.LAST_NAME,EMP.SALARY
> ,EMP.DEPARTMENT_ID
> ,LOC.CITY
> ,COU.COUNTRY_NAME
> FROM EMPLOYEES EMP, DEPARTMENTS DEPT,
> LOCATIONS LOC, COUNTRIES COU
> WHERE EMP.DEPARTMENT_ID = DEPT.DEPARTMENT_ID
> AND DEPT.LOCATION_ID = LOC.LOCATION_ID
> AND LOC.COUNTRY_ID = COU.COUNTRY_ID
> AND LOC.CITY LIKE('JOHANNESBURG%')
> AND LAST_NAME LIKE ('DONALD%')
> (PREPARE of SQL was done at Stmt# 6095 Seqno D00001)
S00005 MYPROG02 3508 SELECT 1 1.40 1.40493 53.96 53.96614
S00006 MYPROG02 3584 SELECT 1 1.39 1.39728 56.12 56.12091
D00001 MYPROG01 6095 PREPARE 1 0.00 0.00340 0.13 0.13309
S00003 MYPROG02 3351 SELECT 1 0.00 0.00238 0.05 0.05638

Fig. Freeze-Frame displaying the cost of each SQL Statement in a program

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.