Data Center Load Balancing T-106.5840 Seminar Kristian Hartikainen Aalto University, Helsinki, Finland 9.12.2015.

Slides:



Advertisements
Similar presentations
Data Center Networking with Multipath TCP
Advertisements

IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Software-defined networking: Change is hard Ratul Mahajan with Chi-Yao Hong, Rohan Gandhi, Xin Jin, Harry Liu, Vijay Gill, Srikanth Kandula, Mohan Nanduri,
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu, Sebastien Barre, Christopher Pluntke, Adam Greenhalgh, Damon Wischik,
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
NETWORK LOAD BALANCING NLB.  Network Load Balancing (NLB) is a Clustering Technology.  Windows Based. (windows server).  To scale performance, Network.
The War Between Mice and Elephants Presented By Eric Wang Liang Guo and Ibrahim Matta Boston University ICNP
A Review of Flow Scheduling in Data Center Networks Mala Yadav*, Jay Shankar Prasad** School of Computer and Information Science MVN University, Palwal.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
In-Band Flow Establishment for End-to-End QoS in RDRN Saravanan Radhakrishnan.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
CONGA: Distributed Congestion-Aware Load Balancing for Datacenters
1© Copyright 2015 EMC Corporation. All rights reserved. SDN INTELLIGENT NETWORKING IMPLICATIONS FOR END-TO-END INTERNETWORKING Simone Mangiante Senior.
A Scalable, Commodity Data Center Network Architecture Mohammad Al-Fares, Alexander Loukissas, Amin Vahdat Presented by Gregory Peaker and Tyler Maclean.
Wireless Video Sensor Networks Vijaya S Malla Harish Reddy Kottam Kirankumar Srilanka.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Center Traffic Management COS 597E: Software Defined Networking.
A Scalable, Commodity Data Center Network Architecture
A Scalable, Commodity Data Center Network Architecture.
Web Server Load Balancing/Scheduling Asima Silva Tim Sutherland.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Network Support for Cloud Services Lixin Gao, UMass Amherst.
1 The Google File System Reporter: You-Wei Zhang.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Network Aware Resource Allocation in Distributed Clouds.
DARD: Distributed Adaptive Routing for Datacenter Networks Xin Wu, Xiaowei Yang.
Challenges towards Elastic Power Management in Internet Data Center.
Software Defined Networks for Dynamic Datacenter and Cloud Environments.
Dana Butnariu Princeton University EDGE Lab June – September 2011 OPTIMAL SLEEPING IN DATACENTERS Joint work with Professor Mung Chiang, Ioannis Kamitsos,
Presto: Edge-based Load Balancing for Fast Datacenter Networks
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
CellSDN: Software-Defined Cellular Core networks Xin Jin Princeton University Joint work with Li Erran Li, Laurent Vanbever, and Jennifer Rexford.
Dzmitry Kliazovich University of Luxembourg, Luxembourg
A Dynamic Query-tree Energy Balancing Protocol for Sensor Networks H. Yang, F. Ye, and B. Sikdar Department of Electrical, Computer and systems Engineering.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
1 Traffic Engineering By Kavitha Ganapa. 2 Introduction Traffic engineering is concerned with the issue of performance evaluation and optimization of.
6.888: Lecture 4 Data Center Load Balancing Mohammad Alizadeh Spring
R2C2: A Network Stack for Rack-scale Computers Paolo Costa, Hitesh Ballani, Kaveh Razavi, Ian Kash Microsoft Research Cambridge EECS 582 – W161.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
Shaopeng, Ho Architect of Chinac Group
Md Baitul Al Sadi, Isaac J. Cushman, Lei Chen, Rami J. Haddad
Yiting Xia, T. S. Eugene Ng Rice University
Resilient Datacenter Load Balancing in the Wild
Lecture 2: Cloud Computing
Web Server Load Balancing/Scheduling
How I Learned to Stop Worrying About the Core and Love the Edge
University of Maryland College Park
Architecture and Algorithms for an IEEE 802
Data Center Network Architectures
Web Server Load Balancing/Scheduling
Introduction to Load Balancing:
Hydra: Leveraging Functional Slicing for Efficient Distributed SDN Controllers Yiyang Chang, Ashkan Rezaei, Balajee Vamanan, Jahangir Hasan, Sanjay Rao.
ECE 544: Traffic engineering (supplement)
Improving Datacenter Performance and Robustness with Multipath TCP
Improving Datacenter Performance and Robustness with Multipath TCP
Congestion-Aware Load Balancing at the Virtual Edge
Software Defined Networking (SDN)
NTHU CS5421 Cloud Computing
Specialized Cloud Architectures
Congestion-Aware Load Balancing at the Virtual Edge
2019/5/13 A Weighted ECMP Load Balancing Scheme for Data Centers Using P4 Switches Presenter:Hung-Yen Wang Authors:Peng Wang, George Trimponias, Hong Xu,
2019/10/9 A Weighted ECMP Load Balancing Scheme for Data Centers Using P4 Switches Presenter:Hung-Yen Wang Authors:Jin-Li Ye, Yu-Huang Chu, Chien Chen.
Jennifer Rexford Princeton University
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Towards Predictable Datacenter Networks
Presentation transcript:

