allocation chargeback and usage accounting with gold scott jackson moab con 2011
Post on 01-Jan-2016
217 Views
Preview:
TRANSCRIPT
Allocation Chargeback and Usage Accounting with Gold
Scott JacksonMoab Con 2011
Allocation ManagerGold is an allocation and billing system that tracks and charges for usage on cloud and technical computing systems.
Jan-99 Feb-99 Mar-99 Apr-99 May-99 Jun-99 Jul-99
Alloc6
Alloc5
Alloc4
Alloc3
Alloc2
Alloc1
.
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
Chargeback system for resource and service usage
Ensures funds are used according to allocation plan
Tracks resource utilization Allows for insightful capacity
planning Used in production at dozens of
sites
Gold in a nutshell: A usage accounting system
Gold tracks and records resource usage information, archives past state in journals and maintains a complete transaction history. It can track and maintain arbitrary custom accounting statistics.
A resource billing systemGold provides a chargeback system for usage on cloud and technical computing environments. It behaves like a bank in which deposits are made into accounts with constraints designating which entities may access the account. As resources or services are utilized, accounts are charged and usage recorded. Quotes provide charge estimates. Reservations prevent allocation oversubscription. Balance feedback is available to managers and end users.
An allocation managerCredits can be pre-allocated to specific users, projects and machines. Timeframes can be given for the expenditure of the credits enabling allocation cycles, capacity planning and a use-it-or-lose it policy.
An information serviceDynamic object creation allows sites to customize the types of accounting data they collect without modifying the code.
Setting up Gold
Associate costs for resource or service usageDefine entity relationships (i.e. project users)Create accounts with constraintsMake deposits into accounts
AccountsProjects
UsersMachines
Allocations
Universeof
Projects
Universeof
Projects
Account: 1234Name: Chemistry
Account: 1234Name: Chemistry
Universeof
Users
Universeof
Users
Universeof
Machines
Universeof
Machines
Account: 1234Name: Chemistry
TimePeriod Allocation CreditLimit
F1Q10 250,000 0
F2Q10 250,000 0
F3Q10 250,000 0
F4Q10 250,000 0
FY10 0 20,000
Allocations An allocation is an allotment of computational resource credits
for use by specific projects or users during a specified time period.
When jobs complete, projects are charged and resource usage recorded. Jobs are prevented from starting unless they have an active allocation with a sufficient balance.
Limitations: Does not manage short-term usage, does not impact scheduling priority.
Project Users Machine Time Period Balance
Biology Amy, Bob Colony FY2005 100,000
chemistry Bob, Dave Colony FY2005 150,000
Reservations and Dynamic Charging
Accounting Manager
(Gold)
0
2
1
4
3
5
6
Deposit
0 Deposits are made in Account
1 A Job is Submitted
2 A Quote is Requested
Quote
3 A Reservation is Made
Scheduler(Moab)
4 The Job is allowed to Start
Reservation
5 The Job Completes
Resource Manager(Torque, LL, LSF)
6 The Reservation is Removed
Reservation
and a Charge is Issued
Charge
Capacity & Workload Planning:The Brick Approach Controlling project usage is key to capacity and workload
planning. The use of regularly expiring allocations allows you to
establish a project cycle and use the brick approach to allocation management.
Now- 1 Qtr + 3 Qtr+ 2 Qtr+ 1 Qtr- 3 Qtr - 2 Qtr + 4 Qtr
100 % Capacity
Year-end Resource Exhaustion It is common to see projects get off to a slow start and then
have a surge of activity at the end when results are due. Without careful management of expectations, this can be a
cause of considerable anxiety.
100% Machine Capacity
Project A’s Allotment
Project A’s Demand
Project Period
Expiring Allocations
Jan-99 Feb-99 Mar-99 Apr-99 May-99 Jun-99 Jul-99
Alloc6
Alloc5
Alloc4
Alloc3
Alloc2
Alloc1
.
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
Jan-99 Feb-99 Mar-99 Apr-99 May-99 Jun-99 Jul-99
Alloc1
.
60,000 NH
Jan-99 Feb-99 Mar-99 Apr-99 May-99 Jun-99 Jul-99
Alloc7
Alloc6
Alloc5
Alloc4
Alloc3
Alloc2
Alloc1
.
5,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
5,000 NH
Jan-99 Feb-99 Mar-99 Apr-99 May-99 Jun-99 Jul-99
Alloc6
Alloc5
Alloc4
Alloc3
Alloc2
Alloc1
.
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
10,000 NH
ChargeRates Consumable Resource Charge Rates — Consumable Resource Charge Rates define how much it costs
per unit of time to use a consumable resource like processors, memory, etc. Usage Charge Rates — Usage Charge Rates define how much to charge for metrics of total resource
usage such as CpuTime, Licenses used, Power consumed (in Watts), etc. Name-Based Multiplier Rates — Name-Based Multiplier Rates are quality based charge rates which
apply a multiplicative charge factor based on a quality of the job such as QOS, queue, user, etc. Value-Based Multiplier Rates — Value-Based Multiplier Rates are scaled multipliers which apply a
multiplicative charge factor (such as Discount) based on a numeric scaling factor. Value-Based Fees — Value-Based Fees define how much to charge for scaled or enumerated fees such
as setup fees, shipping charges, etc. which should be added after the multipliers are applied.
Type Name Instance Rate Description
VBR Processors 1 Processor Charge
VBR Memory .001 Memory in MB
VBU Power .05 Watts
VBU CpuTime 1 Actual CPU
NBM QualityOfService Premium 2 Hi Prio, Preemptor
NBM QualityOfService Normal 1 Regular Prio
NBM QualityOfService Bottomfeeder .5 Lo Prio, Preemptee
VBM Discount 1 Special Discounts
VBF Setup 100 Setup Fee
Other Gold Features
Flexible Charging
Credit and Debit ModelsGuaranteed Quotes
Powerful Querying
Other Gold Features
Strong Security
Historical JournalingTransparency Features
Dynamically Customizable
Web-based GUI
Nested Accounts
UniversityUniversity
BiologyBiology
ActinidesActinides
Chem 201Chem 201
PhysicsPhysics
Chem 101Chem 101
ChemistryChemistry
WorkshopWorkshop
252525
4040
5040
More charge rate examplesType Name Instance Rate Description
---------- ---------- --------- ---- ------------------------------
VBR Processors 1 Charge 1 per processor per second
NBR License Abacus 10 Charge 10 per second for abacus license
VBU Power 5 Charge 5 per watt used
NBU Feature Telescope 5 Charge flat fee of 5 if telescope requested
NBM QOS Premium 2 Multiply resource charges by 2 for premium
VBM Discount 1 Apply specified discount
VBF Shipping 100 Charge for specified units of shipping fees
NBF Zone Asia 400 Apply a flat fee of 400 for the asia zone
Disk User scottmo 10 Charge scottmo a disk rate of 10 per second
The multi-dimensional Resource is a resource value that changes on a per-attribute basis, and is assumed if the Type is anything other than the known types. For example, the above line illustrates a disk resource fee of 10 for User=scottmo, whereas a different value might be applied for User=fred.
Total Charge = ((((sum of all NBR and (M)VBR*value) times walltime) + (sum of all NBU and VBU*value)) times (product of all NBM and VBM*value)) + (sum of all NBF and VBF*value)
Sneak Peak – Moab Gold 3.0In this major release of Gold Allocation Manager, many HPC-centric
relics were generalized for application in the cloud space.
The Job object was replaced by the more generic UsageRecord object. Accounts are now associated with arbitrary constraints instead of being tied
specifically to Users, Projects and Machines. Better filtering can be applied to the results of bank object queries. These filters
also enable more refined role privilege filtering. Command-line clients have been added to better manage roles and charge rates. Object defaults and auto-generation have been generalized to custom objects. Arbitrary organizational relationships can be established and applied to the
usage dynamics. Quotes, reservations and charges may use independently negotiated prices for
resource and usage rates. A priority can be associated with accounts to influence account precedence
when charging.
top related