Load Balancing Memcached Traffic Using SDN

Slides:



Advertisements
Similar presentations
Fast Data at Massive Scale Lessons Learned at Facebook Bobby Johnson.
Advertisements

IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Internetworking II: MPLS, Security, and Traffic Engineering
OpenFlow-Based Server Load Balancing GoneWild
Ranges & Cross-Entrance Consistency with OpenFlow Liron Schiff (TAU) Joint work with Yehuda Afek (TAU) Anat Bremler-Barr (IDC) Israel Networking Day 2014.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Module 8: Concepts of a Network Load Balancing Cluster
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
An Analysis of Internet Content Delivery Systems Stefan Saroiu, Krishna P. Gommadi, Richard J. Dunn, Steven D. Gribble, and Henry M. Levy Proceedings of.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
SYN Flooding: A Denial of Service Attack Shivani Hashia CS265.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Locality-Aware Request Distribution in Cluster-based Network Servers Presented by: Kevin Boos Authors: Vivek S. Pai, Mohit Aron, et al. Rice University.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Scalable Server Load Balancing Inside Data Centers Dana Butnariu Princeton University Computer Science Department July – September 2010 Joint work with.
OpenFlow Switch Limitations. Background: Current Applications Traffic Engineering application (performance) – Fine grained rules and short time scales.
Practical TDMA for Datacenter Ethernet
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
Workshop on Software Defined Networks Spring 2014.
Consistent Hashing: Load Balancing in a Changing World
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
Othman Othman M.M., Koji Okamura Kyushu University 1.
An Efficient Approach for Content Delivery in Overlay Networks Mohammad Malli Chadi Barakat, Walid Dabbous Planete Project To appear in proceedings of.
OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,
Developments in networked embedded system technologies and programmable logic are making it possible to develop new, highly flexible data acquisition system.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
ORange: Multi Field OpenFlow based Range Classifier Liron Schiff Tel Aviv University Yehuda Afek Tel Aviv University Anat Bremler-Barr Inter Disciplinary.
Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay.
Web Cache Redirection using a Layer-4 switch: Architecture, issues, tradeoffs, and trends Shirish Sathaye Vice-President of Engineering.
Architecture for Caching Responses with Multiple Dynamic Dependencies in Multi-Tier Data- Centers over InfiniBand S. Narravula, P. Balaji, K. Vaidyanathan,
Othman Othman M.M., Koji Okamura Kyushu University 1.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
Empirical Quantification of Opportunities for Content Adaptation in Web Servers Michael Gopshtein and Dror Feitelson School of Engineering and Computer.
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Software–Defined Networking Meron Aymiro. What is Software-Defined Networking?  Software-Defined Networking (SDN) has the potential of to transcend the.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
SDN and Security Security as a service in the cloud
SDN challenges Deployment challenges
AppSwitch Application-layer Load Balancing within a Software Switch
Software defined networking: Experimental research on QoS
University of Maryland College Park
The DPIaaS Controller Prototype
Network Anti-Spoofing with SDN Data plane Authors:Yehuda Afek et al.
N-Tier Architecture.
Efficient Round-Trip Time Monitoring in OpenFlow Networks
Alternative system models
Author: Ragalatha P, Manoj Challa, Sundeep Kumar. K
VIRTUAL SERVERS Presented By: Ravi Joshi IV Year (IT)
Network Address Translation (NAT)
Internet Networking recitation #12
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
Be Fast, Cheap and in Control
HWP2 – Distributed search
Software Defined Networking (SDN)
DDoS Attack Detection under SDN Context
2018/11/19 Source Routing with Protocol-oblivious Forwarding to Enable Efficient e-Health Data Transfer Author: Shengru Li, Daoyun Hu, Wenjian Fang and.
Edge computing (1) Content Distribution Networks
Enabling Innovation Inside the Network
SPEAKER: Yu-Shan Chou ADVISOR: DR. Kai-Wei Ke
Implementing an OpenFlow Switch on the NetFPGA platform
Programmable Switches
EE 122: Lecture 22 (Overlay Networks)
SDN-Guard: DoS Attacks Mitigation in SDN Networks
Network Address Translation (NAT)
Caching 50.5* + Apache Kafka
Presentation transcript:

