The market and virtual currency

To perform Application Resource Management, Turbonomic models the environment as a market, and uses market analysis to manage resource supply and demand. For example, bottlenecks form when local workload demand exceeds the local capacity — in other words, when demand exceeds supply. By modeling the environment as a market, Turbonomic can use economic solutions to efficiently redistribute the demand or increase the supply.

Turbonomic uses two sets of abstraction to model the environment:

  • Modeling the physical and virtual IT stack as a service supply chain

    The supply chain models your environment as a set of managed entities. These include applications, VMs, hosts, storage, containers, availability zones (cloud), and data centers. Every entity is a buyer, a seller, or both. A host machine buys physical space, power, and cooling from a data center. The host sells resources such as CPU cycles and memory to VMs. In turn, VMs buy host services, and then sell their resources (VMem and VCPU) to containers, which then sell resources to applications.

    See Supply Chain of Entities for a visual layout of the buyer and seller relationships.

  • Using virtual currency to represent delay or QoS degradation, and to manage the supply and demand of services along the modeled supply chain

    The system uses virtual currency to value these buy/sell transactions. Each managed entity has a running budget — the entity adds to its budget by providing resources to consumers, and the entity draws from its budget to pay for the resources it consumes. The price of a resource is driven by its utilization — the more demand for a resource, the higher its price.

Application stack

These abstractions open the whole spectrum of the environment to a single mode of analysis — market analysis. Resources and services can be priced to reflect changes in supply and demand, and pricing can drive resource allocation decisions. For example, a bottleneck (excess demand over supply) results in rising prices for the given resource. Applications competing for the same resource can lower their costs by shifting their workloads to other resource suppliers. As a result, utilization for that resource evens out across the environment and the bottleneck is resolved.