SlideShare a Scribd company logo
Experimental Methods on
Performance in Clouds, …
Calton Pu
CERCS and School of Computer Science
Georgia Institute of Technology
1
2
Ancestors of Clouds (Hardware)
 Data processing centers (~1960s)
 Supercomputers, Grids (~1970s)
 P2P, SETI@Home (~1999), botnets
 Utility computing and data centers
(~2000s)
Modern Clouds
 Amazon data centers in early 2000s was only at 10%
capacity – introduction of Amazon Web Service (AWS)
in 2006
 2007 – Google & IBM join Cloud Computing research
(NSF), Microsoft joins in 2010, NSFCloud in 2014
3
Cloud & Big Data (company)
4
 Google Inc
 Third market cap in the world ($390B in 2014)
 Probably more data than anyone else
 13 declared
data centers
around the
world; drawing
260MW in 2011
(2,259,998
MWh total).
Cloud & Big Data (government)
5
 NSA (maybe more than Google)
 Utah Data Center, drawing 65MW (about half of
Salt Lake City)
Different Cloud Services
6
Some Concrete Offerings
7
SaaS
PaaS
IaaS
Hardware
HigherLevelServices
Cloud Service Models
 Software as a Service (SaaS) [not covered]
 Use provider’s applications over a network
 Example: Salesforce.com
 Platform as a Service (PaaS) [not covered]
 Use system-level services (e.g., database) to
develop and deploy customer applications
 Example: Google App Engine, MS Azure
 Infrastructure as a Service (IaaS)
 Rent processing, storage, network
 Example: Amazon EC2, Emulab
8
Amazon EC2 (circa 2010)
 Elastic Block Store, CloudWatch,
Automated Scaling
9
Instance Type Memory Compute
(1GHz virt)
Local
Storage
Data Price
(hour)
Std Small 1.7 GB 1 X 1 160 GB 32b $0.085
Std Large 7.5 GB 2 X 2 850 GB 64-bit $0.34
Std X-Large 15.0 GB 4 X 2 1.7 TB 64-bit $0.68
High Memory X-L 17.1 GB 2 X 3.25 420 GB 64-bit $0.50
High Memory DB X-L 34.2 GB 4 X 3.25 850 GB 64-bit $1.00
High Memory QD X-L 68.4 GB 8 X 3.25 1.7 TB 64-bit $2.00
High CPU Medium 1.7 GB 2 X 2.5 350 GB 32-bit $0.17
High CPU X-L 7.0 GB 8 X 2.5 1.7 TB 64-bit $0.68
Cluster Compute X-L 23 GB 33.5 1.7 TB 64-bit $1.60
AWS Free Tier
 New AWS customers can get started with
Amazon EC2 for free. Each month for 1 year:
 750 hours of EC2 running Linux, RHEL, or SLES
t2.micro
 750 hours of EC2 running MS Windows Server t2.micro
 750 hours of Elastic Load Balancing plus 15 GB data
 30 GB of Amazon Elastic Block Storage in any
combination of General Purpose (SSD) or Magnetic,
plus 2 million I/Os and 1 GB of snapshot storage
 15 GB of bandwidth out
 1 GB of Regional Data Transfer
10
Resources Available for
Experiments
 Our own cluster (about 50 nodes)
 GT/CERCS cluster (about 800 nodes)
 Emulab (Utah), PROBE (CMU)
 A few hundreds nodes, a few dozen available
 CloudLab replaces Emulab (May 2015)
 Other partner clusters in companies and
universities
11
Challenges in Cloud Adoption
 From user’s point of view
 Data security/privacy (in a public cloud)
 Performance concerns
 From provider’s point of view
 Up-front hardware costs high, rapid aging
 Hardware capacity generally under-utilized
 Low scalability of most enterprise applications
 Negotiating SLA contracts and price structures
12
Cloud Management Challenge
 High utilization brings higher ROI
 Achievable by predictable/stationary workloads
 Mission-critical applications need SLA
 Resource Utilization Paradox
 Good ROI requires high utilization (many
papers on consolidation claim >90% utilization)
 Consistent reports of 18% average utilization
 Cloud management is more challenging
than we hoped initially
13
Representative Cloud Workloads
 Cloud workload – amount of processing that a
cloud has to do at a given time
 Use workloads to test a particular type of
application
 Types of workloads:
 E-commerce
 OLTP
 Forum/Message board
 Web 2.0 application
 MapReduce
14
15
Example 1: RUBiS Benchmark
 E-commerce applications (eBay auctions)
 N-tier (3 or more tiers): web servers, application
servers, database servers
 26 web interactions, requiring sophisticated
models, e.g., Layered Queuing Network Models
16
Typical Execution Environment
Client Browsers Tomcat
Servlet Engines
MySQL
DB Servers
Apache
Web Servers
HTTP
AJP13 JDBC
Hardware resource
Xen Hypervisor
D0 VM1 VM2 VM3
Hardware resource
Host OS
Hypervisor
Hardware resource
Host OS
Hypervisor
Virtual
Mgm.
Inferface
17
Meta-Model of RUBiS
 Layered Queuing Network Model of RUBiS
(3-Tier): one for each of 26 interactions;
total of 78 sub-models
18
Web Server Sub-Model
 3-tier: simplest implementation of RUBiS
 AboutMe (1 of 26), customized for 3-tier
