Budget Manager Configuration
Overview of the steps required to configure Budget Manager.
Installation of Budget Manager is done through a separate installation process from Control. For more information about installing Budget Manager, see the Budget Manager Installation and Reference Guide.
Once installation is complete, Budget Manager must be configured before it can be used to track usage of HPC resources in a site specific currency. The below image describes the steps necessary to configure Budget Manager. All steps can be completed via Control, except for defining the formula used to calculate the site specific currency.
- Add a Period
- Periods are used to track HPC resource usage over time. Time periods can be divided into sub-periods so that you can track usage per quarter, monthly, weekly, etc.
- Add a Cluster
- Add the PBS Professional clusters where HPC resource usage will be tracked. The name of the cluster must match the hostname of the PBS Server.
- Add a Teller
- Add a user and assign the Teller role to that user. The Teller is an administrative role for performing all acquire and reconcile transactions on behalf of users. The Teller manages all transactions internally through the Budget Manager hook.
- Define Currency
- Create a PBS Professional hook that defines the formula used to calculate the currency. The currency could be actual dollars, a compute resource, e.g. CPU hours, GPU hours, or whatever resource based calculation a HPC site would like to define. In the above example, currency is defined as cpu_hours = ncpus * walltime.
- Add a Service Unit
- Map a Service Unit to the currency defined in the Budget Manager hook. The name of the Service Unit must match the named of the currency used in the Budget Manager hook.
- Add a User Account
- Add an account so that a PBS user can run jobs and consume currency. The user associated with the account is an individual user who is an accounting entity and is authorized to run jobs.
- Deposit Currency into the User Account
- Deposit currency into the User Account for a specific time period.
- Add a Project Account
- Add an account so that users assigned to a project can run jobs and consume currency.
- Deposit Currency into the Project Account
- Deposit currency into the Project Account for a specific time period.