Towards Predictable Data Centers Why Johnny can’t use the cloud and what we can do about it? Hitesh Ballani, Paolo Costa, Thomas Karagiannis, Greg O’Shea.

Slides:



Advertisements
Similar presentations
The Only Constant is Change: Incorporating Time-Varying Bandwidth Reservations in Data Centers Di Xie, Ning Ding, Y. Charlie Hu, Ramana Kompella 1.
Advertisements

Towards Predictable Datacenter Networks
2  Industry trends and challenges  Windows Server 2012: Beyond virtualization  Complete virtualization platform  Improved scalability and performance.
The Case for Enterprise Ready Virtual Private Clouds Timothy Wood, Alexandre Gerber *, K.K. Ramakrishnan *, Jacobus van der Merwe *, and Prashant Shenoy.
Take your CMS to the cloud to lighten the load Brett Pollak Campus Web Office UC San Diego.
ElasticTree: Saving Energy in Data Center Networks Brandon Heller, Srini Seetharaman, Priya Mahadevan, Yiannis Yiakoumis, Puneed Sharma, Sujata Banerjee,
Cloud Computing to Satisfy Peak Capacity Needs Case Study.
1 Vladimir Knežević Microsoft Software d.o.o.. 80% Održavanje 80% Održavanje 20% New Cost Reduction Keep Business Up & Running End User Productivity End.
1 Efficient and Robust Streaming Provisioning in VPNs Z. Morley Mao David Johnson Oliver Spatscheck Kobus van der Merwe Jia Wang.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Performance Anomalies Within The Cloud 1 This slide includes content from slides by Venkatanathan Varadarajan and Benjamin Farley.
A Flexible Model for Resource Management in Virtual Private Networks Presenter: Huang, Rigao Kang, Yuefang.
Web RoleWorker Role At runtime each Role will execute on one or more instances A role instance is a set of code, configuration, and local data, deployed.
Faith Allington Program Manager Microsoft Corporation Session Code: WSV304.
Reciprocal Resource Fairness: Towards Cooperative Multiple-Resource Fair Sharing in IaaS Clouds School of Computer Engineering Nanyang Technological University,
“It’s going to take a month to get a proof of concept going.” “I know VMM, but don’t know how it works with SPF and the Portal” “I know Azure, but.
Course Name- CSc 8320 Advanced Operating Systems Instructor- Dr. Yanqing Zhang Presented By- Sunny Shakya Latest AOS techniques, applications and future.
Xavier León PhD defense
Ashish Gupta Under Guidance of Prof. B.N. Jain Department of Computer Science and Engineering Advanced Networking Laboratory.
Application Models for utility computing Ulrich (Uli) Homann Chief Architect Microsoft Enterprise Services.
FI-WARE – Future Internet Core Platform FI-WARE Cloud Hosting July 2011 High-level description.
A General approach to MPLS Path Protection using Segments Ashish Gupta Ashish Gupta.
1 Exploring Data Reliability Tradeoffs in Replicated Storage Systems NetSysLab The University of British Columbia Abdullah Gharaibeh Matei Ripeanu.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Center Traffic Management COS 597E: Software Defined Networking.
TitleEfficient Timing Channel Protection for On-Chip Networks Yao Wang and G. Edward Suh Cornell University.
Additional SugarCRM details for complete, functional, and portable deployment.
1 Exploring Data Reliability Tradeoffs in Replicated Storage Systems NetSysLab The University of British Columbia Abdullah Gharaibeh Advisor: Professor.
WINDOWS AZURE Scott Guthrie Corporate Vice President Windows Azure Application Platform.
A User Experience-based Cloud Service Redeployment Mechanism KANG Yu.
Network Sharing Issues Lecture 15 Aditya Akella. Is this the biggest problem in cloud resource allocation? Why? Why not? How does the problem differ wrt.
Virtual Network Mapping: A Graph Pattern Matching Approach Yang Cao 1,2, Wenfei Fan 1,2, Shuai Ma University of Edinburgh 2 Beihang University.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Department of Computer Science Engineering SRM University
Virtual Machine Hosting for Networked Clusters: Building the Foundations for “Autonomic” Orchestration Based on paper by Laura Grit, David Irwin, Aydan.
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
Network Aware Resource Allocation in Distributed Clouds.
The Only Constant is Change: Incorporating Time-Varying Bandwidth Reservations in Data Centers Di Xie, Ning Ding, Y. Charlie Hu, Ramana Kompella 1.
Yu-Liang Liu1 On the Bandwidth Management for Hose-Model VPN Service GRADUATE INSTITUTE OF INFORMATION MANAGEMENT NATIONAL TAIWAN UNIVERSITY.
Cloud Scale Performance & Diagnosability Comprehensive SDN Core Infrastructure Enhancements vRSS Remote Live Monitoring NIC Teaming Hyper-V Network.
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
IBM T. J. Watson Research © 2004 IBM Corporation On Scalable Storage Area Network(SAN) Fabric Design Algorithm Bong-Jun Ko (Columbia University) Kang-Won.
The Only Constant is Change: Incorporating Time-Varying Bandwidth Reservations in Data Centers Di Xie, Ning Ding, Y. Charlie Hu, Ramana Kompella 1.
Network-Aware Scheduling for Data-Parallel Jobs: Plan When You Can
Surviving Failures in Bandwidth Constrained Datacenters Authors: Peter Bodik Ishai Menache Mosharaf Chowdhury Pradeepkumar Mani David A.Maltz Ion Stoica.
Symbiotic Routing in Future Data Centers Hussam Abu-Libdeh Paolo Costa Antony Rowstron Greg O’Shea Austin Donnelly MICROSOFT RESEARCH Presented By Deng.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
Presented by Qifan Pu With many slides from Ali’s NSDI talk Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, Ion Stoica.
Data Centers and Cloud Computing 1. 2 Data Centers 3.
6.888 Lecture 6: Network Performance Isolation Mohammad Alizadeh Spring
Shuihai Hu, Wei Bai, Kai Chen, Chen Tian (NJU), Ying Zhang (HP Labs), Haitao Wu (Microsoft) Sing Hong Kong University of Science and Technology.
R2C2: A Network Stack for Rack-scale Computers Paolo Costa, Hitesh Ballani, Kaveh Razavi, Ian Kash Microsoft Research Cambridge EECS 582 – W161.
Microsoft Virtual Academy. Microsoft Virtual Academy First HalfSecond Half (01) Introduction to Microsoft Virtualization(05) Hyper-V Management (02) Hyper-V.
Microsoft Build /1/2017 1:25 AM Azure Batch
Chen Qian, Xin Li University of Kentucky
Introduction to Windows Azure AppFabric
Chris Cai, Shayan Saeed, Indranil Gupta, Roy Campbell, Franck Le
Improving Datacenter Performance and Robustness with Multipath TCP
Infrastructure Provisioning Kenon Owens Sr
Cloud Database Based on SQL Server 2012 Technologies
CloudMirror: Application-Driven Bandwidth Guarantees in Datacenters
TechReady 16 1/12/2019 MDC-B351 How to Design and Configure Networking in Microsoft System Center Part 2 of 2 Greg Cusanza Senior Program Manager, Microsoft.
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
Upgrading Your Private Cloud with Windows Server 2012 R2
Microsoft Virtual Academy
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Towards Predictable Datacenter Networks
Microsoft Virtual Academy
Presentation transcript:

Towards Predictable Data Centers Why Johnny can’t use the cloud and what we can do about it? Hitesh Ballani, Paolo Costa, Thomas Karagiannis, Greg O’Shea and Ant Rowstron Microsoft Research, Cambridge

Cloud computing

Data centers

Predictable Data Centers Project goal: Enable predictable application performance in multi-tenant datacenters Multi-tenant data center is a data center with multiple (possibly competing) tenants Multi-tenant datacenters  Private datacenters  Run by organizations like Facebook, Intel, etc.  Tenants: Product groups and applications  Cloud datacenters  Amazon EC2, Microsoft Azure, Rackspace, etc.  Tenants: Users renting virtual machines

Cloud datacenters 101 Simple interface: Tenants ask for a set of VMs Virtual Machines (VMs) per hour ► Tenants are charged for Virtual Machines (VMs) per hour ► Microsoft Azure small VMs: $0.08/hour Web Interface Tenant Request VMs Problem Application performance in cloud settings is unpredictable!

The problem of unpredictability Enterprise Map Reduce Job Results Data analytics on an isolated cluster Completion Time 4 hours Data analytics in a multi-tenant datacenter Map Reduce Job Results Datacenter Completion Time hours Variable costs Expected cost (based on 4 hour completion time) = $100 Actual cost = $ Unpredictability of application performance and tenant costs is a key hindrance to cloud adoption