Challenges in Modeling
 Layered Queuing Network Models become
very complex even for “simple” n-tier
applications
 Experiments are needed anyway
 Setting the values for various sub-models
 Need detailed experiments for a variety of
configurations
 Let’s try “pure” experiments
19
20
Example 2: RUBBoS Benchmark
 Another e-commerce workload
 Bulletin Board (Slashdot)
 DB server bottleneck, C-JDBC as load
balancer
 24 web interactions
 Configuration notation: 1-2-1-9
 1 web server, 2 app servers, 1 C-JDBC server,
9 DB servers
 Emulab (a relatively modest testbed)
21
Example Hardware (Emulab)
22
Example Software Configuration
23
Sample Configuration (1-2-1-3)
Apache
Tomcat
C-JDBC
MySQL
PostgreSQL
24
Low end
DB server
Experiment Design
Web
server
1
App
server
1-3
C-
JDBC
1
DB
server
1-9
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
Normal
DB server
25
MySQL Throughput (Low-Cost)
Better scalability (different query processing strategies)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
What’s Different about Clouds (1)
Traditional benchmarks
 Static configuration: HW,
SW, workload range
 Find the “best tuning” to
achieve highest
throughput
Cloud benchmarks
 Dynamic and many
configurations
 Find representative
throughput and response
time for each
configuration
(reproducible results by
other users)
26
27
MySQL Throughput for R/W
Mix (read one, write all)
0
100
200
300
400
500
600
Throughput(ops/s)
Workload
1-1-1-8ML
1-2-1-4ML
1-2-1-5ML
1-2-1-6ML
1-2-1-7ML
1-2-1-9ML
1-3-1-9ML
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
28
1-2-1-9ML Configuration Data
 Clear bottleneck indicated by leveled
performance (previous slide)
 All high workloads (more than 4000)
 Same leveling for other configurations
 Average resource consumption on DB
servers quite low (CPU and disk I/O)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
29
Web Server CPU Utilization
(1-2-1-9ML)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
30
Application Server CPU
Utilization (one of 1-2-1-9ML)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
31
C-JDBC Server CPU Utilization
(1-2-1-9ML)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
32
DB Server CPU Utilization
(one of 1-2-1-9ML)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
33
DB Server Disk I/O Bandwidth
Utilization (one of 1-2-1-9ML)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
34
Observations on 1-2-1-9ML
 No CPU bottlenecks anywhere
 Disk I/O bandwidth on the DB servers has
a slight peak at the high value spectrum
boundary
 An infrequent disk I/O bottleneck, which cannot
explain the observed lack of overall system
performance
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
36
Maximum of Disk I/O Bandwidth
Utilization (all of 1-2-1-9ML)
MySQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
PostgreSQL
Browse-
only
Read-
Write
Wait-
1st
Wait-
All
DB server
What’s Different about Clouds (2)
Traditional benchmarks
 Balanced configuration:
near-full utilization of all
resources for a stable
workload
 Single bottleneck, high
average utilization
Cloud benchmarks
 Almost always start all
low utilization
 No stable bottlenecks
 Often stays with all low
average utilization, but
performance remains low
 Found new phenomenon:
Multi-bottlenecks
37
Why Automation?
 Traditional benchmarks such as TPC and
SPEC answer the question
 For a given hardware/software configuration
and workload, what is the highest achievable
throughput?
 In the cloud this become very difficult due
to various dimensions:
 Horizontal scalability
 Vertical Scalability
 Variety of software components
38
Solution: Expertus
 A framework for large-scale benchmark
measurements through flexible automation
of experiments.
 It creates the scripts through a multi-stage
code generation process.
 Easy to plug new benchmarks and clouds
 Enables cloud measurements at a scale
that is beyond manual management of
benchmarks
39
Experiment Summary
 Over 500 different hardware configurations
(i.e., varying node number and type)
 Over 10,000 different software
configurations (i.e., varying software and
software setting).
 Over 100,000 computing nodes in various
cloud environments:
 Emulab
 Amazon EC2
 Open Cirrus.
40
41
E-commerce Example
 Many configuration variables
 Many applications, clear differences among them
 Many cloud offerings, non-obvious differences
 Different software/hardware configurations may
produce the same or different results
 Experimental setup challenges
 Dependencies among components
 Systematic search through the potentially large
configuration space
Experimental Challenges
42
43
Elba: Automating Measurements
0
20
40
60
80
100
L/ L
2H/ L
Analyzed
Result
79.515.298.2/97.246.2/36.22H/H
98.221.397.3/98.236.4/46.62H/L
87.25.398.265.3H/H
98.322.398.766.8H/L
78.311.297.999.8L/L
MemoryCPUMemoryCPU
APPServerDBServer
79.515.298.2/97.246.2/36.22H/H
98.221.397.3/98.236.4/46.62H/L
87.25.398.265.3H/H
98.322.398.766.8H/L
78.311.297.999.8L/L
MemoryCPUMemoryCPU
APPServerDBServer
Automated, Evolutionary
Staging Cycle
(0) Config. Design
Deployment
Scripts
Mulini
TBL
Analyzer
Monitors
App
Staging
Deployment
Workload
Driver
(1) Code Generation / Deployment
System Under TestWorkload Drivers
Monitor
(3) Analyzer
Monitor
Monitor
Monitor
Evaluation / Analysis
(4) Reconfiguration
(2) Execution
Automated
Adaptation
Benchmark
specs
Experiment
Spec. Lang.
Adapt.
Cost
 Automated Experiment Management
 Through Extensible, Flexible and modular code
