Deconstructing Amazon EC2 Spot Instance Pricing Orna Agmon Ben-Yehuda Muli Ben-Yehuda Assaf Schuster Dan Tsafrir Department of Computer Science Technion — Israel Institute of Technology CloudCom 2011 (and Epilogue) Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 1/35
Amazon EC2 cloud terminology Amazon rents virtual machines with prices which vary according to: Instance types Regions Operating systems Commitment level: reserved, on-demand, spot Payment by the hour, except for the last hour fraction of a terminated spot instance. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 2/35
What are spot instances? Clients bid (attach a maximal price to the instance request). The provider publishes a uniform spot price every so often, which the user pays. As long as the bid exceeds the spot price, the instance can stay. An instance is killed if the price goes above the bid. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 3/35
Why sell spot instances? Idle machines Spot Instances kept for elasticity easily evacuated can be sold cheap must be sold cheap Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 4/35
Amazon EC2 Spot instances declaration “The Spot Price changes periodically based on supply and demand . . . ” How does Amazon price its spot instances? Are spot prices really based on natural supply and demand? Or Are they artificially set, raised above the market value? Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 5/35
Who cares? Researchers learn about the market from EC2 price histories; they assume (following Amazon’s statement) that spot prices reflect real bids [Zhang et al. 2011], or represent market clearing prices [Chen et al. 2011]. Clients bid and evaluate bidding strategies using price histories. Other providers seek information about the market and pricing algorithms. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 6/35
Who cares? Researchers learn about the market from EC2 price histories; they assume (following Amazon’s statement) that spot prices reflect real bids [Zhang et al. 2011], or represent market clearing prices [Chen et al. 2011]. If prices are artificial, their results are questionable. Clients bid and evaluate bidding strategies using price histories. Other providers seek information about the market and pricing algorithms. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 6/35
Who cares? Researchers learn about the market from EC2 price histories; they assume (following Amazon’s statement) that spot prices reflect real bids [Zhang et al. 2011], or represent market clearing prices [Chen et al. 2011]. Clients bid and evaluate bidding strategies using price histories. If prices are artificial, an algorithm change may make the past irrelevant to future predictions. Other providers seek information about the market and pricing algorithms. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 6/35
Who cares? Researchers learn about the market from EC2 price histories; they assume (following Amazon’s statement) that spot prices reflect real bids [Zhang et al. 2011], or represent market clearing prices [Chen et al. 2011]. Clients bid and evaluate bidding strategies using price histories. Other providers seek information about the market and pricing algorithms. If Prices are artificial, they do not supply such information. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 6/35
Examples of spot instance market-driven mechanisms Clients bid secretly. The provider sorts the bids (descending order). Uniform price for all granted instances. The provider grants only the first N bids. N is limited: supply revenue maximization minimal price (hidden) reserve price. Pricing according to minimal price or bid N + 1. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 7/35
Price histories Amazon encourages clients to look at price histories and bid accordingly. A common view: fraction of on demand price charged prices as 1 0.9 0.8 0.7 0.6 0.5 0.4 Dec Jan Feb Mar Apr May Jun Jul date (Dec 2009 − Jul 2010) Figure: windows.m1.small.us-east Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 8/35
Alternative view—availability of bid price The time in which the spot price was below the bid price, divided by the total time. 1 Plateau 0.8 Knee availability Straight 0.6 segment 0.4 0.2 0 0.8 1 1.2 1.4 1.6 1.8 2 declared price [$/hour] Typical shape: a straight segment and a high knee. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 9/35
Windows instance availability as a function of price 1 us−east m1 instances 0.8 Knee at us−east m2.xlarge instance availability Ceiling us−east m2 2xlarge and 4xlarge Price (C) 0.6 us−east c1 instances other regions m1 instances 0.4 other regions m2.xlarge instances Floor Price (F) other regions m2 2xlarge and 4xlarge instances 0.2 other regions c1 instances 0 0.5 1 1.5 2 2.5 declared price [$/hour] The typical shape at different prices. Looks similar for Linux. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 10/35
Linux instance availability as a function of normalized price 1 us−east m1 instances 0.8 availability us−east m2.xlarge instance 0.6 us−east m2 2xlarge and 4xlarge . us−east c1 instances other regions m1 instances 0.4 other regions m2.xlarge instances 0.2 other regions m2 2xlarge and 4xlarge instances other regions c1 instances 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 declared price as fraction of on−demand price Two groups of regions (one and the rest). The forest disappears. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 11/35
Windows instance availability as a function of normalized price 1 0.8 us−east m1 instances availability us−east m2.xlarge instance 0.6 us−east m2 2xlarge and 4xlarge . us−east c1 instances 0.4 other regions m1 instances other regions m2.xlarge instances 0.2 us−east m1.small other regions m2 2xlarge and 4xlarge instances other regions c1 instances 0 0.4 0.5 0.6 0.7 0.8 0.9 declared price as fraction of on−demand price A repeating pattern within the two region groups. Windows clients differ from Linux clients. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 12/35
Our hypothesis Natural supply and demand conditions cause all this? Gee, that’s funny. Alternatively... Amazon often changes the auction’s reserve price, independently of client bids. The reserve price’s value and its changing frequency are not market driven. Usually, the spot price is identical to the reserve price. Hence, the spot prices are usually not market-driven. In contradiction to Amazon’s statement. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 13/35
Why dynamic secret reserve price? A dynamic reserve price maintains an impression of constant change. Forces clients to Bid higher or Tolerate sudden unavailability. A secret dynamic reserve price also masks times of low demand and price inactivity, by giving an illusion of false activity. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 14/35
Planning the dynamic reserve price algorithm 1 0.8 Ceiling Price (C) Pricing band availability 0.6 Floor Price (F) 0.4 0.2 0 1.05 1.1 1.15 1.2 1.25 1.3 declared price [$/hour] Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 15/35
Fitting an auto-regressive process AR ( 1 ) for ap-southeast.windows types ∆ i = − a 1 ∆ i − 1 + ǫ ( σ ) ∆ i is the difference of two consequent prices. a 1 = 0 . 7. ǫ ( σ ) —white noise with a standard deviation σ = 0 . 39 ( C − F ) . m1.small matched a 1 = 0 . 5 , σ = 0 . 5 ( C − F ) . Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 16/35
Variance of the fitted AR(1) process 0.08 of AR1 process fitted white noise σ 0.06 y = 0.39*x − 0.00026 0.04 0.02 ap−southeast−1 0 linear ap−southeast−1.windows.m1.small −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 band width [$] The close fit supports our hypothesis. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 17/35
Constructing the reserve price algorithm Initial price is F . Initial change is − 0 . 1 ( C − F ) . Not all initial conditions are good. Compute next price change using the fitted AR(1) process. Advance the next price P i = P i − 1 + ∆ i . Truncate the process to the range [ F , C ] by regenerating the white noise component while P i is outside the [ F , C ] range or identical to P i − 1 . Round all prices to 0.1 cent. Agmon Ben-Yehuda, Ben-Yehuda, Schuster, Tsafrir Deconstructing Spot Prices 18/35
Recommend
More recommend