Web Server Load Balancing/Scheduling

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

A Survey of Web Cache Replacement Strategies Stefan Podlipnig, Laszlo Boszormenyl University Klagenfurt ACM Computing Surveys, December 2003 Presenter:
1 Sizing the Streaming Media Cluster Solution for a Given Workload Lucy Cherkasova and Wenting Tang HPLabs.
Scheduling in Web Server Clusters CS 260 LECTURE 3 From: IBM Technical Report.
Analysis of : Operator Scheduling in a Data Stream Manager CS561 – Advanced Database Systems By Eric Bloom.
Hadi Goudarzi and Massoud Pedram
What’s the Problem Web Server 1 Web Server N Web system played an essential role in Proving and Retrieve information. Cause Overloaded Status and Longer.
Scalable Content-aware Request Distribution in Cluster-based Network Servers Jianbin Wei 10/4/2001.
Copyright 2007, Information Builders. Slide 1 Workload Distribution for the Enterprise Mark Nesson, Vashti Ragoonath June, 2008.
NETWORK LOAD BALANCING NLB.  Network Load Balancing (NLB) is a Clustering Technology.  Windows Based. (windows server).  To scale performance, Network.
1 Routing and Scheduling in Web Server Clusters. 2 Reference The State of the Art in Locally Distributed Web-server Systems Valeria Cardellini, Emiliano.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Load Balancing in Web Clusters CS 213 LECTURE 15 From: IBM Technical Report.
Improving Proxy Cache Performance: Analysis of Three Replacement Policies Dilley, J.; Arlitt, M. A journal paper of IEEE Internet Computing, Volume: 3.
Cooperative Caching Middleware for Cluster-Based Servers Francisco Matias Cuenca-Acuna Thu D. Nguyen Panic Lab Department of Computer Science Rutgers University.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Strategies for Implementing Dynamic Load Sharing.
01/22/09ICDCS20061 Load Unbalancing to Improve Performance under Autocorrelated Traffic Ningfang Mi College of William and Mary Joint work with Qi Zhang.
Wide Web Load Balancing Algorithm Design Yingfang Zhang.
Chapter 2 Client Server Architecture
Locality-Aware Request Distribution in Cluster-based Network Servers Presented by: Kevin Boos Authors: Vivek S. Pai, Mohit Aron, et al. Rice University.
Web Server Load Balancing/Scheduling Asima Silva Tim Sutherland.
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
Achieving Load Balance and Effective Caching in Clustered Web Servers Richard B. Bunt Derek L. Eager Gregory M. Oster Carey L. Williamson Department of.
1 Design and Performance of a Web Server Accelerator Eric Levy-Abegnoli, Arun Iyengar, Junehwa Song, and Daniel Dias INFOCOM ‘99.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Load Distribution among Replicated Web Servers: A QoS-based Approach Marco Conti, Enrico Gregori, Fabio Panzieri WISP KAIST EECSD CALab Hwang.
DYNAMIC LOAD BALANCING ON WEB-SERVER SYSTEMS by Valeria Cardellini Michele Colajanni Philip S. Yu.
VMware vSphere Configuration and Management v6
Symbiotic Routing in Future Data Centers Hussam Abu-Libdeh Paolo Costa Antony Rowstron Greg O’Shea Austin Donnelly MICROSOFT RESEARCH Presented By Deng.
Managing Web Server Performance with AutoTune Agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigus Presented by Changha Lee.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
System Models Advanced Operating Systems Nael Abu-halaweh.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
1 Design and Implementation of a High-Performance Distributed Web Crawler Polytechnic University Vladislav Shkapenyuk, Torsten Suel 06/13/2006 석사 2 학기.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Clustered Web Server Model
Web Server Load Balancing/Scheduling
Introduction to Load Balancing:
Authors: Sajjad Rizvi, Xi Li, Bernard Wong, Fiodar Kazhamiaka
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
VIRTUAL SERVERS Presented By: Ravi Joshi IV Year (IT)
Data Dissemination and Management (2) Lecture 10
Operating Systems Processes Scheduling.
Chapter 6: CPU Scheduling
Replication Middleware for Cloud Based Storage Service
Distributed System Structures 16: Distributed Structures
Be Fast, Cheap and in Control
DISTRIBUTED CLUSTERING OF UBIQUITOUS DATA STREAMS
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Outline Midterm results summary Distributed file systems – continued
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
CS510 - Portland State University
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
THE GOOGLE FILE SYSTEM.
Chapter 6: CPU Scheduling
Database System Architectures
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Performance-Robust Parallel I/O
Module 5: CPU Scheduling
Data Dissemination and Management (2) Lecture 10
Presentation transcript:

Web Server Load Balancing/Scheduling Asima Silva Tim Sutherland

Outline Web Server Introduction Information Management Basics Load Sharing Policies FLEX WARD EquiLoad AdaptLoad Summary Conclusions Future Work

Introduction to Web Server Load Balancing Internet Request enters a router Load balancing server determines which web server should serve the request Sends the request to the appropriate web server Router Load-Balancing Server Web Servers Request Response Traditional Web Cluster

How do we split up information? Content Server Farm ? Content– all the files on the servers, each square is a subcontent, ex. A file, or a group of files Server Farm – collection/cluster of servers, which can be grouped using different characteristics to efficiently process the requests

