A Cloud Benchmark Suite Combining Micro and Application Benchmarks - - PowerPoint PPT Presentation
A Cloud Benchmark Suite Combining Micro and Application Benchmarks - - PowerPoint PPT Presentation
A Cloud Benchmark Suite Combining Micro and Application Benchmarks Joel Scheuner, Philipp Leitner Joel Scheuner scheuner@chalmers.se joe4dev @joe4dev Context: Public Infrastructure-as-a-Service Clouds IaaS PaaS SaaS Applications
Context: Public Infrastructure-as-a-Service Clouds
IaaS PaaS SaaS
Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking
User-Managed Provider-Managed
Infrastructure-as-a-Service (IaaS) Platform-as-a-Service (PaaS) Software-as-a-Service (SaaS)
2018-04-10 QUDOS@ICPE'18 3
Motivation: Capacity Planning in IaaS Clouds
What cloud provider should I choose?
https://www.cloudorado.com
20 40 60 80 100 120 2 6 2 7 2 8 2 9 2 1 2 1 1 2 1 2 2 1 3 2 1 4 2 1 5 2 1 6 2 1 7 Number of Instance Type
2018-04-10 QUDOS@ICPE'18 4
Motivation: Capacity Planning in IaaS Clouds
What cloud service (i.e., instance type) should I choose?
t2.nano 0.05-1 vCPU 0.5 GB RAM $0.006/h x1e.32xlarge 128 vCPUs 3904 GB RAM $26.688 hourly
2018-04-10 QUDOS@ICPE'18 5
Topic: Performance Benchmarking in the Cloud
“The instance type itself is a very major tunable parameter”
@brendangregg re:Invent’17 https://youtu.be/89fYOo1V2pA?t=5m4s
2018-04-10 QUDOS@ICPE'18 6
Background
Generic Artificial Resource- specific Specific Real-World Resource- heterogeneous
Micro Benchmarks
CPU Memory I/O Network Overall performance (e.g., response time)
Application Benchmarks
2018-04-10 QUDOS@ICPE'18 7
Related Work
Micro Benchmarking / Application Kernels
Iosup et. al. Performance analysis of cloud computing services for many-tasks scientific computing. Ostermann et. al. A performance analysis of EC2 cloud computing services for scientific computing.
Application Benchmarking
Ferdman et. al. Clearing the clouds: a study of emerging scale-out workloads on modern hardware. Cooper et. al. Benchmarking Cloud Serving Systems with YCSB.
Repeatability of Cloud Experiments
Abedi and Brecht. Conducting Repeatable Experiments in Highly Variable Cloud Computing Environments. @ICPE’17
A A A B B B C C C A B C A B C A B C B A C C B A A C B
B) Multiple Consecutive Trials (MCT) C) Multiple Interleaved Trials (MIT) D) Randomized Multiple Interleaved Trials (RMIT) A) Single Trial
A B C
2018-04-10 QUDOS@ICPE'18 8
Problem: Isolation, Reproducibility of Execution
Generic Artificial Resource-specific Specific Real-World Resource- heterogeneous
Micro Benchmarks
CPU Memory I/O Network Overall performance (e.g., response time)
Application Benchmarks
2018-04-10 QUDOS@ICPE'18 9
Question:
Generic Artificial Resource-specific Specific Real-World Resource- heterogeneous
Micro Benchmarks
CPU Memory I/O Network Overall performance (e.g., response time)
Application Benchmarks How can we systematically combine and execute micro and application benchmarks?
2018-04-10 QUDOS@ICPE'18 10
Idea
Generic Artificial Resource-specific Specific Real-World Resource- heterogeneous
Micro Benchmarks
CPU Memory I/O Network Overall performance (e.g., response time)
Application Benchmarks
Systematically Execute Together
2018-04-10 QUDOS@ICPE'18 11
Execution Methodology
B A C C B A A C B
D) Randomized Multiple Interleaved Trials (RMIT)
30 benchmark scenarios 3 trials ~2-3h runtime
2018-04-10 QUDOS@ICPE'18 12
Benchmark Manager
Cloud WorkBench (CWB) Tool for scheduling cloud experiments sealuzh/cloud-workbench
CloudCom 2014 “Cloud Work Bench – Infrastructure-as-Code Based Cloud Benchmarking”
Scheuner, Leitner, Cito, and Gall
Demo@WWW 2015
Scheuner, Cito, Leitner, and Gall
2018-04-10 QUDOS@ICPE'18 13
Architecture Overview
2018-04-10 QUDOS@ICPE'18 14
CPU
- sysbench/cpu-single-thread
- sysbench/cpu-multi-thread
- stressng/cpu-callfunc
- stressng/cpu-double
- stressng/cpu-euler
- stressng/cpu-ftt
- stressng/cpu-fibonacci
- stressng/cpu-int64
- stressng/cpu-loop
- stressng/cpu-matrixprod
Memory
- sysbench/memory-4k-block-size
- sysbench/memory-1m-block-size
Broad resource coverage and specific resource testing
Micro Benchmarks
Micro Benchmarks
CPU Memory I/O Network I/O
- [file I/O] sysbench/fileio-1m-seq-write
- [file I/O] sysbench/fileio-4k-rand-read
- [disk I/O] fio/4k-seq-write
- [disk I/O] fio/8k-rand-read
Network
- iperf/single-thread-bandwidth
- iperf/multi-thread-bandwidth
- stressng/network-epoll
- stressng/network-icmp
- stressng/network-sockfd
- stressng/network-udp
Software (OS)
- sysbench/mutex
- sysbench/thread-lock-1
- sysbench/thread-lock-128
2018-04-10 QUDOS@ICPE'18 15
Micro Benchmarks: Examples
Micro Benchmarks
CPU Memory I/O Network
1) Prepare
I/O
2) Run 3) Extract Result File I/O: 4k random read 4) Cleanup
3.5793 MiB/sec
Network
Bandwidth Server Client Result
972 Mbits/sec
2018-04-10 QUDOS@ICPE'18 16
Application Benchmarks
Overall performance (e.g., response time)
Application Benchmarks
Molecular Dynamics Simulation (MDSim) WordPress Benchmark (WPBench)
Multiple short blogging session scenarios (read, search, comment)
20 40 60 80 100 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 Elapsed Time [min] Number of Concurrent Threads2018-04-10 QUDOS@ICPE'18 17
Performance Data Set
eu + us eu + us eu
m1.small 1 1 1.7 PV Low m1.medium 1 2 3.75 Instance Type vCPU ECU RAM [GiB] Virtualization Network Performance PV Moderate m3.medium 1 3 3.75 PV /HVM Moderate 2 m1.large 4 7.5 PV Moderate 2 m3.large 6.5 7.5 HVM Moderate 2 m4.large 6.5 8.0 HVM Moderate 2 c3.large 7 3.75 HVM Moderate c4.large 2 8 3.75 HVM Moderate 4 c3.xlarge 14 7.5 HVM Moderate 4 c4.xlarge 16 7.5 HVM High c1.xlarge 8 20 7 PV High
* * ECU := Elastic Compute Unit (i.e., Amazon’s metric for CPU performance)
>240 Virtual Machines (VMs) à 3 Iterations à ~750 VM hours >60’000 Measurements (258 per instance)
2018-04-10 QUDOS@ICPE'18 18
Cost/Performance is a trade-off but there exist unfavorable instance types
WPBench Response Time Cost Frontier
Cost-Optimal Instance Types Frontier
1000 2000 0.2 0.4 0.6
Instance Cost (USD/h) WPBench Scenario Read Response Time (ms) Instance Type
c1.xlarge c3.large c3.xlarge c4.large c4.xlarge m1.large m1.medium m1.small m3.large m3.medium (hvm) m3.medium (pv) m4.large
+40% performance
- 40% cost
- 80% performance
- 35% cost
2018-04-10 QUDOS@ICPE'18 19
Almost perfect stability in comparison to previous results
Intra-Cloud Network Bandwidth over Time
300 400 500 600 2017−04−04 2017−04−06 2017−04−08 2017−04−10 2017−04−12 2017−04−14 2017−04−16
Time Network Bandwidth (Mbits/sec) Instance Type
m1.small m3.large m3.medium (hvm)
2014
- P. Leitner, J. Cito. Patterns in the
Chaos - A Study of Performance Variation and Predictability in Public IaaS Clouds. TOIT 2016
2017
2018-04-10 QUDOS@ICPE'18 20
The newer virtualization type hvm is more I/O efficient than pv
Disk Utilization during I/O Benchmark
90 95 98.5 98.7 98.9 99.1
FIO 4k Sequential Write Disk Utilization (%) FIO 8k Random Read Disk Utilization (%) Instance Type
c1.xlarge c3.large c3.xlarge c4.large c4.xlarge m1.large m1.medium m1.small m3.large m3.medium (hvm) m3.medium (pv) m4.large
Virtualization Type
hvm pv
2018-04-10 QUDOS@ICPE'18 21
Future Work
Benchmark Design Benchmark Execution Data Pre- Processing Data Analysis
- 4.41
QUDOS@ICPE 2018 “A Cloud Benchmark Suite Combining Micro and Applications Benchmarks”
Scheuner and Leitner
“Estimating Cloud Application Performance Based on Micro Benchmark Profiling”
Scheuner and Leitner
Under Submission Accepted
2018-04-10 QUDOS@ICPE'18 22