zIIP's for DB2 and XML workloads and zAAP's fo Java workloads are really
marketing tools of IBM. By offloading work to these CPU's the potential
exists to reduce usage of standard CPU's such that an organization does
not have to buy additional standard CPU's for this work. The real target
of this is reduced software costs for mainframe software. By
constraining or reducing the MSU rating of the system, software costs
are also constrained or reduced. This strategy is geared to address
those with z/OS that might be reluctant to increase database work or
introduce or expand Java workloads in z/OS. As these engines do not
increase MSU's, they can run full throttle without impacting those
charges. The concept is similar to IFL's which create a standard per CPU
cost model for software on Linux without raising the MSU rating of the
system. There are in fact ways to estimate the impact of these engines
on CPU resource requirements without actually having them.
At a recent zSeries roadshow I heard that software vendors are starting
to take notice of these approaches, not for just the mainframe but more
particularly for virtualized systems on Intel with products such as
VMWare. Because the per CPU charging model basically takes money out of
the pockets of the software vendors where virtualization is used vs.
revenue created for stand-alone physical servers, some are starting or
thinking about moving to a per instance charging model. My suspicions
are that this industry will go where Microsoft goes. If Microsoft starts
to use this per instance model, the rest of the Wintel world will too.
This of course will have the effect of causing companies to look more
seriously at application and middleware open source solutions.
On Hercules, where a CPU is really a host thread, the benefit is to
allow a z/OS system to model the physical mainframe environment for a
single LPAR.
Fish wrote:
>
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>I have a question about how cpu-types are implemented in Hercules.
>
>I'm told that if a certain workload (or program or process or
>whatever terminology you prefer) is run on a real box without any
>zIIPs, the workload is "charged" the full amount (say 50 minutes).
>When run on a real box with a zIIP however, it is "charged" only .2
>minutes of processor time. They tell me this is because the bulk of
>their workload is designed to run on the zIIP processor which is
>"free" (or something like that; I'm not all that familiar with it).
>
>When they run the same program on Hercules with a zIIP defined
>however (e.g. ENGINES 7*CP,IP), they're being "charged" the full 50
>minutes, and they'd like to know why.
>
>Does anyone know what they're referring to and more importantly, can
>anyone explain WHY this happens under Hercules? They would like the
>"chargeable time" their program uses when run on Hercules with a zIIP
>defined to be the same .2 minutes as when the same program is run on
>a real box. How do they do that? What are they doing wrong? Or is
>Hercules doing something wrong? If so, what?
>
>Thanks in advance for any insight anyone can provide.
>
This whole area was the source of the divide by zero problems we were
having with recent releases of z/OS. This is a fairly undocumented area
and exactly how z/OS uses the values retrieved and what they should be
has undergone a fair amount of discussion on the developers list.
Whether we will ever get this to match is not clear to me. What is
ambiguous from your post is whether all of the work got charged to a
standard CPU or all of the work got charged to the zIIP. Either way,
this is different than the 12 seconds identified in your message. A
guess would be that whatever values have been presented by Hercules to
z/OS has caused z/OS to dispatch the work differently than on a real
mainframe. Getting these numbers to match what the real mainframe sees
would require the same numbers. Maybe someone else knows whether these
are static or change. If they are static we have a shot at getting them
to be close.
Harold