opinion: A Consulting Example: Reducing CPU Consumption
Today I'm feeling a little smug. I've just finished an assembler program change
that will save my customer around 240 MIPS. Not bad for a few days work.
I'm currently working on a project to cut our customer's CPU use. When paying
for software licensing or outsourced processing by the CPU second, MIP or MSU;
savings of around 240 MIPS can be very attractive. And this wasn't the only
saving I found. Over the past few weeks, I've dug up about 700 MIPS of savings
for this one customer.
This particular project is based around Paris, and is a joint effort with our
partner CPT Global - an opportunity to use long-neglected French language skills.
In addition to that 700 MIPS of z/OS and CICS systems savings, CPT Global
have found far more from analysing databases and applications. Their analysis
of our customer's software licensing agreements has also found a few things
that have surprised our customer. Looking at the mainframe software portfolio
for other savings may be the next step.
I've been working on this project for around 6 weeks. The first couple of
days were spent familiarising myself with the customer's environment: software
installed, versions used, hardware setup and how it all works together. During
this time, I also transferred some SMF records to my PC, and processed them
to find the big CPU users. This gave me my hit list.
From this list, I started digging deeper. Over many years working in the
industry, I have built up a standard list of CPU savers. These cover such diverse
systems as IMS, CICS, Websphere Application Server, as well as z/OS itself. I will
also look for other potential areas. Customer will often have software that I
haven't seen before, and I'll spend some time getting to know it, and look to see
if anything can be improved. This particular customer had a data transfer package
that was particularly interesting.
When analysing the environment, I will also look for things out of the ordinary.
For example for this customer, the Catalog address space had an unusually high
CPU consumption, and GRS was also a little suspicious. Seeing something
out of the ordinary, I will investigate further using any tool that the
customer has, as well as the standard z/OS tools and utilities. For my assembler
program I used the standard SMF records kept, as well as Compuware STROBE and
BMC MAINVIEW for z/OS. CPT also brought Macro 4 Expetune to the party.
Once I had found the target assembler program, I worked through the source
for ways to improve it. Some assembler can be complicated, and take
a while to understand. I may also talk to anyone with experience with the code
to see why things were done. In this case, I moved a few modules into one, and
modified processing that not only reduced CPU usage, but also cut Catalog and
The other savings found were from a wide range of sources. CICS SIT options,
DFHSM processing options, housekeeping JCL, and batch scheduling all contributed.
Like many consultants, my customers always get 'value-add' benefits for free.
So I'll hand over anything I find that will help them, but which may not save
any CPU. For this customer, I detected a looping system that greatly increased
CPU consumption over a two week period, and some production batch jobs with no
automatic monitoring of return codes. For other clients I have found security
issues, and ways to improve performance without reducing CPU use.
This customer isn't the first to benefit from this type of project. A previous
customer gained over 250 MIPS from changing Tivoli Storage Manager parameters,
z/OS settings and some C/Assembler code. Similar savings for another were found
from AF/Operator changes. And REXX program changes, JCL re-scheduling and reworking
of one assembler module took care of a third.
Projects to cut CPU usage are just one of a range that Longpela Expertise does.
For these projects we often work with CPT Global, who specialise in this area.
Starting with a short initial phase over a couple of weeks, we quickly identify
and quantify potential savings, and hand some over immediately to pay for that
first phase. The second phase runs for a few weeks, and is really where the
savings are identified. Customers receive detailed documents for all recommended
changes - what they are, how much they save, risks and rewards, and any
supporting documentation. Once implemented, we compare CPU measurements before
and after to confirm the savings.
The really good news for our customers is the bottom line. All work, both from
Longpela Expertise and CPT Global, will end up costing them nothing.
Not one cent. We're certainly not working there for free, but the savings found
will cover the costs many times over. A win-win situation.