Measurement-based Design

Slides:



Advertisements
Similar presentations
A Cloud Data Center Optimization Approach using Dynamic Data Interchanges Prof. Stephan Robert University of Applied Sciences.
Advertisements

Capacity Planning in a Virtual Environment
Enabling High-level SLOs on Shared Storage Andrew Wang, Shivaram Venkataraman, Sara Alspaugh, Randy Katz, Ion Stoica Cake 1.
Energy Conservation in Datacenters through Cluster Memory Management and Barely-Alive Memory Servers Vlasia Anagnostopoulou Susmit.
Charles Reiss *, Alexey Tumanov †, Gregory R. Ganger †, Randy H. Katz *, Michael A. Kozuch ‡ * UC Berkeley† CMU‡ Intel Labs.
1 Routing and Scheduling in Web Server Clusters. 2 Reference The State of the Art in Locally Distributed Web-server Systems Valeria Cardellini, Emiliano.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Efficient replica maintenance for distributed storage systems Byung-Gon Chun, Frank Dabek, Andreas Haeberlen, Emil Sit, Hakim Weatherspoon, M. Frans Kaashoek,
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
New Challenges in Cloud Datacenter Monitoring and Management
1 Efficient Management of Data Center Resources for Massively Multiplayer Online Games V. Nae, A. Iosup, S. Podlipnig, R. Prodan, D. Epema, T. Fahringer,
Scalability Module 6.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Chapter 10 : Designing a SQL Server 2005 Solution for High Availability MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design.
PARAID: The Gear-Shifting Power-Aware RAID Charles Weddle, Mathew Oldham, An-I Andy Wang – Florida State University Peter Reiher – University of California,
1 An SLA-Oriented Capacity Planning Tool for Streaming Media Services Lucy Cherkasova, Wenting Tang, and Sharad Singhal HPLabs,USA.
Google File System Simulator Pratima Kolan Vinod Ramachandran.
GeoGrid: A scalable Location Service Network Authors: J.Zhang, G.Zhang, L.Liu Georgia Institute of Technology presented by Olga Weiss Com S 587x, Fall.
Performance Concepts Mark A. Magumba. Introduction Research done on 1058 correspondents in 2006 found that 75% OF them would not return to a website that.
Heterogeneity and Dynamicity of Clouds at Scale: Google Trace Analysis [1] 4/24/2014 Presented by: Rakesh Kumar [1 ]
AUTHORS: STIJN POLFLIET ET. AL. BY: ALI NIKRAVESH Studying Hardware and Software Trade-Offs for a Real-Life Web 2.0 Workload.
Jockey Guaranteed Job Latency in Data Parallel Clusters Andrew Ferguson, Peter Bodik, Srikanth Kandula, Eric Boutin, and Rodrigo Fonseca.
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
임규찬. 1. Abstract 2. Introduction 3. Design Goals 4. Sample-Based Scheduling for Parallel Jobs 5. Implements.
Monitoring Windows Server 2012
1 Distributed Energy-Efficient Scheduling for Data-Intensive Applications with Deadline Constraints on Data Grids Cong Liu and Xiao Qin Auburn University.
The Owner Share scheduler for a distributed system 2009 International Conference on Parallel Processing Workshops Reporter: 李長霖.
BOF: Megajobs Gracie: Grid Resource Virtualization and Customization Infrastructure How to execute hundreds of thousands tasks concurrently on distributed.
VGreen: A System for Energy Efficient Manager in Virtualized Environments G. Dhiman, G Marchetti, T Rosing ISLPED 2009.
Heracles: Improving Resource Efficiency at Scale ISCA’15 Stanford University Google, Inc.
Modeling Virtualized Environments in Simalytic ® Models by Computing Missing Service Demand Parameters CMG2009 Paper 9103, December 11, 2009 Dr. Tim R.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
ApproxHadoop Bringing Approximations to MapReduce Frameworks
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Scalability == Capacity * Density.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
CERN IT Department CH-1211 Genève 23 Switzerland t CERN IT Monitoring and Data Analytics Pedro Andrade (IT-GT) Openlab Workshop on Data Analytics.
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
PACMan: Coordinated Memory Caching for Parallel Jobs Ganesh Ananthanarayanan, Ali Ghodsi, Andrew Wang, Dhruba Borthakur, Srikanth Kandula, Scott Shenker,
Gorilla: A Fast, Scalable, In-Memory Time Series Database
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
Performance Assurance for Large Scale Big Data Systems
WebSphere XD Compute Grid High Performance Architectures
C Loomis (CNRS/LAL) and V. Floros (GRNET)
OPERATING SYSTEMS CS 3502 Fall 2017
Packing Tasks with Dependencies
Chris Cai, Shayan Saeed, Indranil Gupta, Roy Campbell, Franck Le
Introduction to Load Balancing:
Curator: Self-Managing Storage for Enterprise Clusters
Job Scheduling in a Grid Computing Environment
Finding a Needle in Haystack : Facebook’s Photo storage
Scheduling Jobs Across Geo-distributed Datacenters
PA an Coordinated Memory Caching for Parallel Jobs
On the Scale and Performance of Cooperative Web Proxy Caching
湖南大学-信息科学与工程学院-计算机与科学系
TimeTrader: Exploiting Latency Tail to Save Datacenter Energy for Online Search Balajee Vamanan, Hamza Bin Sohail, Jahangir Hasan, and T. N. Vijaykumar.
Operating Systems : Overview
Henge: Intent-Driven Multi-Tenant Stream Processing
AWS Cloud Computing Masaki.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Hawk: Hybrid Datacenter Scheduling
Client/Server Computing and Web Technologies
Towards Predictable Datacenter Networks
Presentation transcript:

