#
Company :Partners :Resellers :FAQ :Contact :VMcast

Utility Computing

Utility computing is a generic term, which means different things to different organizations.  Loosely defined, utility computing is the provisioning of computing power on a metered, payper- usage basis. The customer effectively pays for the hardware, software, storage and services associated with the computational resources actually used or reserved.


Utility computing can incorporate grid computing or on-demand computing. Both models are related yet distinct. Grid computing entails the virtualization of networked hardware to provide the relevant level of computational power required by the customer. Effectively, customers of grid-computing models do not know which part of the system actually provides the answer. The system is made up of separate hardware, working as a seamless and coherent unit for the purpose of computationally intensive problem solving.

Customer Purchase Strategies

In purchasing utility services, customers need to decide the best pricing approach. If they are uncertain as to their requirements, then a pay-as-you-go type approach will work well. If the customer has a clearer understanding of their requirements over time, they can save money by making a longer-term commitment. This leads to a spectrum of strategies, for the purposes of definition  three reference points along this spectrum:


Pay as  you go. Customers purchase services only when they need it, on a metered basis, paying for resources in small increments and only when used. This strategy provides vendors with no information for capacity planning or assurance of longer-term sales, thus it commands a premium price as the vendor has to absorb the risks associated with demand fluctuations.

Variable  utility.
In the variable utility model, customers purchase a specific amount of compute capability to be used within a given amount of time. This purchase often includes an initial stop of setting up a "base presence," which includes establishing a VPN connection, configuring management nodes with software, and so on. In this case customers pay for capacity they reserve in advance; allowing vendors to provide better pricing than no commitment, pay-as-you- go models. However, customers often find it difficult to anticipate usage levels, which tends to push up cost per a cycle if they over estimate requirements or forces the purchase of extra cycles at pay-as-you-go rates if they underestimate.

Dedicated utility. This type of utility model typically involves long-term contracts, with 100% of specified physical resources dedicated to the customer’s workload. The customer spells out the details of the computer system, including software, storage, etc. Communication between the utility and customer sites is usually via a point-to-point dedicated network. This approach may be driven by constraints on available floor space, compute capacity, power, or other major issues. In the dedicated utility model, customers use the compute-intensive equipment as an extension of their IT infrastructures.

Payment Models

Grid-based utility products range from a basic offering of raw computer cycles up to products approaching hosted services or outsourced computer services. 


Cycles  for  money. A strict dollars-per-processor hour-based product with the vendor supplying the computing environment (i.e., servers, storage, systems management, power and cooling, etc.) and the customers supplying the software stack. In addition, customers are responsible for managing and running their workloads. In this case the customer assumes responsibility for all applications licenses and/or provides internally developed codes. Customers who wish to retain full control of their application environment may
prefer this model.

Applications development environment. In addition to raw cycles, the vendor provides the software middleware layers to allow customers to develop and implement applications on the providers’ systems. This model appeals to customers who need complete development environments, not just compute cycles.

Applications  services. A service-based around providing access to a specific applications suite that is optimized for the service providers’ hardware. The goal in this model is to provide a turnkey solution to the end customer.

Multi-applications  workload  support. A service that provides an operational environment to match all or part of the customer’s environment with multiple applications supported. This model could apply to customers who are testing new markets, providing ease of entry and exit with minimal investment.

The reference levels provide points along a spectrum of services where vendors also have the ability to "mix and match" offerings from different parts of the spectrum. It is important to note that just as there are different models for providing utility computing resources, there are also alternative channels for providing them. Major system vendors are now offering utility computing services, but for various workloads these services could also come from independent software vendors, value-added resellers, selling partners, or standalone utility providers.

Distributed Exchange Real-Time Resource Charging

Dynamic Charging: Rather than post-processing resource usage records on a periodic basis to rectify project balances, accounts can be updated immediately at job completion.

Reservations: 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.

Flexible Charging: 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).

Maintains historical usage records

Journaling: Distributed Exchange 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.

Empowers staff and saves time

Familiar Banking Operations: Distributed Exchange supports familiar operations such as deposits, withdrawals, balance feedback, transfers and refunds.

Web Interface: Distributed Exchange features a powerful web-based GUI for easy remote access for users, managers and administrators.  

Transparency: Distributed Exchange allows the establishment of default projects, machines and users. Additionally Distributed Exchange 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.