Previous Topic: VM Output Data Elements Table (CMS)

Next Topic: Charging for VM Resources (VSE)


Charging For VM Resources (CMS)

This section applies to you if you elect to produce history records formatted for CMS. If you choose to create records formatted for CA JARS RA for z/VSE, see Charging for VM Resources (VSE) later in this chapter.

The VMRATE statement supplies rates used by CA JARS to calculate dollar charges for use of resources. The rate parameters can be omitted when no data elements involving charges are selected for a given report. The set code on the VMRATE statement, as on all rate and budget control statements, is optional. A blank in position 1 indicates that the statement is used in all reports.

CPU Identification

The CPU Identification code associates each VMRATE statement with the appropriate VM data. When you run the VM Interface translate component, a CPU Identification Code is placed into its output records according to the User Accounting Table you supply. You can also set the CPU ID field with the grouping feature, using GROUP and GROUPC statements. When this product reads those records as input, the CPU Identification on the VMRATE statement must match the corresponding CPU Identification in the records for the rates to be applied.

If your User Accounting Table defined different CPU ID Codes for different classes of users, you will need multiple VMRATE statements to calculate charges for each separate class. If this product reads a record whose CPU ID does not match the CPU ID of any VMRATE statement for a given report, it applies the rates from the first VMRATE statement for the report.

Connect Charge

The Connect Charge is calculated as:

Connect Charge = Connect Time x Connect Time Rate

You supply the Connect Time Rate on a VMPARM statement. It is the dollar amount ($99V99) per hour of connect time. The Connect Time value is in the data, as hours to 5 decimal places.

Processor Charge

This is a charge for CPU time consumed. The basic formula is:

Processor Charge = Processor Time x Basic Processor Rate

Each of these factors (Processor Time and Basic Processor Rate) is explained below.

The first factor, Processor Time, is calculated from CPU times in a record and rates in a VMRATE statement.

Processor Time Algorithm:

Processor Time = Total CPU Time x Total CPU Time Factor
                              +
                 Virtual CPU Time x Virtual CPU Time Factor

The two CPU Time factors are percentages (that is, 100 = 100%). A common approach for these factors is to set one to 100 and omit the other (they default to 0). For instance, if you want to charge on Total CPU Time only, set the Total CPU Time Factor to 100 and omit the Virtual CPU Time Factor. To charge entirely on Virtual CPU time, set the Virtual CPU Time Factor to 100 and omit the other factor.

To charge using both factors (at 050 each, for instance) you calculate Processor Time as an average of Total and Virtual CPU Time. If your two factors do not add up to 100% you probably will not get useful results.

Assume a particular account record contains these values:

Total CPU Time             1.3 hours
Virtual CPU Time           1.1 hours

Assume you use a VMRATE statement with these factors:

Virtual CPU Time Factor    (blank)
Total CPU Time Factor      100
Basic Processor Rate       $500.00 per hour of Processor Time

The calculation goes as follows:

Basic Processor Rate =   $500.00 + (50 x $3.20) = $660.00 per hour
Processor Time=          (100% x 1.3) + (0% x 1.1) = 1.3 hours
Processor Charge =       $500.00 x 1.3 = $650.00

I/O Charge

CA JARS provides two methods to calculate an I/O charge. Differences between OS and VM accounting data make one of the two techniques inappropriate for VM data. Only the recommended method is described. The other method (as documented in the CA JARS User Guide) can still be used, but does not produce meaningful results. To assure that you use the recommended method, leave the Basic I/O Rate field (positions 15-17) blank in your VMRATE statements.

For VM data, the I/O Charge includes some true I/O components and some components that are related to device connect time. I/O Charge is calculated as follows:

I/O Charge = (  Reader I/O Count x Spooled Reader I/O Factor
                    +
                 Printer I/O Count x Spooled Printer I/O Factor
                    +
                 Punch I/O Count x Spooled Punch I/O Factor
                    +
                 Non-spooled I/O Count x Non-spooled I/O Factor  ) / 1000
                    +
              (  Temporary Disk Use x Temporary Disk Factor
                    +
                 Tape Connect Time x Tape Connect Factor        ) / 10000