Measurement-based Design Xingbang Liu, Shuting Li

Presenter: Xingbang Liu Kraken: Identify and Resolve Resource Utilization Bottlenecks in Large Scale Web Services Presenter: Xingbang Liu

Modern Web Services Hundreds of systems A large number of machines

Challenges

Challenges Infrastructure heterogeneity Changing bottlenecks

Can we serve peak load? How to identify bottlenecks? Are we operating efficiently?

Common approaches to capacity management Load modeling: simulate how system behaves at high load Load testing: benchmark using synthetic workloads

Live User Traffic Accurate distribution of reads & writes Do not need a custom test setup

Kraken: Measure peak serving capacity Monitor health metrics • Response latency • Server error Reset load when thresholds are hit

Contributions Kraken measures peak serving capacity at all scales A single web server A single cluster An entire geographical region Kraken identifies bottlenecks limiting utilization Kraken increases Facebook’s infrastructure utilization by over 20%

Overview of traffic management London users 0.7 Europe 0.2 With a smaller capacity 0.1 North America 0.8 0.1 0.1 with a larger capacity

Kraken shifts traffic to particular region or cluster Edge weights Cluster weights Server weights

Kraken shifts traffic to the target London users 0.7 Europe 0.2 0.1 Target Region 0.8 0.1 0.1

Kraken shifts traffic to the target London users 0.1 Europe 0.2 0.7 Target Region 0.8 0.1 0.1

Kraken Overview

Evaluation Does Kraken allow us to validate capacity measurements at various scales?

Measuring an individual web server’s capacity A: Load test begins and starts increasing load B: Kraken decreases load increments C: Reach Queuing latency threshold and start decreasing load D: Load test ends C B D A Peak web server capacity: 175 requests per second (RPS) target: 90% utilization i.e., 157 RPS

Measuring a cluster’s capacity Max cluster capacity = (web server capacity) * (num. web servers in cluster)

Measuring a region’s capacity

Evaluation Does Kraken provide a useful methodology for increasing utilization?

Factors limiting utilization A: Load test begins B: Kraken inspects the health of the cluster and makes a decision for how to shift traffic every 5 minutes C: response latency sustains above the threshold level and load test stops B A

Factors limiting utilization 1. Hash weights for cache Web server latency Cache latency Service latency Latency breakdown in cluster load test total latency = web server latency + cache latency + service latency

Factors limiting utilization 2.Network saturation Load test begins Load test starts decreasing load Load test ends 3% of all requests experience an error !!!

Factors limiting utilization 3. Poor load balancing Load test begins Load test starts decreasing load Load test ends Evident load imbalance !!!

Conclusion Kraken leverages live user traffic to empirically load test every level of the infrastructure stack to measure capacity. Describe a methodology for identifying bottlenecks to improve infrastructure utilization Kraken increases Facebook’s capacity to server users by over 20% using the same hardware

Lessons from Kraken Great ideas and Revolutions Resistance  

History-Based Harvesting of Spare Cycles
 and Storage in Large-Scale Datacenters   Presenter: Shuting Li

Background: data centers are underutilized Data centers are massive and expensive. Utilization rate can be as low as 30% Overprovision resources : Latency-critical (Require low tail response time) High peaks in user load Unexpected spikes and failures A

Background: utilize the spare resources Co-locate the useful batch workloads Challenges 1: Interactive services have higher priority. (“primary tenant”) Resource-harvesting workload might be killed sometimes. (“secondary tenant”) Task killing : waste the cycle and the resources spent already!!

Background: utilize the spare resources Improve data availability and durability. Challenges 2: A lot of batch processing applications requires massive data to operate. The space on the server might not be enough for the data block. If the owner decides to wipe out the disk. The data might be lost permanently. Slowing down one task will affect the entire batch processing job.

Main goals Improve the efficiency without sacrificing quality of service. Minimize the probability of killing batch tasks Maximize data availability and durability

Batch task scheduling : is there a pattern? Time vs utilization Frequency spectrum A: 31 B

Batch task scheduling : make use of the patterns

Data storage co-location Save diverse pattern in the same cluster of interactive service node. Maximize data availability and durability.

Replica placement Plot the servers into 9*9 grid according to peak utilization and disk reimage rate. Insure we only have one replica in a certain row and column. A C B

System implementation Clustering service Extract utilization and reimaging patterns YARN-H Protect interactive services by killing batch tasks Tez-H History-based batch task scheduling HDFS-H History based replica placement Protect interactive services by denying accesses

Evaluation: experiment environment Real-system deployment 102-server cluster Interactive service: Lucene with utilization trace Batch task: TPC-DS queries on Hive Large-scale simulation Trace from 10 production datacenters at Microsoft Full datacenters for one month Production environment deployment Data replica placement

Evaluation: Batch task scheduling

Evaluation: Batch task scheduling -simulation

Evaluation: Replica placement -durability Deployed to thousands of production servers for almost a year Eliminated data losses except minor bugs and not enough diversity

Conclusion History-based resource harvesting Resource utilization dynamics Data storage co-location Complex data analytics distributed across servers Significantly improve datacenter efficiency Can also be applied to resources other than CPU

Discussion(Kraken) How does Kraken measure the cluster capacity when it has heterogeneous servers? If a cluster has several kinds of servers, they use Kraken to first calculate each kind of server’s capacity to get the total cluster capacity.

Discussion(Kraken) Does Kraken influence the system’s performance? This influence might be small. It uses response time and error rate as metrics.

Discussion(Kraken) Can we apply Kraken to stateful servers?

Discussion Can we apply the techniques introduced in the paper to resources other than CPU? Yes. We can use the same way to find the pattern of historical data and classify the resources according to the pattern.

Discussion Are 3 different classes enough to include all kinds of the servers?