Why is tenant performance unpredictable? Network bandwidth between virtual machines can vary significantly Key contributor to unpredictable application performance shared amongst tenants Internal network is shared amongst tenants

Performance variability in the wild Up to 5x variability Study ProviderDuration A[Giurgui’10]Amazon EC2n/a B[Schad’10]Amazon EC231 days C/D/E[Li’10](Azure, EC2, Rackspace)1 day F/G[Yu’10]Amazon EC21 day H[Mangot’09]Amazon EC21 day

Oktopus Enable guaranteed network performance

Oktopus Extend the tenant-provider interface to account for the network Contributions- Virtual network abstractions ► To capture tenant network demands Oktopus: Proof of concept system ► Implements virtual networks in multi-tenant datacenters ► Can be incrementally deployed today! Tenant Request # of VMs and network demands Request # of VMs and network demands VM 1 VM 2 VM N Virtual Network Key Idea: Tenants are offered a virtual network that gurantees network bandwidth across their VMs This decouples tenant performance from provider infrastructure

Key takeaway Exposing tenant network demands to providers enables a symbiotic tenant-provider relationship Tenants get predictable performance (and lower costs) Provider revenue increases

Talk Outline ► Introduction ► Virtual network abstractions ► Oktopus ► Allocating virtual networks ► Enforcing virtual networks ► Evaluation

What should the virtual network look like? Goal 1: Easier transition for tenants ► Tenants should be able to predict the performance of applications Goal 2: Provider flexibility ► Providers should be able to multiplex many tenants in their infrastructure These are competing design goals Our abstractions strive to strike a balance between them Request VM 1 VM 2 VM N Virtual Network Virtual to Physical Tenant

Abstraction 1: Virtual Cluster (VC) Motivation: In enterprises, tenants run applications on dedicated Ethernet clusters Request N VMs. Each VM can send and receive at B Mbps VM 1 VM N VM 2 B Mbps Virtual Switch Virtual cluster resembles typical enterprise networks Easier transition to the cloud for tenants  Moderate provider flexibility

Abstraction: Virtual Cluster VM 1VM 2VM N Physical Network B Mbps Outgoing flows for VM1 Aggregate rate should not exceed B Mbps Incoming flows for VM1 Aggregate rate should not exceed B Mbps Consider a tenant renting N virtual machines VMs are connected by physical data center network Virtual cluster A “virtual” network guarantees network performance Each VM gets an aggregate bandwidth guranty – VMs can send and receive at B Mbps

Abstraction 2: Virtual Oversubscribed Cluster (VOC) … VM 1VM S B Mbps Group 1 … VM 1 VM S B Mbps Group 2 … VM 1VM S B Mbps Group N/S …. B * S / O Mbps Group Virtual Switch Root Virtual Switch VMs can send traffic to group members at B Mbps VM N Motivation: Many applications moving to the cloud have localized communication patterns Applications are composed of groups with more traffic within groups than across groups Request N VMs in groups of size S. Oversubscription factor O. No oversubscription for intra-group communication Intra-group communication is the common case! Oversubscription factor O for inter-group communication (captures the sparseness of inter-group communication) VOC capitalizes on tenant communication patterns Suitable for typical applications (though not all) Improved provider flexibility

Oktopus in operation Tenant Request # of VMs and network demands Step 1: Admission control + VM placement ► Can network guarantees for the request be met? Step 2: Enforce virtual networks ► Ensure bandwidth guarantees are actually met

Talk Outline ► Introduction ► Virtual network abstractions ► Oktopus ► VM Placement ► Enforcing virtual networks ► Evaluation