generation
 Extensibility
 Extending the framework to support specification changes,
new benchmarks, computing clouds, and software
packages
 Flexibility
 Modification to input configuration or output configuration
without changing the source code of the framework
 Modularity
 Consists of a number of components that may be mixed
and matched in a variety of configurations
44
Benefits of Automation
 Abstraction mapping.
 External forces often drive changes
 Standards formulation/adoption
 Industry evolution
 Internal forces drive changes
 Goals, functionality refinement
 Interoperable heterogeneity.
 Heterogeneous clouds and applications
 Flexible customization.
 Experiment goals, API changes
45
Code Generation – Key
Challenges
 The code generator adopts a compiler approach
of multiple serial transformation stages.
 One type of transformation at any given stage
(e.g., cloud, operating system, application etc…)
 The number of stages is determined by the
experiment, application, software stack, operating
system, and cloud.
 At each stage Expertus uses the intermediate
XML document created from the previous stage
as the input to the current stage.
Expertus Approach
46
Multi-Stage Code Generation
47
Steps Inside a Stage
48
An Example XSLT Template
49
An Intermediate XML
50
Generated Code
51
 Create experiment specification with the
application, software packages, cloud and
experiments.
 Use Expertus and generate scripts.
 Platform configuration sets up the target cloud.
 Application deployment is to deploy the target
application on the configured cloud.
 Configure application correctly.
 Main script runs the test plan, which in fact
consists of multiple iterations.
 Upload the resource monitoring and performance
data to the data warehouse.
Experiment Automation Process
52
Automati
on
Process
53
54
Configuration levels
 Usability of the Tool.
 How quickly a user can change an existing specification
to run the same experiment with different settings
 Generated Script Types and Magnitude.
 Depends on the application, software packages,
deployment platform, number of experiments.
 Richness of the Tool.
 Magnitude of completed experiments
 Amount of different software packages, clouds, and
applications it supports
 Extensibility and Flexibility.
 Supporting new clouds
 Supporting new applications
Evaluation Metrics
55
Usability
Specification change to Code changes Number of Nodes vs. Generated Code
56
 Usability of the Tool.
 How quickly a user can change an existing specification
to run the same experiment with different settings
 Generated Script Types and Magnitude.
 Depends on the application, software packages,
deployment platform, number of experiments.
 Richness of the Tool.
 Magnitude of completed experiments
 Amount of different software packages, clouds, and
applications it supports
 Extensibility and Flexibility.
 Supporting new clouds
 Supporting new applications
Evaluation Metrics
57
Current Status
58
59
Complexity of the tool
Table1: Number of Experiments
Table2: Experiment size vs. NLOC
 Usability of the Tool.
 How quickly a user can change an existing specification
to run the same experiment with different settings
 Generated Script Types and Magnitude.
 Depends on the application, software packages,
deployment platform, number of experiments.
 Richness of the Tool.
 Magnitude of completed experiments
 Amount of different software packages, clouds, and
applications it supports
 Extensibility and Flexibility.
 Supporting new clouds
 Supporting new applications
Evaluation Metrics
60
Adding a new Cloud
Template Changes Changes in Generated Code
61
Adding a new Application
Template Changes Changes in Generated Code
62
Adding a new DBMS
Template Changes Changes in Generated Code
63
Magnitude of Code per Node
64
 Significant strides towards realizing flexible
and scalable application testing for today’s
complex cloud environments.
 Over 500 different hardware configurations.
 Over 10, 000 software configurations.
 Five clouds (i.e., Emulab, EC2, Open Cirrus,
Georgia Tech cluster, and Wipro)
 Three representative applications (RUBBoS,
RUBiS, and CloudStone)
65
Usability
 Support new clouds, applications, and software
packages with only a few template line changes.
 8.21% of template line changes, to support
Amazon EC2 once we had support for the Emulab
cloud.
 Caused a 25.35% change in the generated code
for an application scenario with 18 nodes
 Switching from the RUBBoS to the RUBiS
required only a 5.66% template change
66
Flexibility and Extensibility
Configuration Planning
 Provider profit model (simplified)
67
Provider Revenue Model
68
Design of CloudXplor Tool
69
Data Refinement in CloudXplor
70
Cloud Evaluation - CloudXplor
71
Maximal Throughput of
RUBBoS (1-2-4 R/W)
72
Throughput RUBBoS
(1-2-4 and R/W)
73
Response Time Dist.
(1-1-2 MySQL Cluster)
74
Revenue and Cost
Analysis (R/W)
75
Profit and Cost Analysis
RUBBoS (R/W)
76
Optimal Profit Configurations
77
Example: RUBBoS Benchmark
 E-commerce applications (Slashdot
Bulletin Board)
 N-tier (3 or more tiers): web servers,
application servers, database servers
 26 web interactions, requiring sophisticated
models, e.g., Layered Queuing Network
Models
78
RUBBoS 4 Tier Deployment
79
Example: RUBBoS Benchmark
80
RUBBoS Software
Components
81
RUBBoS Software Settings
82
Cloud Evaluation - Overview
 Main idea
 How and where to deploy your enterprise system in what
