Table of Contents
Fetching ...

Using a Market Economy to Provision Compute Resources Across Planet-wide Clusters

Murray Stokely, Jim Winget, Ed Keyes, Carrie Grimes, Benjamin Yolken

TL;DR

This work introduces a market-based framework for provisioning compute resources across heterogeneous, planet-wide clusters. It uses long-term bids and a simulated ascending clock auction to derive uniform prices that reflect supply-demand signals, with congestion-weighted reserves guiding initial pricing and resource reallocation. In a Google pilot, the approach improved utilization, encouraged workload mobility, and revealed substantial price premiums for reconfiguring workloads, illustrating practical economic incentives for dynamic provisioning. The results demonstrate the method's scalability, robustness, and potential to reduce shortages and surpluses typical of traditional allocation schemes, while highlighting avenues for theoretical and implementation refinements.

Abstract

We present a practical, market-based solution to the resource provisioning problem in a set of heterogeneous resource clusters. We focus on provisioning rather than immediate scheduling decisions to allow users to change long-term job specifications based on market feedback. Users enter bids to purchase quotas, or bundles of resources for long-term use. These requests are mapped into a simulated clock auction which determines uniform, fair resource prices that balance supply and demand. The reserve prices for resources sold by the operator in this auction are set based on current utilization, thus guiding the users as they set their bids towards under-utilized resources. By running these auctions at regular time intervals, prices fluctuate like those in a real-world economy and provide motivation for users to engineer systems that can best take advantage of available resources. These ideas were implemented in an experimental resource market at Google. Our preliminary results demonstrate an efficient transition of users from more congested resource pools to less congested resources. The disparate engineering costs for users to reconfigure their jobs to run on less expensive resource pools was evidenced by the large price premiums some users were willing to pay for more expensive resources. The final resource allocations illustrated how this framework can lead to significant, beneficial changes in user behavior, reducing the excessive shortages and surpluses of more traditional allocation methods.

Using a Market Economy to Provision Compute Resources Across Planet-wide Clusters

TL;DR

This work introduces a market-based framework for provisioning compute resources across heterogeneous, planet-wide clusters. It uses long-term bids and a simulated ascending clock auction to derive uniform prices that reflect supply-demand signals, with congestion-weighted reserves guiding initial pricing and resource reallocation. In a Google pilot, the approach improved utilization, encouraged workload mobility, and revealed substantial price premiums for reconfiguring workloads, illustrating practical economic incentives for dynamic provisioning. The results demonstrate the method's scalability, robustness, and potential to reduce shortages and surpluses typical of traditional allocation schemes, while highlighting avenues for theoretical and implementation refinements.

Abstract

We present a practical, market-based solution to the resource provisioning problem in a set of heterogeneous resource clusters. We focus on provisioning rather than immediate scheduling decisions to allow users to change long-term job specifications based on market feedback. Users enter bids to purchase quotas, or bundles of resources for long-term use. These requests are mapped into a simulated clock auction which determines uniform, fair resource prices that balance supply and demand. The reserve prices for resources sold by the operator in this auction are set based on current utilization, thus guiding the users as they set their bids towards under-utilized resources. By running these auctions at regular time intervals, prices fluctuate like those in a real-world economy and provide motivation for users to engineer systems that can best take advantage of available resources. These ideas were implemented in an experimental resource market at Google. Our preliminary results demonstrate an efficient transition of users from more congested resource pools to less congested resources. The disparate engineering costs for users to reconfigure their jobs to run on less expensive resource pools was evidenced by the large price premiums some users were willing to pay for more expensive resources. The final resource allocations illustrated how this framework can lead to significant, beneficial changes in user behavior, reducing the excessive shortages and surpluses of more traditional allocation methods.

Paper Structure

This paper contains 17 sections, 5 equations, 7 figures, 1 table, 1 algorithm.

Figures (7)

  • Figure 1: Schematic of price update loop in ascending clock auction. The auctioneer collects the demands and/or supplies from each bidder proxy as a function of the current price. If demand exceeds supply, then the price clock is increased and the process repeats.
  • Figure 2: Example utilization-weighted pricing curves.
  • Figure 3: Template for "market summary" page on trading platform front end.
  • Figure 4: Template for bid entry page.
  • Figure 5: Bidder interaction with market and clock auction.
  • ...and 2 more figures