Data Center Load Balancing T Seminar Kristian Hartikainen Aalto University, Helsinki, Finland

Load Balancing Efficient distribution of the workload across the available computing resources – Distributing computation over multiple CPU cores – Distributing network requests across multiple servers – And many others... The goals is efficient resource usage to optimize the desired performance metrics – Maximizing network throughput – Minimizing latency – And many others...

Data Center Load Balancing Load balancing problems arise in several (computing) contexts Our focus is on the data center load balancing Data center load balancing also consists of several different levels – Network traffic, CPU inside servers, servers, server racks, server clusters, between data centers We studied load balancing of network traffic and virtual servers

MOTIVATION

The Free Lunch Is Over Herb Sutter: The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software. Dr. Dobb’s Journal, 30(3), March 2005 (updated graph in August 2009). Single threaded preformance have hit the wall Number of transistors in the microprocessors is still growing

Amdahl’s Law Clear limitations in the speed up gains that parallel programs can achieve Thus, keeping the resources utilized is challenging

Towards Data Center Computing At the same time, the amount of data mobile devices, sensors and data transferred in general, have proliferated Data center technology and virtualization has been developing rapidly as well Data centers are becoming larger and larger and more common – Large companies are building their own data centers – Many other companies are moving their computation, storage and operations to cloud

Large Scale Data Centers Data centers provide many advantages over traditional computing – Economics of scale – Enables use of cheap commodity hardware – Cheap hardware, cooling, electricity, network, etc... However, to efficiently utilize data center resources, and to provide the required performance guarantees, efficient load balancing mechanisms are needed on different levels of the data center

NETWORK TRAFFIC LOAD BALANCING

Network Traffic Load Balancing Today’s data centers are huge – Hundreds of thousands of servers – Supporting huge amount of services Big data apps Web services High performance computing Network traffic grows – Both inter and intra data center traffic Network bandwidth is one of the major bottlenecks in data centers

Data Center Networks Traditional data center network topologies are single rooted trees Limited port density (even in the highest-end) switches forces the data center topology to take a form of multi-rooted tree For example fat-tree or leaf-spine

Data Center Networks The problem: How to efficiently utilize the theoretical bandwidth gains for the multi-rooted design?

Flow Hashing Most of today’s load balancing mechanisms are based on flow hashing – E.g. Equal-Cost Multi-Path forwarding Basic idea: split the packet flows randomly across multiple network paths – E.g. by hashing the packet header (e.g. 5-tuple) ECMP – Forwarding decisions made hop-by-hop – All the routes are equal cost

Flow Hashing