scenario?
 Automated empirical measurement and evaluation of
alternative platforms, configurations, and architectures
for n-tier apps in the cloud
 Hardware platforms (IaaS)
 Amazon EC2, Open Cirrus (HP), and Emulab
 System software configurations
 LAMP, MySQL Cluster (off-the-shelf RDBMS)
 Application software
 E-commerce application benchmarks (RUBBoS) 83
Cloud Evaluation - Mapping
84
Cloud Evaluation - Mapping
85
Cloud Evaluation - Mapping
86
Cloud Evaluation - Deployment
87
Cloud Evaluation - Deployment
88
Cloud Evaluation – Infrastruct.
89
Fast-Forward A Few Years
 Using the automated experiment
generation infrastructure, we ran many
thousands of experiments
 We found several interesting phenomena
 The best: Very Short Bottlenecks that cause
Very Long Response-Time Requests
90
Latency Long Tail Problem
 At moderate CPU utilization levels (about
60% at 9000 users), 4% of requests take
several seconds, instead of milliseconds
91
Latency Long Tail: A Serious
Research Challenge
 No system resource is near saturation
 Very Long Response Time (VLRT) requests
start to appear at moderate utilization levels
(often at 50% or lower)
 VLRT requests themselves are not bugs:
 They only take milliseconds when run by
themselves
 Each run presents different VLRT requests
 VLRT requests appear and disappear too
quickly for most monitoring tools
92
Big Data & Clouds Need
Automation
 Experimental approaches
 Often the only choice (modeling too complex)
 Abundant resource availability
 Many configurations mean many experiments
and measurements
 Automated experiment generation,
execution, monitoring, and analysis
 Very interesting phenomena found (VSB)
93
End of Session
 Any Questions?
 Calton Pu (calton@cc.gatech.edu)
94

More Related Content

PDF
Yahoo Cloud Serving Benchmark
PPTX
Summary of "YCSB " paper for nosql summer reading in Tokyo" on Sep 15, 2010
PDF
Ycsb benchmarking
PDF
MyRocks introduction and production deployment
PDF
A Travel Through Mesos
PDF
Cassandra Introduction & Features
PDF
Nov 2011 HUG: Blur - Lucene on Hadoop
PPTX
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Yahoo Cloud Serving Benchmark
Summary of "YCSB " paper for nosql summer reading in Tokyo" on Sep 15, 2010
Ycsb benchmarking
MyRocks introduction and production deployment
A Travel Through Mesos
Cassandra Introduction & Features
Nov 2011 HUG: Blur - Lucene on Hadoop
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...

What's hot (20)

PPTX
Re invent announcements_2016_hcls_use_cases_mchampion
PDF
On Cassandra Development: Past, Present and Future
PDF
Bigtable and Dynamo
PDF
Analysis postgre sql-vs_mongodb_report
PDF
Elastic HBase on Mesos - HBaseCon 2015
PPTX
Load testing Cassandra applications
PDF
Tungsten University: Setup & Operate Tungsten Replicator
PDF
Bruno Silva - eMedLab: Merging HPC and Cloud for Biomedical Research
PPT
Fudcon talk.ppt
PPTX
Terraform Modules Restructured
PDF
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PPTX
Big table
PDF
Spark performance tuning - Maksud Ibrahimov
PDF
Intro to big data choco devday - 23-01-2014
PPTX
Learn Cassandra at edureka!
PDF
10 Reasons to Start Your Analytics Project with PostgreSQL
PDF
Introduction to Apache Mesos
PDF
Cassandra @ Yahoo Japan (Satoshi Konno, Yahoo) | Cassandra Summit 2016
KEY
Replication, Durability, and Disaster Recovery
PPTX
SQLIO - measuring storage performance
Re invent announcements_2016_hcls_use_cases_mchampion
On Cassandra Development: Past, Present and Future
Bigtable and Dynamo
Analysis postgre sql-vs_mongodb_report
Elastic HBase on Mesos - HBaseCon 2015
Load testing Cassandra applications
Tungsten University: Setup & Operate Tungsten Replicator
Bruno Silva - eMedLab: Merging HPC and Cloud for Biomedical Research
Fudcon talk.ppt
Terraform Modules Restructured
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
Big table
Spark performance tuning - Maksud Ibrahimov
Intro to big data choco devday - 23-01-2014
Learn Cassandra at edureka!
10 Reasons to Start Your Analytics Project with PostgreSQL
Introduction to Apache Mesos
Cassandra @ Yahoo Japan (Satoshi Konno, Yahoo) | Cassandra Summit 2016
Replication, Durability, and Disaster Recovery
SQLIO - measuring storage performance
Ad

Similar to Calton pu experimental methods on performance in cloud and accuracy in big data analytics (20)