Note the parentheses in the formula - the first four terms are all divided by 1000, the last two by 10,000. You supply all the factors in your VMRATE statement. The VM Interface places all the data elements into the history records.

You supply all factors as three digit numbers. The first four factors in the formula, the ones that apply to I/O counts, are interpreted as dollars and cents ($9V99). They are the dollar charge per 1000 I/O of the various types.

The last two factors, the Temporary Disk Factor and the Tape Connect Factor, are interpreted as dollars to one decimal place ($99V9). The Temporary Disk Factor is the rate you want to charge for one cylinder-hour of temporary disk use. The Tape Connect Factor is the rate you want to charge for one hour's use of one tape drive. You must select rates that are even multiples of $0.10 - if you enter a rate of 127 in the VMRATE statement, it is interpreted as $12.70 per hour.

Temporary Disk Use is stored in the record in units of 1 ten-thousandth of a cylinder hour. For example, one cylinder of temporary disk, held for one hour, produces the number 10,000 in the Temporary Disk Use field. Two cylinders held for 3 hours would produce 60,000 for Temporary Disk Use.

Tape Connect Time is stored in the record in units of 1 ten-thousandth of an hour. For example, one tape drive held for one hour produces the number 10,000 in the Tape Connect Time field. Two tape-drives held for three hours each would produce 60,000 for Tape Connect Time.

If temporary disk is allocated on an FBA device, the raw VM account records contain a count of FBA blocks rather than a number of cylinders. The VM Interface converts the FBA block count to an equivalent number of cylinders. It divides the block count by a number that represents the number of blocks in one cylinder. The default value for this number is 1000. You may supply a different number in the FBLK parameter of your VMPARM statement when you run the VM Interface.

Unit Record Charge

The Unit Record Charge gives you an alternate method of charging for unit record use (reader, punch and printer). The numbers found in Reader I/O Count and Punch I/O Count are also available as Cards Read and Cards Punched. The Printer I/O Count figure is also available as Total Lines Printed and Standard Lines Printed.

The Unit Record Rates (Reader Rate and Punch Rate) on the VMRATE statement permit you to charge for the use of unit record devices as follows:

U/R Charge = ( Cards Read x Reader Rate
                        +
               Cards Punched x Punch Rate ) / 1000

To include Lines Printed in the U/R Charge, you must supply a FORMRATE statement. If you include a Line/Card Rate in the FORMRATE statement, the U/R Charge is adjusted to:

U/R Charge = U/R Charge
                  +
             (Lines Printed x Line/Card Rate)/1000

Thus all three unit record types may be included in the U/R Charge. Be careful not to bill twice for the same activity. If you supply a Spooled Reader I/O Factor in a VMPARM statement, you include a charge for reader I/O into the total I/O Charge. If you also supply a Reader Rate in the VMPARM statement, you include a charge for the same reader I/O into the total U/R Charge. You should choose one or the other way to bill for each type of unit record activity.

The Tape and Disk Allocation Charge fields permit you to charge for tape mounts and disk mounts.

Setup Charge = # of Tape Mounts x Tape Mount Charge
                          +
               # of Disk Mounts x Disk Mount Charge

Total Charge

The Total Charge is defined as:

Total Charge = Connect Charge
                     +
               Processor Charge
                     +
               I/O Charge
                     +
               U/R Charge
                     +
               Setup Charge

If you supply a Minimum Session Charge on the VMRATE statement, and that charge is greater than the Total Charge computed above, the Minimum Session Charge is used as the Total Charge.

If you are using the Project, Product, or Interval Accounting features of the VM Interface, you should probably not supply a Minimum Session Charge. A session means the period of time covered by one raw type 01 VM account record. If no special data collection features are active, that is the entire user session from LOGON to LOGOFF. If the VM Interface is gathering extra information through project, product or interval accounting, there may be many type 01 records created for a single user in a day's work, some representing only a short time interval. A Minimum Session Charge could severely overcharge a user.