Load Balancing Memcached Traffic Using SDN Idan Moyal Interdisciplinary Center Herzliya, Israel Joint work with: Anat Bremler-Barr IDC Herzliya David Hay Hebrew University Liron Schiff Tel-Aviv University Supported by the European Research Council under the European Union's Seventh Framework Programme

Memcached Memcached is a widely-used in-memory key-value based distributed caching system Data is distributed between multiple servers. The most basic operations are: get & set. Every client is initialized with a list of servers. Keys can be no longer than 250 characters. Stored values cannot exceed 1MB. Supported networking protocols: TCP/UDP (ASCII/Binary).

Movie Reviews Web Application Example Memcached Memcached is a widely-used in-memory key value based distributed caching system Movie Reviews Web Application Example DBMS Read review from DB Movie Review Slow Response Application Server Data is distributed between multiple servers. The most basic operations are: get & set. Every client is initialized with a list of servers. Keys can be no longer than 250 characters. Stored values cannot exceed 1MB. Supported networking protocols: TCP/UDP (ASCII/Binary). Get movie review Get movie review Application Server Load Balancer Movie review Movie review Application Server

Movie Reviews Web Application Example Memcached Memcached is a widely-used in-memory key value based distributed caching system Movie Reviews Web Application Example Memcached server is picked by applying a hash function on the requested key DBMS CACHE HIT Application Server Data is distributed between multiple servers. The most basic operations are: get & set. Every client is initialized with a list of servers. Keys can be no longer than 250 characters. Stored values cannot exceed 1MB. Supported networking protocols: TCP/UDP (ASCII/Binary). Memcached Server Memcached Client Get cache review Get movie review Cache Movie Review Get movie review Application Server Load Balancer Movie review Movie review Application Server

Movie Reviews Web Application Example Memcached Memcached is a widely-used in-memory key value based distributed caching system Movie Reviews Web Application Example Memcached server is picked by applying a hash function on the requested key DBMS Read review from DB Movie Review Slow Response CACHE MISS Application Server Data is distributed between multiple servers. The most basic operations are: get & set. Every client is initialized with a list of servers. Keys can be no longer than 250 characters. Stored values cannot exceed 1MB. Supported networking protocols: TCP/UDP (ASCII/Binary). Memcached Server Memcached Client Get cached review Get movie review Cache review Get movie review Application Server Load Balancer Movie review Movie review Application Server

The Hot Keys Problem Memcached ignores key popularity when assigning keys to servers  DBMS Application Server Memcached Server Memcached Client Memcached Server Memcached Server Application Server Load Balancer Memcached Server Memcached Client Memcached Server Application Server High Response Time Memcached Server Memcached Client memcached get “guardians-of-the-galaxy-review”

Key Popularity Follows Zipf Distribution [Almeida et al., 1996] [Fan et al., 2013] [Fukuda et al., 2014] Most popular key How is the problem solved today?

Our Solution: MBalancer Objectives: Our Solution: Balance the load between servers (e.g., minimize average load/max load) Duplicate hot keys across many servers Seamless to both memcached client and memcached server Let the network handle the load balancing

Our Solution: MBalancer DBMS Application Server Memcached Server Memcached Client Memcached Server Memcached Server Application Server Load Balancer Memcached Server Memcached Client Memcached Server Application Server Good Response Time Memcached Server Memcached Client memcached get “guardians-of-the-galaxy-review” memcached get “guardians-of-the-galaxy-review”

Our Solution: MBalancer DBMS Same request, different destinations? Application Server Memcached Server Memcached Client Memcached Server Memcached Server Application Server Load Balancer Memcached Server Memcached Client Memcached Server Application Server Good Response Time Memcached Server Memcached Client memcached get “guardians-of-the-galaxy-review” memcached get “guardians-of-the-galaxy-review”

Our Solution: MBalancer Memcached statistics Using Software Defined Networking (SDN), which separates control plane and data plane: Data plane – match action rules Control plane – insert/delete rules Data Plane Control Plane SDN Controller MBalancer Application Application Server Memcached Server Memcached Client Memcached Server Memcached Server Application Server Load Balancer Memcached Server Memcached Client SDN Switch Memcached Server Application Server Good Response Time Memcached Server Memcached Client