PPT
The Anatomy Of The Google Architecture Fina Lv1.1
PPT
How To Scale v2
PDF
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
PPT
Clustering van IT-componenten
PDF
Microsoft Azure Database for MySQL delivered better performance and lower pri...
PDF
MySQL Replication Performance in the Cloud
PPT
IUT presentation - English
PPT
Cluster Computers
PDF
Supporting bioinformatics applications with hybrid multi-cloud services
PPT
CENTRE FOR DATA CENTER WITH DIAGRAMS.ppt
PPTX
Clustering
PPT
How to scale your web app
PPT
Exploring The Cloud
PPT
Cloud introduction2.ppt
PDF
OSOM - Operations in the Cloud
PDF
OSOM Operations in the Cloud
PPT
Troubleshooting SQL Server
PDF
AdminOps-Part-II-Installation.pdf of okera
PDF
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
PPTX
Database as a Service - Tutorial @ICDE 2010
The Anatomy Of The Google Architecture Fina Lv1.1
How To Scale v2
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
Clustering van IT-componenten
Microsoft Azure Database for MySQL delivered better performance and lower pri...
MySQL Replication Performance in the Cloud
IUT presentation - English
Cluster Computers
Supporting bioinformatics applications with hybrid multi-cloud services
CENTRE FOR DATA CENTER WITH DIAGRAMS.ppt
Clustering
How to scale your web app
Exploring The Cloud
Cloud introduction2.ppt
OSOM - Operations in the Cloud
OSOM Operations in the Cloud
Troubleshooting SQL Server
AdminOps-Part-II-Installation.pdf of okera
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
Database as a Service - Tutorial @ICDE 2010
Ad

More from jins0618 (20)

PDF
Machine Status Prediction for Dynamic and Heterogenous Cloud Environment
PDF
Latent Interest and Topic Mining on User-item Bipartite Networks
PDF
Web Service QoS Prediction Approach in Mobile Internet Environments
PDF
吕潇 星环科技大数据技术探索与应用实践
PPT
李战怀 大数据环境下数据存储与管理的研究
PPTX
2015 07-tuto0-courseoutline
PDF
Christian jensen advanced routing in spatial networks using big data
PPTX
Jeffrey xu yu large graph processing
PDF
Ling liu part 02:big graph processing
PDF
Ling liu part 01:big graph processing
PPTX
Wang ke mining revenue-maximizing bundling configuration
PDF
Wang ke classification by cut clearance under threshold
PPTX
2015 07-tuto2-clus type
PPTX
2015 07-tuto1-phrase mining
PPTX
2015 07-tuto3-mining hin
PPTX
2015 07-tuto0-courseoutline
PPTX
Weiyi meng web data truthfulness analysis
PPTX
Ke yi small summaries for big data
PDF
Gao cong geospatial social media data management and context-aware recommenda...
PPTX
Chengqi zhang graph processing and mining in the era of big data
Machine Status Prediction for Dynamic and Heterogenous Cloud Environment
Latent Interest and Topic Mining on User-item Bipartite Networks
Web Service QoS Prediction Approach in Mobile Internet Environments
吕潇 星环科技大数据技术探索与应用实践
李战怀 大数据环境下数据存储与管理的研究
2015 07-tuto0-courseoutline
Christian jensen advanced routing in spatial networks using big data
Jeffrey xu yu large graph processing
Ling liu part 02:big graph processing
Ling liu part 01:big graph processing
Wang ke mining revenue-maximizing bundling configuration
Wang ke classification by cut clearance under threshold
2015 07-tuto2-clus type
2015 07-tuto1-phrase mining
2015 07-tuto3-mining hin
2015 07-tuto0-courseoutline
Weiyi meng web data truthfulness analysis
Ke yi small summaries for big data
Gao cong geospatial social media data management and context-aware recommenda...
Chengqi zhang graph processing and mining in the era of big data

Recently uploaded (20)

PDF
Business Analytics and business intelligence.pdf
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
Introduction to Knowledge Engineering Part 1
PDF
Foundation of Data Science unit number two notes
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
Qualitative Qantitative and Mixed Methods.pptx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
IB Computer Science - Internal Assessment.pptx
Business Analytics and business intelligence.pdf
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
Introduction to Knowledge Engineering Part 1
Foundation of Data Science unit number two notes
Business Ppt On Nestle.pptx huunnnhhgfvu
Miokarditis (Inflamasi pada Otot Jantung)
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
IBA_Chapter_11_Slides_Final_Accessible.pptx
Introduction-to-Cloud-ComputingFinal.pptx
oil_refinery_comprehensive_20250804084928 (1).pptx
.pdf is not working space design for the following data for the following dat...
Qualitative Qantitative and Mixed Methods.pptx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
climate analysis of Dhaka ,Banglades.pptx
IB Computer Science - Internal Assessment.pptx

