C3: Cutting Tail Latency in Cloud Data Stores via Adaptive Replica Selection

Similar documents
Replica selection in Apache Cassandra

LARGE-SCALE DATA STORAGE APPLICATIONS

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Yahoo! Cloud Serving Benchmark

Comparing NoSQL Solutions In a Real-World Scenario: Aerospike, Cassandra Open Source, Cassandra DataStax, Couchbase and Redis Labs

Benchmarking the Availability and Fault Tolerance of Cassandra

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

Network Infrastructure Services CS848 Project

QoS-Aware Storage Virtualization for Cloud File Systems. Christoph Kleineweber (Speaker) Alexander Reinefeld Thorsten Schütt. Zuse Institute Berlin

Getting Started with SandStorm NoSQL Benchmark

Benchmarking Scalability and Elasticity of Distributed Database Systems

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

GraySort on Apache Spark by Databricks

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

Berkeley Ninja Architecture

Web Server Software Architectures

<Insert Picture Here> Oracle NoSQL Database A Distributed Key-Value Store

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

Small is Better: Avoiding Latency Traps in Virtualized DataCenters

Benchmarking Cassandra on Violin

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

Client-aware Cloud Storage

Accelerating Cassandra Workloads using SanDisk Solid State Drives

Benchmarking Couchbase Server for Interactive Applications. By Alexey Diomin and Kirill Grigorchuk

Performance test report

NoSQL Performance Test In-Memory Performance Comparison of SequoiaDB, Cassandra, and MongoDB

Deep Dive: Maximizing EC2 & EBS Performance

Resource Provisioning of Web Applications in Heterogeneous Cloud. Jiang Dejun Supervisor: Guillaume Pierre

Using Synology SSD Technology to Enhance System Performance Synology Inc.

Accelerating Big Data: Using SanDisk SSDs for Apache HBase Workloads

