Variations in Performance and Scalability when Migrating n-tier Applications to Different Clouds



Similar documents
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

The Impact of Soft Resource Allocation on n-tier Application Scalability

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Dynamic Resource allocation in Cloud

Exploring Amazon EC2 for Scale-out Applications

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Scaling Database Performance in Azure

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Amazon EC2 XenApp Scalability Analysis

Business white paper. HP Process Automation. Version 7.0. Server performance

Elastic Cloud Computing in the Open Cirrus Testbed implemented via Eucalyptus

Run-time Resource Management in SOA Virtualized Environments. Danilo Ardagna, Raffaela Mirandola, Marco Trubian, Li Zhang

Oracle Database Scalability in VMware ESX VMware ESX 3.5

OTM in the Cloud. Ryan Haney

Building a Private Cloud with Eucalyptus

Yahoo! Cloud Serving Benchmark

Affinity Aware VM Colocation Mechanism for Cloud

Liferay Portal s Document Library: Architectural Overview, Performance and Scalability

Scaling in a Hypervisor Environment

How To Test For Performance And Scalability On A Server With A Multi-Core Computer (For A Large Server)

Performance Analysis of Web based Applications on Single and Multi Core Servers

Enabling Technologies for Distributed and Cloud Computing

A Middleware Strategy to Survive Compute Peak Loads in Cloud

Cloud Computing through Virtualization and HPC technologies

Using VMware VMotion with Oracle Database and EMC CLARiiON Storage Systems

A Micro-benchmark Suite for Evaluating Hadoop RPC on High-Performance Networks

<Insert Picture Here> Introducing Oracle VM: Oracle s Virtualization Product Strategy

Performance brief for IBM WebSphere Application Server 7.0 with VMware ESX 4.0 on HP ProLiant DL380 G6 server

Introducing EEMBC Cloud and Big Data Server Benchmarks

Centrata IT Management Suite 3.0

PipeCloud : Using Causality to Overcome Speed-of-Light Delays in Cloud-Based Disaster Recovery. Razvan Ghitulete Vrije Universiteit

Performance Analysis: Benchmarking Public Clouds

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Network performance in virtual infrastructures

Removing Performance Bottlenecks in Databases with Red Hat Enterprise Linux and Violin Memory Flash Storage Arrays. Red Hat Performance Engineering

System Requirements Table of contents

<Insert Picture Here> Oracle In-Memory Database Cache Overview

Scaling from Datacenter to Client

Can High-Performance Interconnects Benefit Memcached and Hadoop?

MakeMyTrip CUSTOMER SUCCESS STORY

DELL. Virtual Desktop Infrastructure Study END-TO-END COMPUTING. Dell Enterprise Solutions Engineering

Enabling Technologies for Distributed Computing

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Elastic VM for Rapid and Optimum Virtualized

Minimum Hardware Configurations for EMC Documentum Archive Services for SAP Practical Sizing Guide

Convergence-A new keyword for IT infrastructure transformation

Dependency Free Distributed Database Caching for Web Applications and Web Services

Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings

Het is een kleine stap naar een hybrid cloud

Microsoft Office SharePoint Server 2007 Performance on VMware vsphere 4.1

Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study

ORACLE INFRASTRUCTURE AS A SERVICE PRIVATE CLOUD WITH CAPACITY ON DEMAND

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

Oracle TimesTen In-Memory Database on Oracle Exalogic Elastic Cloud

Determining Overhead, Variance & Isola>on Metrics in Virtualiza>on for IaaS Cloud

Dragon Medical Enterprise Network Edition Technical Note: Requirements for DMENE Networks with virtual servers

CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms

Running R from Amazon's Elastic Compute Cloud

Auto-Scaling Model for Cloud Computing System

Dell Virtualization Solution for Microsoft SQL Server 2012 using PowerEdge R820

An Oracle White Paper August Oracle VM 3: Server Pool Deployment Planning Considerations for Scalability and Availability

Muse Server Sizing. 18 June Document Version Muse

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Overview: X5 Generation Database Machines


WebLogic on Oracle Database Appliance: Combining High Availability and Simplicity

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

bla bla OPEN-XCHANGE Open-Xchange Hardware Needs

SMB Direct for SQL Server and Private Cloud

Where IT perceptions are reality. Test Report. OCe14000 Performance. Featuring Emulex OCe14102 Network Adapters Emulex XE100 Offload Engine

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

IBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud

Web Server Software Architectures

White Paper. Cloud Native Advantage: Multi-Tenant, Shared Container PaaS. Version 1.1 (June 19, 2012)

How To Use An Org.Org Cloud System For A Business