Our Solution: MBalancer Memcached statistics Data Plane Control Plane SDN Controller MBalancer Application Payload matching capabilities of exact location. Common in many SDN switches. Application Server Memcached Server Memcached Client Memcached Server Memcached Server Application Server Load Balancer Memcached Server Memcached Client SDN Switch Memcached Server Application Server Good Response Time Memcached Server Memcached Client memcached get “guardians-of-the-galaxy-review”

Why duplication works? If we look at very few highly-loaded keys: Most of the system’s load is concentrated there Very modest memory overhead to duplicate these keys’ values Only a few switching rules suffices to support load balancing

Why duplication works? Imbalance factor = average load / max load The closer the imbalance factor is to 1, the higher the throughput is. First picture: 10 servers Secnd picture: 1000 keys 40-60% improvement Improvement is consistent as the system grows

MBalancer Tasks Hot keys identification & duplication. Load-balance requests in the switch. Hot Keys updating. OpenFlow counters (SDN). sFlow Monitoring (SDN). Memcached packet sniffer (etsy/tumblr). Begin with Step 3

Task 1: Hot Keys Identification Identification using off–the-shelf techniques (not part of MBalancer) Tumblr’s, Etsy’s Can also use sFlow, OpenFlow counters

Task 2:Load Balancing in the Switch Using OpenFlow Payload matching Flow Table Entry per hot key get request Group 2. Type: Select Servers containing the hot keys (e.g. all servers) Group Type Select (Since OpenFlow 1.3): Packets are processed by a single bucket in the group. Bucket selection provides equal load sharing (e.g., simlple round robin)

Load Balancing in the Switch Using OpenFlow Hot key request Payload matching Flow Table Group 2. Type: Select Hot key request redirected (works only for UDP requests) Load Balancing

Task 3: Key Updating and Duplication Using OpenFlow Flow Table Total number of rules:  2 Rules per hot key get & set operations. At most one rule per server containing hot keys duplicates. Keys are installed and updated with set operations Group 2. Type: Select Hot Keys updates are captured and sent to the controller

Key Duplication and Updating MBalancer application contains a memcached client Re-duplicate hot keys on update The switch is configured to match “set” hot keys packets and send also to the controller MBalancer Application Memcached Client User performs a request which requires updating a hot key SDN Controller Memcached set “best-seller” Control Plane Memcached get “best-seller” Data Plane Application Server Memcached Server Memcached Client Memcached Server Application Server Load Balancer Memcached Server Memcached Client SDN Switch Memcached Server Memcached set “best-seller” Application Server Memcached Server Memcached Client

Experimental Results Setting: NoviKit 250 SDN switch (1Gbit/s network). RYU SDN controller. 64 memcached clients, 2 memcached servers. 1000 keys, 100KB values. 10 Hot Keys are duplicated to all servers

Experimental results Throughput Latency

Comparing with Proxy-Based Solutions Additional servers dedicated for hot keys Hot Keys arrive at the proxy and sent to one of the servers behind it. MBalancer does not require additional servers and architecture changes. Used by Facebook The number of extra servers required to achieve the same imbalance factor of MBalancer

MBalancer: Limitations MBalancer performs load balancing for Memcached UDP get requests. UDP is usually preferred when the goal is better performance (Facebook’s solution) SDN switch with payload matching capabilities is required. Memcached key length is limited (NoviKit250 limitation is 46 bytes). MBalancer can perform load balancing for Memcached operating over UDP. A solution for TCP requires adaptation of TCP ack & seq for requests done by a specific client, and it is impossible* to keep this state in the switch. RST based solution was considered, but is not scalable and requires making changing Memcached clients implementation. SDN switch with payload matching capabilities is required. Memcached key length is limited (NoviKit250 limitation). -need to be in the end

Conclusions MBalancer solves an higher level application issue, the hot keys problem in Memcached, using SDN. Solution does not require a change in the application’s architecture. Low overhead in the SDN switch and memory footprint. An innovative way to perform L7 load balancing Many extensions in the paper, including a P4 implementation.

Thank You! Questions?

Lorelyn Medina      123RF.com