This document proposes Bricklayer, a software tool to optimize the use of Amazon Web Services (AWS) spot instances. Bricklayer analyzes spot market pricing data to select instances that minimize costs while maintaining availability. It considers the compute unit price, price volatility, and eviction rates across AWS' many availability zones and instance types. Experimental results found Bricklayer could provide the same resources as on-demand instances at 51-88% lower cost than regular spot instances and 83-95% lower than on-demand. By distributing workloads across multiple spot markets, Bricklayer further increased availability with only small added costs compared to using single spot markets.
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Bricklayer: Resource Composition on the Spot Market
1. Bricklayer: Resource Composition
on the Spot Market
Walter Wong1, Lorenzo Corneo2, Aleksandr Zavodovski1, Pengyuan
Zhou1, Nitinder Mohan1,3, Jussi Kangasharju1
1University of Helsinki, Finland
2Uppsala University, Sweden
3Technical University Munich, Germany
2. Motivation – AWS Cloud Computing
• Amazon offers a wide range of cloud services, such as computing and
storage, that can be quickly deployed in the Internet
• For computing, there are three subscription options
• Reserved: 1 to 3-year commitment
• On-demand: pay-as-you-go
• Spot instances: variable market price
• AWS Spot Instances
• Up to 90% off compared to the on-demand pricing
• Caveat: no availability guarantee (instances can be shut down with a 2-minute
warning)
3. Motivation – AWS Cloud & Spot Market
Is it possible to leverage spot instances and provide (almost)
the same availability levels as on-demand instances?
5. AWS Spot Market Analysis
On-demand price
Market price for spot instance
Main characteristics
• Market price
• Bid Model
• Eviction due to price
AWS has 32 availability zones and 252 instance types resulting in ~8k individual spot markets
6. AWS Spot Market Analysis
Instance Family Min. ECU (¢/h) Max. ECU (¢/h) Diff. (%)
Compute optimized 0.0026 0.008958 344.54
General purpose 0.003154 0.011854 375.81
Storage optimized 0.014276 0.025212 176.6
Memory optimized 0.00356 0.037692 1058.77
FPGA instances 0.019038 0.021064 110.06
GPU instances 0.022979 0.04365 189.95
Fig. (a) shows that for the same instance family (same hardware), there can be a large ECU price variation
Fig. (b) shows that even with the instance size increase, there is a bottom line for the ECU price.
(a)
(b)
What is the minimum price per computing unit across all instances?
AWS EC2 Compute Unit (ECU) is a benchmark used to compare AWS EC2 instances.
7. AWS Spot Market Analysis
Fig. (a) and (b) compare the most and least volatile spot instances.
Fig. (c) shows the availability and eviction rates of a sample of instances.
(a) (b) (c)
What are the price volatility of each instance across all availability zones?
What are the instances with lower uptime?
8. AWS Spot Market Analysis – Lessons Learned
• Spot instances follow the market price rather than a fixed hourly fee
• Eviction happens when the market price of the spot instance goes
over the bid price
• For the same hardware family, we found
• Considerable difference in the ECU pricing
• Difference in the price volatility and instance availability
9. Bricklayer Goals
• Offer a software tool to analyze the best pricing and availability of
spot instances
• Two optimization models
• Price: searches for the best pricing engines for a given time
• Availability: split the load among different spot markets to reduce eviction
rate
• Leverage the opportunities with the spot instances
• Better ECU pricing with the same hardware
• Lower eviction rates in some instances
10. Bricklayer – System Design
• Three core metrics
• ECU unit price
• Price volatility (from historical data)
• Availability
• Budget Optimization
• Aims to get the cheapest instances (even repeating the same instance type
multiple times)
• Caveat: bulk eviction (all instances are swiped away at the same time)
• Availability Optimization
• Aims to get different instance types across different availability zones to
reduce evictions
11. Bricklayer – Architecture
Linear Optimizer implements Google Operation Research library
All components expose a REST-API to be consumed independently (microservices)
12. Evaluation Setup
• Applications Categories
• Batch-type applications (fault tolerant, non-time critical)
• Highly available applications
• Data
• AWS spot pricing data (March to June, 2019)
• Contains 32 availability zones and 252 instance types
• Instance Sizes
• Four popular sizes
• 16 vCPU (60 ECUs), 32 vCPU (131 ECUs), 64 vCPU (262 ECUs) and 96 vCPU
(347 ECUs)
13. Results – Budget Optimized Selection
Comparison between selecting a pre-defined instance type, e.g., m5.4xlarge, and
using Bricklayer to provide a resource set with the same amount of vCPUs
Results: 51% to 88% cheaper compared to Spot instances and 83% to 95% cheaper compared to on-demand prices
16 vCPU 32 vCPU 64 vCPU 96 vCPU
14. Results – Selecting different spot markets
Spread across multiple distinct spot markets using Bricklayer
Results: increase of 24% going from 1 to 2 spot markets. Further increase 3% per spot market.
15. Results – Total cost comparison vs. number of
distinct spot markets
Total cost over a 90-day period.
Bricklayer selected the least volatile instances (which have not been evicted due to pricing)
16. Key Takeaways
• For the budget optimized, we are always cheaper than the regular
spot instances
• Reduction between 51% to 88% off compared to spot instances
• Reduction between 83% to 95% off compared to on-demand instances
• Even adding more more spot markets to increase the availability,
Bricklayer still provides a cheaper solution compared to regular
instances
• The provided spot instances did not experience any eviction due to
pricing
17. Conclusion
• Bricklayer offers options to reduce the cloud costs by trading off spot
instance’s availability vs price
• Bricklayer checks three metrics to offer the best resource set
optimized for cost or availability
• ECU unit price
• Price volatility
• Eviction rate due to pricing
• The experimental results show that Bricklayer provides same
availability but at lower costs compared to regular instances