Large, geographically distributed and heterogeneous computing infrastructures, such as the Grid, often span multiple organizations and administrative domains. In such infrastructures, resource usage accounting, i.e. keeping track of the resources consumed by single users or entire organizations, is a non-trivial but very important task. This chapter introduces some general aspects and discusses the fundamental requirements that need to be fulfilled in order to guarantee an accurate resource usage accounting. Typical accounting procedures and current practices are described along with other related issues such as the normalization of resource usage information, the standardization of accounting interfaces, billing and charging, resource pricing, market-oriented resource allocation and economic scheduling.
Accounting is often considered as an important basic service of the Grid’s authentication, authorization and accounting (AAA) infrastructure. The resource usage information collected by a Grid accounting system could be used for diverse purposes. Apart from the analysis of usage statistics and summaries for single users or entire organizations, accounting information may, for example, be exploited by an automated policy management system to ensure Grid-wide quota enforcement (Ciaschini et al., 2006).
In a commercial context, resource usage information is essential to allow for billing and charging for the services rendered to remote users. But even in multi-organizational non-commercial environments, such as collaborative Grid infrastructures used by research and academia, in which single users are usually not charged for their resource consumption, accounting information may be important for funding and cost allocation between the involved parties. Moreover, such usage data can help in predicting future demand for specific services and hence in improving the Grid infrastructure for the benefit of its users.
The need for a proper usage accounting exists also in traditional multi-user systems. But the dynamic nature, the global distribution, the high degree of heterogeneity (e.g. different Local Resource Management Systems on computational resources) and the division into different administrative domains of Grid infrastructures pose additional challenges in terms of decentralization, scalability and flexibility to Grid accounting systems (Thigpen et al., 2002). In turn, they can benefit from the Grid’s authentication and authorization mechanisms to establish the identity and credentials of the Grid users that request the accounted services (Thigpen et al., 2002).
Key Terms in this Chapter
Resource Pricing: The dynamic or manual assignment, by the resource owner, of a price to an offered resource or service. If prices are determined per unit of Computational Energy, price information has to be fed into the Charging mechanism to compute the overall cost of a service request.
Usage Record: Generally, each accounting record, that in some form describes the resources consumed by a service request, can be called a Usage Record (as we do in this article). However, the Usage Record (UR) is also a specific, syntactically well-defined XML document (Mach et al., 2006) for job usage information, that is defined by the UR Working Group of the Open Grid Forum (OGF).
Billing: Billing, in a Grid context, can be defined as the collection and processing of Charging information and the delivery of a payment request to the user or its home organization (adapted from Morariu et al., 2006 and Schnellmann and Redard, 2006). Payments can also regard virtual credits rather than true money.
Metering: The measuring of a service request’s resource consumption on the service host (or intermediate systems; e.g. routers in case of network resources) and the generation of the corresponding Usage Record to be fed into the Accounting system.
Resource Usage Service: The Resource Usage Service (RUS) is Web Services-based interface to Accounting systems, that is being defined by the RUS Working Group of the Open Grid Forum (OGF). The RUS interface (Ainsworth et al., 2006) allows for a standardized upload and retrieval of resource usage information in the form of OGF Usage Record documents.
Computational Energy: The Computational Energy consumed by a service request is “the product of a performance factor or power p (e.g. a benchmark of CPU speed) and the amount of usage u (e.g. the CPU time), which ideally should be independent of the resource’s characteristics.” (Piro et al., 2003).
Computational Economy: An artificial economy, set up under a certain set of constraints in order to make it obey a certain set of economic principles, in which consumers are represented by users and their applications (or the Resource Brokers, or metaschedulers, on their behalf) and suppliers by the various Grid resource providers and their services (adapted from Woslki et al., 2003). Note that the term “computational economy” refers also to the utilization of computers to solve complex financial problems. In this article, however, it is intended exclusively to refer to artificial economies. In the context of Grid Computing, the term “Grid Economy” (Buyya et al., 2005) can be considered equivalent.
Accounting: Accounting, in the context of a computational infrastructure, is usually not defined as in finance, since it does not necessarily (but may) involve payment statements. It, instead, is defined as the gathering (including Metering), processing (e.g., aggregation) and reporting of resource usage information. Note that Accounting itself does not include Billing and Charging. The term “Economic Accounting” may be used in an economic context in which price or cost information is included in the Usage Records.
Charging: The assignment of a cost to a resource or service consumption. This cost may be determined from the prices per unit (see Resource Pricing) and the actual amount of consumed resources, or Computational Energy, that is determined by Accounting and stored in a Usage Record.