Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds
description
Transcript of Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds
![Page 1: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/1.jpg)
Variations in Performance and Scalability when Migrating n-Tier Applications to
Different Clouds
Deepal Jayasinghe, Simon Malkowski, Qingyang Wang, Jack Li, Pengcheng Xiong, Calton Pu
![Page 2: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/2.jpg)
Outline Motivation Experiment setup Results on Emulab/ Open Cirrus Results on EC2
Horizontal scalability Vertical Scalability
Issue 1 : Multi-threading overhead Issue 2 : Network driver overhead Conclusion
![Page 3: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/3.jpg)
Motivation Clouds are much popular, but not a mature
technology. More experimental studies are needed to better
understand them. N-Tier applications are complex and migrating
them to clouds is a non-trivial task.
We analyzed the performance and scalability when migrating n-tier
applications from a traditional datacenter to an Infrastructure as a Service (IaaS)
cloud.
![Page 4: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/4.jpg)
Experiment Setup RUBBoS benchmark
Bulletin board system like Slashdot (www.slashdot.org)
Typical 3-tier or 4-tier architecture
Two types of workload Browsing only Read/Write mix
24 web interactions
MySQL Cluster Middleware for database
scale-out Multi-master In-memory
RUBBoS Deployment Topology with MySQL Cluster
![Page 5: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/5.jpg)
Experiment Environment - Emulab• Emulab (http://www.emulab.net)– Relatively modest testbed originally for
network research– Virtual network & physical machines (not VM)
Hardware Specifications
Server type PC3000 in Emulab
Processor Xeon 3GHz 64bit
Memory 2GB
Network 1Gbps
Disk 2 x 146GB 10,000rpm
![Page 6: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/6.jpg)
Experiment Environment – Open Cirrus Open Cirrus (https://opencirrus.org/)
Open cloud-computing research testbed Designed to support research into the design,
provisioning, and management of services at a global, multi-datacenter scale.
Hardware Specifications
Server type X3210
Processor 3.00GHz (Quad Core)
Memory 7.5 GB
Network InfiniBand
![Page 7: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/7.jpg)
Experiment Environment – Amazon EC2 Amazon EC2 – (http://aws.amazon.com/ec2/)
An Elastic Compute Cloud that provides resizable compute capacity in the cloud.
It is designed to make web-scale computing easier for developers.
Node Type CPU Memory Platform Price/Hour
Small 1 EC2 Unit1 1.7 GB 32 bit $ 0.085
Large 4 EC2 Unit 7.5 GB 64 bit $ 0.34
Ex-Large 8 EC2 Unit 15 GB 64 bit $ 0.68
Cluster 33.5 EC2 Unit
23 GB 64 bit $ 1.60
1: EC2 Unit = 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor
![Page 8: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/8.jpg)
Software Settings
Function Software
Web server Apache 2.0.54
Application server Apache Tomcat 5.5.17
DB clustering middleware MySQL Cluster -5.0.51a
Java Sun jdk1.6.0_14
Operating system FC4 / FC8
System Monitor dstat
![Page 9: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/9.jpg)
Summary of Experiments
Type Emulab Open Cirrus Amazon EC2
Experiments
8124 430 1436
Node 95682 4480 25846
Configurations
342 23 86
Data points 3210.6 M 2.3 M 672 M
Automated experiment management approach (Elba1)
1: http://www.cc.gatech.edu/systems/projects/Elba/
![Page 10: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/10.jpg)
Notation We use the notation #W-#A-#S-#D-p
#W – Number of Web server (all experiments in this paper with one Web server)
#A – Number of Application servers #S – Number of SQL nodes #D – Number of Data nodes p – Platforms (em- for Emulab, oc – for Open
Cirrus, ec2- for EC2) 1-2-2-2-em
Emulab configuration with 1-Apache, 2-Tomcats, 2-SQL nodes and 2-Data nodes
![Page 11: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/11.jpg)
Performance on Emulab
1000 2000 3000 4000 5000 6000 70000
100
200
300
400
500
600
700
800
1-2-2-2-em1-2-2-4-em1-4-16-16-em
# Users
Th
rou
gh
pu
t (R
eq
/Sec)
Improvement
Improvement
![Page 12: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/12.jpg)
Performance on Open Cirrus
4000 5000 6000 7000 8000 9000 10000500
550
600
650
700
750
800
850
900
1-2-2-2-oc1-2-2-4-oc1-2-2-8-oc
# Users
Th
rou
gh
pu
t (R
eq
/Sec)
Improvement
Improvement
![Page 13: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/13.jpg)
Performance on EC2
1000 2000 3000 4000 5000 6000 7000 80000
50
100
150
200
250
300
350
400
1-2-2-2-ec21-2-2-4-ec21-2-2-8-ec2
# Users
Th
rou
gh
pu
t (R
eq
/Sec) Degradation
Degradation
On Large instances
![Page 14: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/14.jpg)
CPU Utilization (1-2-2-2)
Tomcat MySQL Data Node
EC
2Em
ula
b
![Page 15: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/15.jpg)
Vertical Scalability on EC2
1000 2000 3000 4000 5000 6000 7000 80000
100
200
300
400
500
600
700
1-2-2-2-small1-2-2-2-large1-2-2-2-exlarge1-2-2-2-cluster
# Users
Th
rou
gh
pu
t (R
eq
/Sec) Improvemen
t
Improvement
Improvement
![Page 16: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/16.jpg)
Summary Emulab and Open Cirrus show better
horizontal scalability EC2 show good vertical scalability, but not
better horizontal scalability
Our analysis resulted in two findings: Multi-threading overhead Network driver overhead
![Page 17: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/17.jpg)
Multi-Threading Overhead
![Page 18: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/18.jpg)
End-to-End Response Time
Web Server End-to-EndClient End-to-End
![Page 19: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/19.jpg)
Differences in Response Time
1000 2000 3000 4000 5000 6000 7000 8000 90000
5
10
15
20
25
Web-ServerRUBBoS Client
# Users
Reesp
on
se T
ime (
s)
Time differences
![Page 20: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/20.jpg)
Context Switching (using LMBench)
10 20 40 60 80 100 150 200 250 300 350 4000
10
20
30
40
50
60
70
EmulabEC2
# Threads
Tim
e p
er
sw
itch
s (
mic
ro s
econ
d)
![Page 21: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/21.jpg)
Number of Context Switches
1000 2000 3000 4000 5000 6000 7000 8000 90000
500
1000
1500
2000
2500
3000
3500
4000
4500
EC2Emulab
# Users
Con
text
Sw
itch
es
![Page 22: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/22.jpg)
CPU Percentage
1000 2000 3000 4000 5000 6000 7000 8000 90000
2
4
6
8
10
12
14
EmulabEC2
# Users
CP
U P
erc
en
tag
e [
%]
![Page 23: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/23.jpg)
Issues and Solution Overall throughput and number of context
switches are related But, in EC2 we get less switches and similar
overhead as Emulab When the number of threads is higher the
cloud become unstable Solutions:
Rent more instances (Like fixing memory leaks by increasing the heap size )
Re-write the application E.g., reduce the number of threads
![Page 24: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/24.jpg)
With our Solution
1000 2000 3000 4000 5000 6000 7000 8000 90000
5
10
15
20
25
Web-ServerRUBBoS ClientRUBBoS Client with reduced threads
# Users
Resp
on
se T
ime [
s]
Improvement
![Page 25: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/25.jpg)
Solution - Improvements
1000 2000 3000 4000 5000 6000 7000 8000 90000
50
100
150
200
250
300
350
400
450
Orginal client
# Users
Th
rou
gh
pu
t [R
eq
/Sec]
Improvement
![Page 26: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/26.jpg)
Network Driver Overhead
![Page 27: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/27.jpg)
Data Node Send Queue
1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
1000
2000
3000
4000
5000
6000
7000
1-2-2-4-ec21-2-2-4-em
# Users
Qu
eu
e S
ize (
B)
![Page 28: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/28.jpg)
Ping-Pong Time without a Load
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 1210
0.05
0.1
0.15
0.2
0.25
0.3
emulabEC2
Duration
Rou
nd
Tri
p t
ime (
ms)
![Page 29: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/29.jpg)
Ping-Pong with a Load
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 1061131200
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
emulabEC2
Duration
Rou
nd
Tri
p t
ime (
ms)
![Page 30: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/30.jpg)
Solution Use network friendly database middleware
Reduce the pressure on the network Evaluated C-JDBC, an open source database
middleware Performed well and showed a very good scalability Reduce the network traffic significantly
![Page 31: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/31.jpg)
C-JDBC vs. MySQL Cluster Performance
1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
1400
CJDBCMySQL
# Users
Th
rou
gh
pu
t [R
eq
/Sec]
![Page 32: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/32.jpg)
C-JDBC vs. MySQL Cluster Network Traffic
1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
5000000
10000000
15000000
20000000
25000000
30000000
35000000
C-JDBCMYSQL
# Users
Data
Tra
nsfe
red
[M
B/s
]
![Page 33: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/33.jpg)
Conclusion & Future works Studied the performance and scalability
variations when migrating n-tier applications to clouds.
Our results show, that cloud are new and need more experimental studies to better understand them.
More specifically, application re-design is needed to handle cloud challenges.
Future works Extend our analysis into other clouds (e.g., Wipro) Micro level study to dig deep into observe
phenomena With other database monument systems (e.g.,
Oracle, DB2)
![Page 34: Variations in Performance and Scalability when Migrating n-Tier Applications to Different Clouds](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c2361c4a7959365b8b4587/html5/thumbnails/34.jpg)