Performance measurement of a private Cloud in the OpenCirrus Testbed

Virtualization Performance on SGI UV 2000 using Red Hat Enterprise Linux 6.3 KVM

Agility Database Scalability Testing

Migrating from Amazon AWS to OpenStack

Sheepdog: distributed storage system for QEMU

CloudFTP: A free Storage Cloud

Figure 1. The cloud scales: Amazon EC2 growth [2].

How swift is your Swift? Ning Zhang, OpenStack Engineer at Zmanda Chander Kant, CEO at Zmanda

Performance characterization report for Microsoft Hyper-V R2 on HP StorageWorks P4500 SAN storage

Transcription:

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

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

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.

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

Experiment Environment - Emulab Emulab (http://www.emulab.net) Relatively modest testbed originally for network research Virtual network & physical machines (not VM) Hardware Server type Processor Memory Network Disk Specifications PC3000 in Emulab Xeon 3GHz 64bit 2GB 1Gbps 2 x 146GB 10,000rpm

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 Server type Processor Memory Network Specifications X3210 3.00GHz (Quad Core) 7.5 GB InfiniBand

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 Unit 1 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

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

Summary of Experiments Automated experiment management approach (Elba 1 ) 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 1: http://www.cc.gatech.edu/systems/projects/elba/

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

Throughput (Req/Sec) Performance on Emulab 800 700 600 Improvement 500 400 300 Improvement 1-2-2-2-em 1-2-2-4-em 1-4-16-16-em 200 100 0 1000 2000 3000 4000 5000 6000 7000 # Users

Throughput (Req/Sec) Performance on Open Cirrus 900 850 800 Improvement 750 Improvement 700 650 1-2-2-2-oc 1-2-2-4-oc 1-2-2-8-oc 600 550 500 4000 5000 6000 7000 8000 9000 10000 # Users

Throughput (Req/Sec) Performance on EC2 400 350 300 Degradation 250 200 150 Degradation 1-2-2-2-ec2 1-2-2-4-ec2 1-2-2-8-ec2 100 On Large instances 50 0 1000 2000 3000 4000 5000 6000 7000 8000 # Users

CPU Utilization (1-2-2-2) EC2 Emulab Tomcat MySQL Data Node

Throughput (Req/Sec) Vertical Scalability on EC2 700 600 500 Improvement 400 300 200 Improvement Improvement 1-2-2-2-small 1-2-2-2-large 1-2-2-2-exlarge 1-2-2-2-cluster 100 0 1000 2000 3000 4000 5000 6000 7000 8000 # Users

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

Multi-Threading Overhead

End-to-End Response Time Client End-to-End Web Server End-to-End

Reesponse Time (s) Differences in Response Time 25 20 15 10 Web-Server RUBBoS Client Time differences 5 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 # Users

Time per switchs (micro second) Context Switching (using LMBench) 70 60 50 40 30 Emulab EC2 20 10 0 10 20 40 60 80 100 150 200 250 300 350 400 # Threads

Context Switches Number of Context Switches 4500 4000 3500 3000 2500 2000 1500 EC2 Emulab 1000 500 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 # Users

CPU Percentage [%] CPU Percentage 14 12 10 8 6 Emulab EC2 4 2 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 # Users

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 application become unstable in EC2 Solutions: Rent many instances Re-write the application with less number of threads

Response Time [s] With our Solution 25 20 Web-Server RUBBoS Client RUBBoS Client with reduced threads 15 10 5 Improvement 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 # Users

Throughput [Req/Sec] Solution - Improvements 450 400 350 300 Improvement 250 200 150 100 50 0 Orginal client Client-with reduced threads 1000 2000 3000 4000 5000 6000 7000 8000 9000 # Users

Network Driver Overhead

Queue Size (B) Data Node Send Queue 7000 6000 5000 4000 3000 1-2-2-4-em 1-2-2-4-ec2 2000 1000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 # Users

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 Round Trip time (ms) Ping-Pong Time without a Load 0.3 0.25 0.2 0.15 0.1 emulab EC2 0.05 0 Duration

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 Round Trip time (ms) Ping-Pong with a Load 1 0.9 0.8 0.7 0.6 0.5 0.4 emulab EC2 0.3 0.2 0.1 0 Duration

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

Throughput [Req/Sec] C-JDBC vs. MySQL Cluster Performance 1400 1200 1000 800 600 CJDBC MySQL 400 200 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 # Users

Data Transfered [MB/s] C-JDBC vs. MySQL Cluster Network Traffic 35 30 25 20 15 C-JDBC MYSQL 10 5 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 # Users

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)