Feedback Autonomic Provisioning for guaranteeing performance (and reliability. - application to Big Data Systems

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Performance testing Hadoop based big data analytics solutions

Monitoring Elastic Cloud Services

Performance Testing of Big Data Applications

Benchmarking and Analysis of NoSQL Technologies

Accelerating Big Data: Using SanDisk SSDs for MongoDB Workloads

Performance Workload Design

HDMQ :Towards In-Order and Exactly-Once Delivery using Hierarchical Distributed Message Queues. Dharmit Patel Faraj Khasib Shiva Srivastava

Removing Failure Points and Increasing Scalability for the Engine that Drives webmd.com

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Towards a Community Cloud Storage

Managed Virtualized Platforms: From Multicore Nodes to Distributed Cloud Infrastructures

NoSQL Failover Characteristics: Aerospike, Cassandra, Couchbase, MongoDB

Cloud Spectator Comparative Performance Report July 2014

Optimizing Shared Resource Contention in HPC Clusters

RAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University

Database Replication Policies for Dynamic Content Applications

Decentralized Task-Aware Scheduling for Data Center Networks

Tiera: Towards Flexible Multi-Tiered Cloud Storage Instances

Ceph Optimization on All Flash Storage

Using Synology SSD Technology to Enhance System Performance Synology Inc.

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015

Evaluation of NoSQL databases for large-scale decentralized microblogging

Panopticon: Incremental SDN Deployment in Enterprise Networks

Benchmarking Hadoop & HBase on Violin

MASTER PROJECT. Resource Provisioning for NoSQL Datastores

Performance Evaluation of NoSQL Systems Using YCSB in a resource Austere Environment

Improving MapReduce Performance in Heterogeneous Environments

Apache Hadoop. Alexandru Costan

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

Storage I/O Control: Proportional Allocation of Shared Storage Resources

Performance Testing at Scale

Evaluation of Object Placement Techniques in a Policy-Managed Storage System

Executive Summary. Methodology

SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND Flash-Based SSDs

Choosing Between Commodity and Enterprise Cloud

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

INFO5011. Cloud Computing Semester 2, 2011 Lecture 11, Cloud Scheduling

.:!II PACKARD. Performance Evaluation ofa Distributed Application Performance Monitor

Delay Scheduling. A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling

Generational Performance Comparison: Microsoft Azure s A- Series and D-Series. A Buyer's Lens Report by Anne Qingyang Liu

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

Scaling Pinterest. Yash Nelapati Ascii Artist. Pinterest Engineering. Saturday, August 31, 13

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

TCP Pacing in Data Center Networks

Parallels Cloud Server 6.0

Cloud Support for Latency-Sensitive Telephony Applications

How To Model A System

Measuring Elasticity for Cloud Databases

Benchmarking Replication in NoSQL Data Stores

Rackscale- the things that matter GUSTAVO ALONSO SYSTEMS GROUP DEPT. OF COMPUTER SCIENCE ETH ZURICH

Using Iometer to Show Acceleration Benefits for VMware vsphere 5.5 with FlashSoft Software 3.7

Application. Performance Testing

Computing Load Aware and Long-View Load Balancing for Cluster Storage Systems

Can the Elephants Handle the NoSQL Onslaught?

Cloud IaaS Performance & Price-Performance

Chao He (A paper written under the guidance of Prof.

Cloud IaaS Performance & Price-Performance

1. Implementation of a testbed for testing Energy Efficiency by server consolidation using Vmware

Duke University

Friends, not Foes Synthesizing Existing Transport Strategies for Data Center Networks

Hypertable Architecture Overview

Small is Better: Avoiding Latency Traps in Virtualized Data Centers

Rackspace Cloud Databases and Container-based Virtualization

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

Autonomic Mix-Aware Provisioning for Non-Stationary Data Center Workloads

1. Simulation of load balancing in a cloud computing environment using OMNET

Optimizing SQL Server Storage Performance with the PowerEdge R720

Multilevel Communication Aware Approach for Load Balancing

Transcription:

C3: Cutting Tail Latency in Cloud Data Stores via Adaptive Replica Selection Lalith Suresh (TU Berlin) with Marco Canini (UCL), Stefan Schmid, Anja Feldmann (TU Berlin)

Tail-latency matters One User Request Tens to Thousands of data accesses 2

Tail-latency matters One User Request Tens to Thousands of data accesses For 100 leaf servers, 99 th percentile latency will reflect in 63% of user requests! 3

performance fluctuations are the norm CDF Resource Skewed access Queueing Background contention patterns delays activities 4

Effectiveness of replica selection in reducing tail latency?? Request Client 5

Replica Selection Challenges 6

Replica Selection Challenges Service-time variations 4 ms Request Client 5 ms 30 ms 7

Replica Selection Challenges Herd behavior and load oscillations Request Client Request Client Request Client 8

Impact of Replica Selection in Practice? Dynamic Snitching Uses history of read latencies and I/O load for replica selection 9

Experimental Setup Cassandra cluster on Amazon EC2 15 nodes, m1.xlarge instances Read-heavy workload with YCSB (120 threads) 500M 1KB records (larger than memory) Zipfian key access pattern 10

Cassandra Load Profile 11

Cassandra Load Profile Also observed that 99.9 th percentile latency ~ 10x median latency 12

Load Conditioning in our Approach 13

C3 Adaptive replica selection mechanism that is robust to service time heterogeinity 14

C3 Replica Ranking Distributed Rate Control 15

C3 Replica Ranking Distributed Rate Control 16

µ -1 = 2 ms Client Client Client µ -1 = 6 ms 17

µ -1 = 2 ms Client Client Client µ -1 = 6 ms Balance product of queue-size and service time { q µ -1 } 18

-side Feedback s piggyback {q s } and {µμ s #1 } in every response Client { q s, µμ s #1 } 19

-side Feedback s piggyback {q s } and {µμ s #1 } in every response Concurrency compensation 20

-side Feedback s piggyback {q s } and {µμ s #1 } in every response Concurrency compensation q& ' = 1 + os '. w + q ' Outstanding requests Feedback 21

Select server with min q& '. µμ s #1? 22

Select server with min q& '. µμ s #1? Potentially long queue sizes What if a GC pause happens? µ -1 = 4 ms 100 requests! 20 requests µ -1 = 20 ms 23

Penalizing Long Queues Select server with min q& '. µμ s #1 b µ -1 = 4 ms 35 requests b = 3 20 requests µ -1 = 20 ms 24

C3 Replica Ranking Distributed Rate Control 25

Need for rate control Replica ranking insufficient Avoid saturating individual servers? Non-internal sources of performance fluctuations? 26

Cubic Rate Control Clients adjust sending rates according to cubic function If receive rate isn t increasing further, multiplicatively decrease 27

Putting everything together C3 Client Replica group scheduler 1000 req/s Sort replicas by score 2000 req/s Rate Limiters { Feedback } 28

Implementation in Cassandra Details in the paper! 29

Evaluation Amazon EC2 Controlled Testbed Simulations 30

Evaluation Amazon EC2 15 node Cassandra cluster M1.xlarge Workloads generated using YCSB (120 threads) Read-heavy, update-heavy, read-only 500M 1KB records dataset (larger than memory) Compare against Cassandra s Dynamic Snitching (DS) 31

Lower is better 32

2x 3x improved 99.9 percentile latencies Also improves median and mean latencies 33

2x 3x improved 99.9 percentile latencies 26% - 43% improved throughput 34

Takeaway: C3 does not tradeoff throughput for latency 35

How does C3 react to dynamic workload changes? Begin with 80 read-heavy workload generators 40 update-heavy generators join the system after 640s Observe latency profile with and without C3 36

Latency profile degrades gracefully with C3 Takeaway: C3 reacts effectively to dynamic workloads 37

Summary of other results Higher system load Skewed record sizes > 3x better 99.9 th percentile latency SSDs instead of HDDs 50% higher throughput than with DS 38

Ongoing work Tests at SoundCloud and Spotify Stability analysis of C3 Alternative rate adaptation algorithms Token aware Cassandra clients 39

? Client Summary C3 Replica Ranking + Dist. Rate Control 40