Introduction to Allocations
Budget Manager is a High Performance Computing (HPC) resource budgeting tool for project stakeholders.
PBS Professional is setup to submit jobs after the architecture and systems of a HPC site are in place. Budget Manager is setup to allocate credit to PBS Professional jobs. An Allocation is a consumable resource available for projects. It is linked to projects and fixed time periods. As the resources are consumed, the allocation is depleted. Allocations can be made for compute resources and budget resources or a combination of both.
Budget Manager works like a bank by providing a form of customized currency. It records usage of HPC resources through PBS Professional, as transactions in that currency. HPC owners provide departments or business units with an initial amount to be used over a period of time. Project stakeholders will allocate this amount to projects (joint accounts) and individuals (single accounts) for their activities. For example, a University might give the Physics department 100000 units for a year and a part of that might be distributed to specific research projects or individual researchers for Quarter 1 and Quarter 2 of the year. The project stakeholders and individual users can then run their jobs consuming those budgets. They can balance their budget by tracking consumption in the time periods and determine how they want the system to be used.
An initial amount of currency is granted to a user or project to submit jobs. Based on the resources requested by a job, Budget Manager will calculate the amount of currency required for the job to complete. Budget Manager will then authorize the amount from the user or project and allow the job to run. Once the job is finished, balance from the authorized amount is reconciled to the user’s account based on the resources consumed. Every transaction is recorded. These transactions are tracked over particular time frames, usually for a month, quarter or year. All transaction information is stored in a database allowing extensive statistical and allocation tracking. The reports of these transactions enable stakeholders to budget their resource usage.
The Budget Manager framework holds all the account and transaction information in its database. The customized currency could be actual dollars or it could be a compute resource, e.g. CPU Hours, GPU Hours, or whatever resource based calculation a HPC site would like to set up. PBS queries Budget Manager through hooks. The Hook sets the definition of the currency. The amount of each job's allocation charge is associated with the amount of resources used by the job and the amount of time it was used for. It can be configured to charge varying amounts based on the type of compute resources used, priority of the job, the day of the week or time of the day when the resources were used. The Hook also determines if you have permission as well as the required currency to consume the resource you requested.
Budget Manager provides flexibility and control over how available compute resources are used over the medium and long term periods and is tightly integrated with the job management mechanisms of PBS Professional.