Pros: – Easy to implement – Good performance in ideal system conditions – Packets are automatically kept in order, which is crucial for certain protocols such as TCP. Cons: – Hashing decisions are purely local – And totally unaware of the congestion state of the system

Congestion Aware Load Balancing Several proposals of congestion aware load balancing have been made to overcome the problems of hash-based methods Difficulties: – How to handle packet reordering? – Centralized vs. distributed systems? – How to implement fast system with no specialized hardware? Couple of examples: Hedera, Presto, CONGA

Hedera: Dynamic Flow Scheduling for Data Center Networks

Flowlets One of the problems in non-hash-based load balancing mechanisms is packet reordering Several solutions overcome this problem by doing the load balancing decisions on per-flow basis, instead of per-packet basis Flowlet is a burst of packets belonging to the same flow, that are separated from other brusts in the same flow by a large enough gap, that splitting them on a separate paths do not cause reordering problem

CONGA: Distributed Congestion-Aware Load Balancing For Datacenters Distributed load balancing scheme Maintains the congestion state of each path in the leaf nodes Congestion information is carried directly in the hardware data plane of the switches (in the VXLAN virtualization overlay headers)

CONGA: Distributed Congestion-Aware Load Balancing For Datacenters Pros: – High utilization of the network – Reacts fast to congestion – Fairly simple Cons: – Distributed load balancing systems are often slow – CONGA and many other distributed systems overcome this problem by using customized networking hardware Makes deployment hard

Presto: Edge-based Load Balancing for Fast Datacenter Networks Load balancing mechanism implemented in the soft network edge (virtual switches) Routes the flowlets through the network using round robin algorithm Solves the problems of hash-based algorithms – Works even in asymmetric topologies – Elephant flows do not cause problems

Presto: Edge-based Load Balancing for Fast Datacenter Networks Pros: – Deals well with network failures and asymmetry – Fully implemented in the software (~500 lines of code in Open vSwitch and ~900 lines of code in Linux Generic Receive Offload (GRO)) – Thus easy to deploy Cons: – Too slow compared to HW solutions?

VIRTUAL SERVER LOAD BALANCING

Virtual Server Load Balancing Another part of data center that needs to be balanced Goals and methods differ from network load balancing – Goal seems to be more about energy efficiency rather than pure speed ups of scalability

Power Usage of Warehouse Scale Server Figure: L. A. Barroso, J. Clidaras, and U. Hlzle, “The datacenter as a computer: An introduction to the design of warehouse-scale machines, second edition”

Server Load Balancing Cloud data center servers are often virtualized Virtual machine migration allows flexible movement of servers between physical hardware Migration brings over head When and which virtual machine should be migrated, and where? How to develop algorithm that scales? How to cope with heterogeneous allocation policies and different objectives?

Virtual Server Migration Distributed vs. centralized load balancing – Similarly as with network traffic load balancing Dynamic vs. Static load balancing Metrics to make the migration decisions – CPU-, memory-, network usage, etc...

Example Load Balancing System [A. Beloglazov and R. Buyya, “Energy efficient resource management in virtualized cloud data centers”] Decentralized Three level system architecture – Dispatcher Distributes requests between global managers – Global Manager Supervises a set of local managers Distributes their own local manager data between other global managers – Local manager Inside each of the physical servers nodes Responsible for continuous monitoring of the resource utilization

Example Load Balancing System [A. Beloglazov and R. Buyya, “Energy efficient resource management in virtualized cloud data centers”]

EXPERIMENT

Experiment: Simulation of ECMP Equal-Cost Multi-Path (ECMP) experiment in a small data center Simulated using Performance Simulation Environment (PSE) – In-house discrete event simulator

Simulation setup Figure:

PSE Model

CONCLUSIONS

Conclusions Load balancing is important Load balancing is challenging Experiment is not ready Network traffic load balancing is more about scalability without sacrificing latency or throughput under unexpected network conditions Server load balancing is more about efficient utilization of the server nodes, to reduce energy consumption