Allocating Virtual Clusters Request : 100 Mbps Datacenter Physical Topology 4 physical machines, 2 VM slots per machine Tenant Request Tenant asks for 3 VMs arranged in a virtual cluster with 100 Mbps each, i.e. VM for an existing tenant An allocation of tenant VMs to physical machines Tenant traffic traverses the highlighted links What bandwidth needs to be reserved for the tenant on this link? Max Sending Rate = 2*100 = 200 Max Receive Rate = 1*100 = 100 B/W needed on link = Min (200, 100) = 100Mbps Link divides virtual tree into two parts Consider all traffic from the left to right part For a virtual cluster, bandwidth needed on a link that connects m VMs to the remaining (N-m) VMs is = Min (m, N-m) * B For a valid allocation: Bandwidth needed <= Link’s Residual Bandwidth How to find a valid allocation?

Allocation Algorithm Request : 100 Mbps Greedy allocation algorithm Traverse up the hierarchy and determine the lowest level at which all 3 VMs can be allocated How many VMs can be allocated to this machine? Constraints for # of VMs (m) that can be allocated to the machine- 1.VMs can only be allocated to empty slots  m <= VMs are requested  m <= 3 3.Enough b/w on outbound link  min (m, 3-m)*100 <= 200 Solution At most 1 VM for this tenant can be allocated here Key intuition Validity conditions can be used to determine the number of VMs that can be allocated to any level of the datacenter; machines, racks and so on 2 VMs 1 VM 2 VMs 3 VMs Allocation is fast and efficient Packing VMs together motivated by the fact that datacenter networks are typically oversubscribed Allocation can be extended for goals like failure resiliency, etc.

Talk Outline ► Introduction ► Virtual network abstractions ► Oktopus ► Allocating virtual networks ► Enforcing virtual networks ► Evaluation

Enforcing Virtual Networks Allocation algorithms assume No VM exceeds its bandwidth guarantees Enforcement of virtual networks ► To satisfy the above assumption ► Limit tenant VMs to the bandwidth specified by their virtual network ► Irrespective of the type of tenant traffic (UDP/TCP/...) ► Irrespective of number of flows between the VMs

Abstraction: Virtual Cluster VM 1VM 2VM N Physical Network B Mbps Outgoing flows for VM1 Aggregate rate should not exceed B Mbps Incoming flows for VM1 Aggregate rate should not exceed B Mbps Can be achieved by controlling the source sending rate Challenge: Control the rate of all sources sending to VM 1

Enforcement in Oktopus: Key highlights Oktopus enforces virtual networks at end hosts ► Use egress rate limiters at end hosts Oktopus can be deployed today ► No changes to tenant applications ► No network support ► Tenants without virtual networks can be supported ► Good for incremental roll out

Talk Outline ► Introduction ► Virtual network abstractions ► Oktopus ► Allocating virtual networks ► Enforcing virtual networks ► Evaluation

Evaluation Oktopus deployment ► On a 25-node testbed ► Benchmark Oktopus implementation ► Cross-validate simulation results Large-scale simulation ► Allows us to quantify the benefits of virtual networks at scale The use of virtual networks benefits both tenants and providers

Datacenter Simulator Flow-based simulator ► 16,000 servers and 4 VMs/server  64,000 VMs ► Three-tier network topology (10:1 oversubscription) Tenants submit requests for VMs and execute jobs ► Job: VMs process and shuffle data between each other Baseline: representative of today’s setup ► Tenants simply ask for VMs ► VMs are allocated in a locality-aware fashion Virtual network request ► Tenants ask for Virtual Cluster (VC) or Virtual Oversubscribed Cluster (VOC)

Private datacenters Execute a batch of 10,000 tenant jobs Jobs vary in network intensiveness (bandwidth at which a job can generate data) Jobs become more network intensive Worse Better Virtual networks improve completion time VC: 50% of Baseline VOC-10: 31% of Baseline VC is Virtual Cluster VOC-10 is Virtual Oversubscribed Cluster with oversubscription=10

Private datacenters With virtual networks, tenants get guaranteed network b/w Job completion time is bounded With Baseline, tenant network b/w can vary significantly  Job completion time varies significantly  For 25% of jobs, completion time increases by >280%  Lagging jobs hurt datacenter throughput Virtual networks benefit both tenants and provider Tenants: Job completion is faster and predictable Provider: Higher datacenter throughput