Calton pu experimental methods on performance in cloud and accuracy in big data analytics

  • 1. Experimental Methods on Performance in Clouds, … Calton Pu CERCS and School of Computer Science Georgia Institute of Technology 1
  • 2. 2 Ancestors of Clouds (Hardware)  Data processing centers (~1960s)  Supercomputers, Grids (~1970s)  P2P, SETI@Home (~1999), botnets  Utility computing and data centers (~2000s)
  • 3. Modern Clouds  Amazon data centers in early 2000s was only at 10% capacity – introduction of Amazon Web Service (AWS) in 2006  2007 – Google & IBM join Cloud Computing research (NSF), Microsoft joins in 2010, NSFCloud in 2014 3
  • 4. Cloud & Big Data (company) 4  Google Inc  Third market cap in the world ($390B in 2014)  Probably more data than anyone else  13 declared data centers around the world; drawing 260MW in 2011 (2,259,998 MWh total).
  • 5. Cloud & Big Data (government) 5  NSA (maybe more than Google)  Utah Data Center, drawing 65MW (about half of Salt Lake City)
  • 8. Cloud Service Models  Software as a Service (SaaS) [not covered]  Use provider’s applications over a network  Example: Salesforce.com  Platform as a Service (PaaS) [not covered]  Use system-level services (e.g., database) to develop and deploy customer applications  Example: Google App Engine, MS Azure  Infrastructure as a Service (IaaS)  Rent processing, storage, network  Example: Amazon EC2, Emulab 8
  • 9. Amazon EC2 (circa 2010)  Elastic Block Store, CloudWatch, Automated Scaling 9 Instance Type Memory Compute (1GHz virt) Local Storage Data Price (hour) Std Small 1.7 GB 1 X 1 160 GB 32b $0.085 Std Large 7.5 GB 2 X 2 850 GB 64-bit $0.34 Std X-Large 15.0 GB 4 X 2 1.7 TB 64-bit $0.68 High Memory X-L 17.1 GB 2 X 3.25 420 GB 64-bit $0.50 High Memory DB X-L 34.2 GB 4 X 3.25 850 GB 64-bit $1.00 High Memory QD X-L 68.4 GB 8 X 3.25 1.7 TB 64-bit $2.00 High CPU Medium 1.7 GB 2 X 2.5 350 GB 32-bit $0.17 High CPU X-L 7.0 GB 8 X 2.5 1.7 TB 64-bit $0.68 Cluster Compute X-L 23 GB 33.5 1.7 TB 64-bit $1.60
  • 10. AWS Free Tier  New AWS customers can get started with Amazon EC2 for free. Each month for 1 year:  750 hours of EC2 running Linux, RHEL, or SLES t2.micro  750 hours of EC2 running MS Windows Server t2.micro  750 hours of Elastic Load Balancing plus 15 GB data  30 GB of Amazon Elastic Block Storage in any combination of General Purpose (SSD) or Magnetic, plus 2 million I/Os and 1 GB of snapshot storage  15 GB of bandwidth out  1 GB of Regional Data Transfer 10
  • 11. Resources Available for Experiments  Our own cluster (about 50 nodes)  GT/CERCS cluster (about 800 nodes)  Emulab (Utah), PROBE (CMU)  A few hundreds nodes, a few dozen available  CloudLab replaces Emulab (May 2015)  Other partner clusters in companies and universities 11
  • 12. Challenges in Cloud Adoption  From user’s point of view  Data security/privacy (in a public cloud)  Performance concerns  From provider’s point of view  Up-front hardware costs high, rapid aging  Hardware capacity generally under-utilized  Low scalability of most enterprise applications  Negotiating SLA contracts and price structures 12
  • 13. Cloud Management Challenge  High utilization brings higher ROI  Achievable by predictable/stationary workloads  Mission-critical applications need SLA  Resource Utilization Paradox  Good ROI requires high utilization (many papers on consolidation claim >90% utilization)  Consistent reports of 18% average utilization  Cloud management is more challenging than we hoped initially 13
  • 14. Representative Cloud Workloads  Cloud workload – amount of processing that a cloud has to do at a given time  Use workloads to test a particular type of application  Types of workloads:  E-commerce  OLTP  Forum/Message board  Web 2.0 application  MapReduce 14
  • 15. 15 Example 1: RUBiS Benchmark  E-commerce applications (eBay auctions)  N-tier (3 or more tiers): web servers, application servers, database servers  26 web interactions, requiring sophisticated models, e.g., Layered Queuing Network Models
  • 16. 16 Typical Execution Environment Client Browsers Tomcat Servlet Engines MySQL DB Servers Apache Web Servers HTTP AJP13 JDBC Hardware resource Xen Hypervisor D0 VM1 VM2 VM3 Hardware resource Host OS Hypervisor Hardware resource Host OS Hypervisor Virtual Mgm. Inferface
  • 17. 17 Meta-Model of RUBiS  Layered Queuing Network Model of RUBiS (3-Tier): one for each of 26 interactions; total of 78 sub-models
  • 18. 18 Web Server Sub-Model  3-tier: simplest implementation of RUBiS  AboutMe (1 of 26), customized for 3-tier
  • 19. Challenges in Modeling  Layered Queuing Network Models become very complex even for “simple” n-tier applications  Experiments are needed anyway  Setting the values for various sub-models  Need detailed experiments for a variety of configurations  Let’s try “pure” experiments 19
  • 20. 20 Example 2: RUBBoS Benchmark  Another e-commerce workload  Bulletin Board (Slashdot)  DB server bottleneck, C-JDBC as load balancer  24 web interactions  Configuration notation: 1-2-1-9  1 web server, 2 app servers, 1 C-JDBC server, 9 DB servers  Emulab (a relatively modest testbed)
  • 24. 24 Low end DB server Experiment Design Web server 1 App server 1-3 C- JDBC 1 DB server 1-9 MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All Normal DB server
  • 25. 25 MySQL Throughput (Low-Cost) Better scalability (different query processing strategies) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 26. What’s Different about Clouds (1) Traditional benchmarks  Static configuration: HW, SW, workload range  Find the “best tuning” to achieve highest throughput Cloud benchmarks  Dynamic and many configurations  Find representative throughput and response time for each configuration (reproducible results by other users) 26
  • 27. 27 MySQL Throughput for R/W Mix (read one, write all) 0 100 200 300 400 500 600 Throughput(ops/s) Workload 1-1-1-8ML 1-2-1-4ML 1-2-1-5ML 1-2-1-6ML 1-2-1-7ML 1-2-1-9ML 1-3-1-9ML MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 28. 28 1-2-1-9ML Configuration Data  Clear bottleneck indicated by leveled performance (previous slide)  All high workloads (more than 4000)  Same leveling for other configurations  Average resource consumption on DB servers quite low (CPU and disk I/O) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 29. 29 Web Server CPU Utilization (1-2-1-9ML) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 30. 30 Application Server CPU Utilization (one of 1-2-1-9ML) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 31. 31 C-JDBC Server CPU Utilization (1-2-1-9ML) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 32. 32 DB Server CPU Utilization (one of 1-2-1-9ML) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 33. 33 DB Server Disk I/O Bandwidth Utilization (one of 1-2-1-9ML) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 34. 34 Observations on 1-2-1-9ML  No CPU bottlenecks anywhere  Disk I/O bandwidth on the DB servers has a slight peak at the high value spectrum boundary  An infrequent disk I/O bottleneck, which cannot explain the observed lack of overall system performance MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 35. 36 Maximum of Disk I/O Bandwidth Utilization (all of 1-2-1-9ML) MySQL Browse- only Read- Write Wait- 1st Wait- All PostgreSQL Browse- only Read- Write Wait- 1st Wait- All DB server
  • 36. What’s Different about Clouds (2) Traditional benchmarks  Balanced configuration: near-full utilization of all resources for a stable workload  Single bottleneck, high average utilization Cloud benchmarks  Almost always start all low utilization  No stable bottlenecks  Often stays with all low average utilization, but performance remains low  Found new phenomenon: Multi-bottlenecks 37
  • 37. Why Automation?  Traditional benchmarks such as TPC and SPEC answer the question  For a given hardware/software configuration and workload, what is the highest achievable throughput?  In the cloud this become very difficult due to various dimensions:  Horizontal scalability  Vertical Scalability  Variety of software components 38
  • 38. Solution: Expertus  A framework for large-scale benchmark measurements through flexible automation of experiments.  It creates the scripts through a multi-stage code generation process.  Easy to plug new benchmarks and clouds  Enables cloud measurements at a scale that is beyond manual management of benchmarks 39
  • 39. Experiment Summary  Over 500 different hardware configurations (i.e., varying node number and type)  Over 10,000 different software configurations (i.e., varying software and software setting).  Over 100,000 computing nodes in various cloud environments:  Emulab  Amazon EC2  Open Cirrus. 40
  • 41.  Many configuration variables  Many applications, clear differences among them  Many cloud offerings, non-obvious differences  Different software/hardware configurations may produce the same or different results  Experimental setup challenges  Dependencies among components  Systematic search through the potentially large configuration space Experimental Challenges 42
  • 42. 43 Elba: Automating Measurements 0 20 40 60 80 100 L/ L 2H/ L Analyzed Result 79.515.298.2/97.246.2/36.22H/H 98.221.397.3/98.236.4/46.62H/L 87.25.398.265.3H/H 98.322.398.766.8H/L 78.311.297.999.8L/L MemoryCPUMemoryCPU APPServerDBServer 79.515.298.2/97.246.2/36.22H/H 98.221.397.3/98.236.4/46.62H/L 87.25.398.265.3H/H 98.322.398.766.8H/L 78.311.297.999.8L/L MemoryCPUMemoryCPU APPServerDBServer Automated, Evolutionary Staging Cycle (0) Config. Design Deployment Scripts Mulini TBL Analyzer Monitors App Staging Deployment Workload Driver (1) Code Generation / Deployment System Under TestWorkload Drivers Monitor (3) Analyzer Monitor Monitor Monitor Evaluation / Analysis (4) Reconfiguration (2) Execution Automated Adaptation Benchmark specs Experiment Spec. Lang. Adapt. Cost
  • 43.  Automated Experiment Management  Through Extensible, Flexible and modular code generation  Extensibility  Extending the framework to support specification changes, new benchmarks, computing clouds, and software packages  Flexibility  Modification to input configuration or output configuration without changing the source code of the framework  Modularity  Consists of a number of components that may be mixed and matched in a variety of configurations 44 Benefits of Automation
  • 44.  Abstraction mapping.  External forces often drive changes  Standards formulation/adoption  Industry evolution  Internal forces drive changes  Goals, functionality refinement  Interoperable heterogeneity.  Heterogeneous clouds and applications  Flexible customization.  Experiment goals, API changes 45 Code Generation – Key Challenges
  • 45.  The code generator adopts a compiler approach of multiple serial transformation stages.  One type of transformation at any given stage (e.g., cloud, operating system, application etc…)  The number of stages is determined by the experiment, application, software stack, operating system, and cloud.  At each stage Expertus uses the intermediate XML document created from the previous stage as the input to the current stage. Expertus Approach 46
  • 47. Steps Inside a Stage 48
  • 48. An Example XSLT Template 49
  • 51.  Create experiment specification with the application, software packages, cloud and experiments.  Use Expertus and generate scripts.  Platform configuration sets up the target cloud.  Application deployment is to deploy the target application on the configured cloud.  Configure application correctly.  Main script runs the test plan, which in fact consists of multiple iterations.  Upload the resource monitoring and performance data to the data warehouse. Experiment Automation Process 52
  • 54.  Usability of the Tool.  How quickly a user can change an existing specification to run the same experiment with different settings  Generated Script Types and Magnitude.  Depends on the application, software packages, deployment platform, number of experiments.  Richness of the Tool.  Magnitude of completed experiments  Amount of different software packages, clouds, and applications it supports  Extensibility and Flexibility.  Supporting new clouds  Supporting new applications Evaluation Metrics 55
  • 55. Usability Specification change to Code changes Number of Nodes vs. Generated Code 56
  • 56.  Usability of the Tool.  How quickly a user can change an existing specification to run the same experiment with different settings  Generated Script Types and Magnitude.  Depends on the application, software packages, deployment platform, number of experiments.  Richness of the Tool.  Magnitude of completed experiments  Amount of different software packages, clouds, and applications it supports  Extensibility and Flexibility.  Supporting new clouds  Supporting new applications Evaluation Metrics 57
  • 58. 59 Complexity of the tool Table1: Number of Experiments Table2: Experiment size vs. NLOC
  • 59.  Usability of the Tool.  How quickly a user can change an existing specification to run the same experiment with different settings  Generated Script Types and Magnitude.  Depends on the application, software packages, deployment platform, number of experiments.  Richness of the Tool.  Magnitude of completed experiments  Amount of different software packages, clouds, and applications it supports  Extensibility and Flexibility.  Supporting new clouds  Supporting new applications Evaluation Metrics 60
  • 60. Adding a new Cloud Template Changes Changes in Generated Code 61
  • 61. Adding a new Application Template Changes Changes in Generated Code 62
  • 62. Adding a new DBMS Template Changes Changes in Generated Code 63
  • 63. Magnitude of Code per Node 64
  • 64.  Significant strides towards realizing flexible and scalable application testing for today’s complex cloud environments.  Over 500 different hardware configurations.  Over 10, 000 software configurations.  Five clouds (i.e., Emulab, EC2, Open Cirrus, Georgia Tech cluster, and Wipro)  Three representative applications (RUBBoS, RUBiS, and CloudStone) 65 Usability
  • 65.  Support new clouds, applications, and software packages with only a few template line changes.  8.21% of template line changes, to support Amazon EC2 once we had support for the Emulab cloud.  Caused a 25.35% change in the generated code for an application scenario with 18 nodes  Switching from the RUBBoS to the RUBiS required only a 5.66% template change 66 Flexibility and Extensibility
  • 66. Configuration Planning  Provider profit model (simplified) 67
  • 69. Data Refinement in CloudXplor 70
  • 70. Cloud Evaluation - CloudXplor 71
  • 73. Response Time Dist. (1-1-2 MySQL Cluster) 74
  • 75. Profit and Cost Analysis RUBBoS (R/W) 76
  • 77. Example: RUBBoS Benchmark  E-commerce applications (Slashdot Bulletin Board)  N-tier (3 or more tiers): web servers, application servers, database servers  26 web interactions, requiring sophisticated models, e.g., Layered Queuing Network Models 78
  • 78. RUBBoS 4 Tier Deployment 79
  • 82. Cloud Evaluation - Overview  Main idea  How and where to deploy your enterprise system in what scenario?  Automated empirical measurement and evaluation of alternative platforms, configurations, and architectures for n-tier apps in the cloud  Hardware platforms (IaaS)  Amazon EC2, Open Cirrus (HP), and Emulab  System software configurations  LAMP, MySQL Cluster (off-the-shelf RDBMS)  Application software  E-commerce application benchmarks (RUBBoS) 83
  • 83. Cloud Evaluation - Mapping 84
  • 84. Cloud Evaluation - Mapping 85
  • 85. Cloud Evaluation - Mapping 86
  • 86. Cloud Evaluation - Deployment 87
  • 87. Cloud Evaluation - Deployment 88
  • 88. Cloud Evaluation – Infrastruct. 89
  • 89. Fast-Forward A Few Years  Using the automated experiment generation infrastructure, we ran many thousands of experiments  We found several interesting phenomena  The best: Very Short Bottlenecks that cause Very Long Response-Time Requests 90
  • 90. Latency Long Tail Problem  At moderate CPU utilization levels (about 60% at 9000 users), 4% of requests take several seconds, instead of milliseconds 91
  • 91. Latency Long Tail: A Serious Research Challenge  No system resource is near saturation  Very Long Response Time (VLRT) requests start to appear at moderate utilization levels (often at 50% or lower)  VLRT requests themselves are not bugs:  They only take milliseconds when run by themselves  Each run presents different VLRT requests  VLRT requests appear and disappear too quickly for most monitoring tools 92
  • 92. Big Data & Clouds Need Automation  Experimental approaches  Often the only choice (modeling too complex)  Abundant resource availability  Many configurations mean many experiments and measurements  Automated experiment generation, execution, monitoring, and analysis  Very interesting phenomena found (VSB) 93
  • 93. End of Session  Any Questions?  Calton Pu (calton@cc.gatech.edu) 94