A uniquely flexible account design allows resource credits to be allocated to specific projects, users and machines.
Resource credits may be restricted for use within a designated time period allowing sites to implement a use-it-or-lose-it policy to prevent year-end resource exhaustion and establishing a project cycle.
A hierarchical relationship may be created between accounts. This allows for the delegation of management responsibilities, the establishment of automatic rules for the distribution of downstream resource credits, and the option of making higher level credits available to lower level accounts.
Rather than post-processing resource usage records on a periodic basis to rectify project balances, accounts can be updated immediately at job completion.
Before a job runs, a hold is placed against the account for the estimated number of resource credits, followed by an appropriate withdrawal at the moment the job completes, thereby preventing projects from using more resources than were allocated to them.
The system can track and charge for composite resource usage (memory, disk, CPU, etc). Custom charge multipliers can also be applied (Quality of Service, Node Type, Time of Day, etc).
Gold implements a journaling mechanism that preserves the indefinite historical state of all objects and records. This powerful mechanism allows historical bank statements to be generated, provides an undo/redo capability and allows commands to be run as if it were any arbitrary time in the past.
Familiar Banking Operations
Gold supports familiar operations such as deposits, withdrawals, balance feedback, transfers and refunds.
Gold features a powerful web-based GUI for easy remote access for users, managers and administrators. Note that the GUI is not yet available in the Alpha release.
Gold allows the establishment of default projects, machines and users. Additionally Gold can allow user, machines and projects to be automatically created the first time they are seen by the resource management system. These features allow job submitters to use the system without even knowing it.
Credit and Debit Accounts
Accounts feature an optional credit limit allowing support for both debit and credit models. This feature can also be used to enable overdraft protection for specific accounts.
By analyzing current and historical usage patterns and by imposing project cycles through the periodic expiration of allocations, project proposal committees can make more informed decisions on how many additional projects can be supported or what additional computing resources might be needed.
A traceback mechanism will allow all parties of a transaction (resource requestor and provider) to have a first-hand record of the resource utilization and to have a say as to whether or not the job should be permitted to run, based on their independent policies and priorities. A job will only run if all parties are agreeable to the idea that the target resources can be used in the manner and amount requested. Support for traceback debits will facilitate the establishment of trust and exchange relationships between administrative domains.
Users and resource brokers can determine ahead of time the cost of using resources.
Sites can create or modify record types on the fly enabling them to meet their custom accounting needs. Dynamic object creation allows sites to customize the types of accounting data they collect without modifying the code. This capability turns this system into a generalized information service. This capability is extremely powerful and can be used to manage all varieties of custom configuration data, to provide meta-scheduling resource mapping, or to function as a persistence interface for other components.
Gold supports a powerful querying and update mechanism that facilitates flexible reporting and streamlines administrative tasks.
Gold supports multiple security mechanisms for strong authentication and encryption.
Role Based Authorization
Gold provides fine-grained (instance-level) Role Based Access Control for its operations.
Being open source allows for site self-sufficiency, customizability and promotes community development and interoperability.