Previous Topic: Specifying Identical Prices for Accounting FilesNext Topic: Specifying Different Prices for Print Pages


Specifying Different Prices for Accounting Files

A pricing scheme in which a resource's price varies according to the accounting file is done through the use of categories. Categories are specified with resource keywords in the price file and with accounting files in the command line. The section, Invoking the ADVISE CHARGE_BACK REPORT Command, later in this chapter, describes how to specify categories in the ADVISE CHARGE_BACK REPORT command. In the price file, you specify different resource prices for each category in this format:

category::resource_keyword = value

The following is an example of pricing by category:

8800::BUFFEREDIO_PRICE = 0.20
2000::BUFFEREDIO_PRICE = 0.10
GREEN::BUFFEREDIO_PRICE = 0.30

Consider the use of categories for the COLOR VAXcluster system:

Node Name

VAX Processor Type

PINK

VAX 8800

AQUA

VAX 2000

PURPLE

VAX 8800

Resources on nodes PINK and PURPLE can be charged at a higher rate than the resources on node AQUA. Therefore, each resource in the price file is specified with one price for the category 8800 and one price for the category 2000, as shown in the following example.

This example illustrates a price file showing prices for two categories.

TITLE = 'System Resource Usage Charges for COLOR Cluster'
! Default Prices
BUFFEREDIO_PRICE = 0.00010
CPUSEC_PRICE = 0.01000
DIRECTIO_PRICE = 0.00050
ELAPSEDSEC_PRICE = 0.00005
FAULTIO_PRICE = 0.00050
GET_PRICE = 0.00010
IMAGE_PRICE = 0.01000
MOUNTVOL_PRICE = 1.00000
PAGE_PRICE = 0.02500
PAGEFAULT_PRICE = 0.00001
PROCESS_PRICE = 0.10000
QIO_PRICE = 0.00010
DISKBLOCK_PRICE = 0.05000
PRINTJOB_PRICE = 1.00000
!Prices for Nodes PINK and PURPLE 1
8800::BUFFEREDIO_PRICE = 0.00020
8800::CPUSEC_PRICE = 0.02000
8800::DIRECTIO_PRICE = 0.00060
8800::ELAPSEDSEC_PRICE = 0.00006
8800::FAULTIO_PRICE = 0.00060
8800::GET_PRICE = 0.00020
8800::IMAGE_PRICE = 0.02000
8800::MOUNTVOL_PRICE = 2.00000
8800::PAGE_PRICE = 0.05000
8800::PAGEFAULT_PRICE = 0.00002
8800::PROCESS_PRICE = 0.20000
8800::QIO_PRICE = 0.00020
8800::PRINTJOB_PRICE = 2.00000
!Prices for Node AQUA 2
2000::BUFFEREDIO_PRICE = 0.00009
2000::CPUSEC_PRICE = 0.00900
2000::DIRECTIO_PRICE = 0.00040
2000::ELAPSEDSEC_PRICE = 0.00004
2000::FAULTIO_PRICE = 0.00040
2000::GET_PRICE = 0.00009
2000::IMAGE_PRICE = 0.00900
2000::MOUNTVOL_PRICE = 0.90000
2000::PAGE_PRICE = 0.01500
2000::PAGEFAULT_PRICE = 0.00001
2000::PROCESS_PRICE = 0.09000
2000::QIO_PRICE = 0.00009
2000::PRINTJOB_PRICE = 0.90000

1- When /CATEGORY=8800 is specified with accounting files in the ADVISE CHARGE_BACK REPORT command line, amounts for all resources preceded by the category 8800 in the price file are used to calculate values for those accounting files.

2 - Similarly, when /CATEGORY=2000 is specified with accounting files, amounts for all resources preceded by the category 2000 are used to calculate values for those accounting files.

Default prices for resources without categories are applied to an accounting file for either of the following conditions:

For a better understanding of how resource prices are charged to accounting files, consider the resource prices specified in the next example.

The following example is a price file showing charges to accounting files:

TITLE = 'Resource Charges'
!
! Default Prices
!
BUFFEREDIO_PRICE = 0.00010 1
CPUSEC_PRICE = 0.01000
 .
 .
 .
ELAPSEDSEC_PRICE = 0.00005
FAULTIO_PRICE = 0.00050
GET_PRICE = 0.00010
IMAGE_PRICE = 0.01000
MOUNTVOL_PRICE = 1.00000
PAGE_PRICE = 0.02500
PAGEFAULT_PRICE = 0.00001
PROCESS_PRICE = 0.10000
QIO_PRICE = 0.00010
DISKBLOCK_PRICE = 0.05000
PRINTJOB_PRICE = 1.00000
!
!Prices for NODEA
!
NODEA::BUFFEREDIO_PRICE = 0.00020
NODEA::CPUSEC_PRICE = 0.02000
 .
 .
 .
NODEA::ELAPSEDSEC_PRICE = 0.00006
NODEA::FAULTIO_PRICE = 0.00060
NODEA::GET_PRICE = 0.00020
NODEA::IMAGE_PRICE = 0.02000
NODEA::MOUNTVOL_PRICE = 2.00000
NODEA::PAGE_PRICE = 0.05000
NODEA::PAGEFAULT_PRICE = 0.00002
NODEA::PROCESS_PRICE = 0.20000
NODEA::QIO_PRICE = 0.00020
NODEA::PRINTJOB_PRICE = 2.00000
!
!Prices for NODEB 
!
NODEB::BUFFEREDIO_PRICE = 0.00009 2
NODEB::CPUSEC_PRICE = 0.00900

1 - In the following example, the price file does not contain a price specification for the DIRECTIO_PRICE keyword; therefore, a price of zero is applied to all accounting files for direct I/O.

The categories specified in this example are NODEA and NODEB. When a category on the command line does not match any of the categories in the price file, the default price-file prices are used. For example, if an accounting file in the ADVISE CHARGE_BACK REPORT command has NODEC for a category, the resource prices without categories apply to that accounting file because NODEC does not match a category. That is, BUFFEREDIO_PRICE is 0.00010 and CPUSEC_PRICE is 0.01000.

The following message is displayed:

% PSAC-W-NOPRICE Default prices used for CATEGORY NODEC

Because no price is specified for direct I/O, zero is the default.

2 - If an accounting file in the ADVISE CHARGE_BACK REPORT command has a category of NODEB, the prices specified for NODEB apply to that accounting file and the default prices are applied to all other resources. For example, BUFFEREDIO_PRICE is 0.00009 and CPUSEC_PRICE is 0.00900. With no entry under the NODEB category, ELAPSEDSEC_PRICE is the default price 0.00005. DIRECTIO_PRICE is charged as zero because no entry appears in the price file with this keyword.