Information Strategies Partition Replication

Load Balancing Approaches File Distribution Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher Content/Locality aware – grouping files by a common characteristic: ex. Location of the file, types of files, access rate of files Size Aware – grouped by the size of files Workload Aware – grouped by workload expected on the machine, frequency of the file accessed Load Balancing Router – Router that uses an algorithm which determines which server will process a request Dispatcher – transfers the request to the server to be processed, and any server can be a dispatcher

Issues Efficiently processing requests with optimizations for load balancing Send and process requests to a web server that has files in cache Send and process requests to a web server with the least amount of requests Send and process requests to a web server determined by the size of the request

FLEX Locality aware load-balancing strategy based on two factors: File Distribution Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher Locality aware load-balancing strategy based on two factors: Accessed files, memory requirements Access rates (working set), load requirements Partitions all servers into equally balanced groups Each server transfers the response to the browser to reduce bottleneck through the router (TCP Handoff)

Flex Diagram DNS Server S1 S2 Requests Forwards Request S3 S4 To Client Browser S5 S6 W(S1) ≈ W(S2) ≈ W(S3) ≈ … ≈ W(S6) Ar(S1) ≈ Ar(S2) ≈ Ar(S3) ≈ … ≈ Ar(S6)

FLEX Cont. Advantages: Highly scalable Reduces bottleneck by the load balancer No software is required Reduces number of cache misses

FLEX Cont. II Disadvantages: Not dynamic, routing tale must be recreated Only compared to RR Number of access logs required on each server could be tremendous Responsibility of load-balancing and transferring response is given to web servers – unorganized responsibility How often to update access rates and working sets? Monitor?

WARD Workload-Aware Request Distribution Strategy File Distribution Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher WARD Workload-Aware Request Distribution Strategy Server core are essential files that represent majority of expected requests Server core is replicated at every server Ward-analysis computes the nearly optimal core size determined by workload access patterns Number of nodes Node RAM TCP handoff overhead Disk access overhead

WARD Cont. Three components: dispatcher (load balancer), distributor (router), web server Three progressive architectures: CARD WARD LARD Dispatcher Dispatcher Distributor Front End LAN Server Dispatcher Distributor Front End LAN Server Switch Distributor Server Switch Front End Dispatcher Distributor Server LAN Single front-end distributor, centralized dispatcher Co-located distributor and server Co-located distributor, server, and dispatcher

WARD Diagram Switch S1 S2 S3 Requests S4 S5 S6 Queue: Queue: Requests Queue: Switch S4 Queue: S5 S6 Each computer is a distributor and a dispatcher Queue: Queue:

WARD Cont. II Similar to FLEX, sends response directly to client Minimizes forwarding overhead from handoffs for the most frequent files Optimizes the overall cluster RAM usage “by mapping a small set of most frequent files to be served by multiple number of nodes, we can improve both locality of accesses and the cluster performance significantly”

WARD Cont. III Advantages: No decision making, core files are replicated on every server Minimizes transfer of requests and disk reads, both are “equally bad” Outperforms Round Robin Efficient use of RAM Performance gain with increased number of nodes

WARD Cont. IV Disadvantages: Core files are created on past day’s data, could decrease performance up to 15% Distributed dispatcher increases the number of TCP requests transfers If core files not selected correctly, higher cache miss rate and increased disk accesses

WARD Results

EquiLoad File Distribution Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher Determines which server will process a request determined by the size of the requested file Splits the content on each server by file size, forcing the queues sizes to be consistent.

EquiLoad Solves Queue Length Problems This is bad Queue This is better 1k 2k 100k 1k 1000k 1k 2k 100k

EquiLoad Diagram Dispatcher Distributor S1 S2 Requests 1k-2k 2k-3k (periodically calculates partitions) S1 S2 Requests 1k-2k 2k-3k Forwards Request S3 S4 Distributor 3k-10k 10k-20k To Client Browser S5 S6 20k-100k >100k

EquiLoad Advantages Dynamic repartitioning Can be implemented at various levels DNS Dispatcher Server Minimum queue buildup Performs well under variable workload and high system load

EquiLoad Disadvantages Cache affinity is neglected Requires a front end dispatcher Distributor must communicate with servers Thresholds of parameter adjustment

EquiLoad  AdaptLoad AdaptLoad improves upon EquiLoad using “fuzzy boundaries” Allows for multiple servers to process a request Behaves better in situations where server partitions are very close in size

AdaptLoad Diagram Distributor Dispatcher S1 S2 Requests 1k-3k 2k-4k (periodically calculates partitions) S1 S2 Requests 1k-3k 2k-4k Forwards Request S3 S4 Dispatcher 3k-10k 8k-20k To Client Browser S5 S6 15k-100k >80k

AdaptLoad Results

Summary File Distribution Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher FLEX EquiLoad, AdaptLoad WARD

Conclusions There is no “best” way to distribute content among servers. There is no optimal policy for all website applications. Certain strategies are geared towards a particular website application.

Future Work Compare and contrast the three policies Figure out how often nodes should be repartitioned Compare each policy to a standard benchmark Figure out which policy works in a particular environment

Questions? Anyone have one?