What is it all about?In today's tight economy many organizations are adopting application performance management policies to postpone upgrades and cut operation costs by tuning application systems.
The popular CICS performance monitors tell you immediately about any response time problems in your CICS regions. However, these monitors give you too little information about the most expensive and critical resource – the CPU.
ICPU is innovative, real time CICS software product that monitors the activity of the application programs and provides unique insight into the application programs performance characteristics which opens up new opportunities to save CPU cycles and increase throughput.
ICPU uses sampling techniques to collect CICS usage precentages of application programs, and CICS global user exits to collect actual CICS service requests and TCB switching statistics.
ICPU uses a unique data collection technique in which the sampling results are kept in memory buffers, and are therefore available for inquiry at any time.
This unique infrastructure results in a very low overhead tool that does not affect production work, integrates easily with the application development lifecycle and is available to everyone at any time.
This design results in a user-friendly, interactive tool allowing you to watch the results continuously without having to stop the sampling and run a batch job.
ICPU innovative design includes the following features:
- Real Time – The sampling results are immediatly available and can be viewed at any time during the sampling run and afterwards.
- Exception Notification - ICPU will notify you about any program that exceeds a predefined CPU usage threshold as soon as it occurs, so you can take a corrective action immediatly.
- Unlimited - ICPU can be used by any number of users, at any environment, at any time, for any length of time with no impact on the inspected systems.
- User-friendly – ICPU is easy to use and provides meaningful, easy-to-understand results.
- Unattended operation – ICPU can be set up to start automatically when CICS comes up or at any future time.
- Source listing – Matching of sampling data directly to COBOL source code.
- Standard coding – ICPU uses only standard z/OS/CICS interfaces.
- Online help – Available from any screen.
- Filtering – By user/transaction/terminal/program.
- Check Point -Assuring that sampling results are not lost if CICS crashes.
- Batch reports – Can be produced at anytime, even when sampling is still going on.
- Model inspections Ids – Any previous inspection can be used as a model for a new one.
- Inline command – Can be used to start an inspection from any terminal type.
- Dynamic library support – For CICSTS 3.2 and above ICPU supports the dynamic library feature of CICS.
- Generic Inspection Ids – A shorthand method of assigning Inspection Ids and referring to them.
- CPU breakdown – CPU usage and CICS services breakdown to the QR TCB and all the other TCBs, such as L8, L9 and TCB switching statistics.
- Installation verification programs - Distributed in source and load formats and can be used to verify ICPU installation and teach the user about the CPU usage of various CICS commands.
- Install and use - A non-SMPE installation, one load library for all CICS versions, installs in less than an hour.
ICPU is constantly modified to improve its functionality and provide better solutions to its customers. For the highlights of the latest releases please press here.
For a list of frequently asked questions about ICPU please press here.
ICPU can be installed in less than 1 hour and contains a set of demo programs which can be used to verify its functionality and familiarize you with the product.
Why ICPU? Sampling products are used to identify bottlenecks in application programs that can be eliminated by modifying the source code, in order to improve the performance of the CICS applications.
There are several sampling products on the market but they all share a major deficiency - their postmortem methodology.
When there is a problem a system expert will turn on sampling and try to rerun the same script, or the product itself will turn on sampling when it identifies a problem. After a few minutes of sampling it is stopped and a batch job is run, in the hope that the problem will happen again. However, the problem usually does not return and it will not be resolved.
ICPU is a real time product which was designed to overcome this shortcoming. ICPU will identify the exception when it occurs, notify about it and record the program and the offset within it, which are causing the exception, allowing for immediate investigation and resolution.
ICPU's unique functionality stems from its design, which keeps the sampling results in memory buffers, resulting in insignificant, low overhead. All the other sampling products record a machine instruction trace, resulting in high, unacceptable overhead which limits the product applicability and functionality.
These sampling products are comprehensive, full-function performance products; in order to achieve their objectives, a huge amount of performance information must be collected. However, most of this information (such as I/O waits) is available from the other commonly used monitors for CICS, DB2 and Z/OS.
These products are cumbersome to use and difficult to understand and used therefore only by system experts. As a result, a critical component in an application performance management policy is missing.
These limitations are the main reason for the known fact that these products are infrequently used. ICPU, on the other hand, can be used on a daily basis by all personnel involved in the application lifecycle. This ensures that only optimal, highly supervised programs are moved into production.
The end result is that when you purchase one of these sampling products, you pay a high price for its powerful capabilities which you usually do not use and you also pay a high price when you use the product, i.e. the high overhead and the cost of the expert analyzing the results. The strength of these powerful products is actually their weakness.
No one should wait until an application is in production to discover that it does not run well – not only does it cost more to fix it, your application roll-out is delayed, your customers are not satisfied, and your reputation suffers.
It is estimated by some experts that fixing a performance problem at development time costs an eighth of what it costs to fix it at production time.
How do you save CPU cycles? You need to find the program that uses the most CPU in a day's work and tune it. ICPU is the only product that gives you this information, presenting CPU saving opportunities that are unknown otherwise.
ICPU uncovers hidden CPU savings opportunities even for well-performing applications. Consider, for example, a program that runs a million times a day and consumes 10 milliseconds of CPU per run, which will add up to almost 3 hours of CPU per day. Reducing the CPU time of this program by third will save one hour of CPU time per day, or more than 15,000 minutes per year. At a rate of $12 per CPU minute, the yearly savings can be as much as $180,000.
ICPU is the only sampling product that can identify this unknown tuning opportunity, which will improve response time, postpone upgrades and reduce operations and license costs.