Cloud Datacenters Tenant job requests arrive over time Jobs are rejected if they cannot be accommodated on arrival (representative of cloud datacenters) Job requests arrive faster Worse Better Amazon EC2’s reported target utilization Rejected Requests Baseline: 31% VC: 15% VOC-10: 5%

Tenant Costs What should tenants pay to ensure provider revenue neutrality, i.e. provider revenue remains the same with all approaches Based on today’s EC2 prices, i.e. $0.085/hour for each VM Provider revenue increases while tenants pay less At 70% target utilization, provider revenue increases by 20% and median tenant cost reduces by 42%

Oktopus Deployment Implementation scales well and imposes low overhead ► Allocation of virtual networks is fast ► In a datacenter with 10 5 machines, median allocation time is 0.35ms ► Enforcement of virtual networks is cheap ► Use Traffic Control API to enforce rate limits at end hosts Deployment on testbed with 25 end hosts ► End hosts arranged in five racks

Oktopus Deployment Cross-validation of simulation results Completion time for jobs in the simulator matches that on the testbed

Summary Proposal: Offer virtual networks to tenants ► Virtual network abstractions ► Resemble physical networks in enterprises ► Make transition easier for tenants Proof of concept: Oktopus ► Tenants get guaranteed network performance ► Sufficient multiplexing for providers ► Win-win: tenants pay less, providers earn more! How to determine tenant network demands?

Bazaar Enables predictable performance and cost Tenant Job Request Perf/Cost constraints Provider Bazaar Resources Required VMs and network Resource Utilization Job Cost Today’s pricing: Resource-based Bazaar enables job-based pricing! Bazaar: Determines resources needed i.e., 25 VMs & 300 Mbps Tenant says: “Finish the job in 5 hours at a cost of £400”

Thank you

Backup slides ©2011 Microsoft Corporation. All rights reserved. This material is provided for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft is a registered trademark or trademark of Microsoft Corporation in the United States and/or other countries.

Other Abstractions “These are my abstractions and if you don’t like them, I have others ” … paraphrasing Groucho Marx ► Amazon EC2 Cluster Compute ► Guaranteed 10Gbps bandwidth (at a high cost though) ► Tenants get a Virtual Cluster ► Virtual Datacenter Networks ► Eg., SecondNet offers tenants pairwise bandwidth guarantees ► Tenants get a clique virtual network ► Suitable for all tenants, but limited provider flexibility ► Virtual Networks from the HPC world ► Many direct connect topologies, like hypercube, Butterfly networks, etc.

Tenant Guarantees vs. Provider Flexibility

Allocation algorithms Goals for allocation ► Performance: Bandwidth between VMs ► Failure resiliency: VMs in different failure domains ► Energy efficiency: Packing VMs to minimize power ►... Oktopus allocation protocols can be extended to account for goals beyond bandwidth requirements

Oktopus: Nits and Warts 1 Oktopus focuses on guaranteed internal network bandwidth for tenants and is a first step towards predictable datacenters Other contributors to performance variability ► Bandwidth to storage tier ► External network bandwidth Virtual networks provide a concise means to capture tenant demands for such resources

Oktopus: Nits and Warts 2 Oktopus semantics: Tenants get the bandwidth specified by their virtual network (nothing less, nothing more!) Spare network capacity ► Used by tenants without virtual networks Work conserving solution Tenants get guarantees for minimum bandwidth Spare network capacity shared amongst tenants who can use it Can be achieved through work-conserving enforcement mechanisms

Hose Model Flexible expression of tenant demands in VPN settings ► Same as the virtual cluster abstraction ► Better than pipe model ► [Sigcomm 1999] Allocation problem is different ► Virtual clusters: VMs can be allocated anywhere ► Hose model: Tenant locations are fixed. Need to determine the mapping of virtual to physical links

Oktopus Offers virtual networks to tenants in datacenters Two main components ► Management plane: Allocation of tenant requests ► Allocates tenant requests to physical infrastructure ► Accounts for tenant network bandwidth requirements ► Data plane: Enforcement of virtual networks ► Enforces tenant bandwidth requirements ► Achieved through rate limiting at end hosts