Load Balancing in Distributed System. Prof. Ananthanarayana V.S. Dept. Of Information Technology N.I.T.K., Surathkal



Similar documents
A Dynamic Approach for Load Balancing using Clusters

A Study on the Application of Existing Load Balancing Algorithms for Large, Dynamic, Heterogeneous Distributed Systems

A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

Design and Implementation of Distributed Process Execution Environment

Performance Analysis of Load Balancing Algorithms in Distributed System

Scheduling Allowance Adaptability in Load Balancing technique for Distributed Systems

Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

CHAPTER 3 LOAD BALANCING MECHANISM USING MOBILE AGENTS

Various Schemes of Load Balancing in Distributed Systems- A Review

An Approach to Load Balancing In Cloud Computing

Load Balancing in cloud computing

Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment

MEASURING PERFORMANCE OF DYNAMIC LOAD BALANCING ALGORITHMS IN DISTRIBUTED COMPUTING APPLICATIONS

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT

Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Scheduling policy. ULK3e 7.1. Operating Systems: Scheduling in Linux p. 1

Efficient Parallel Processing on Public Cloud Servers Using Load Balancing

Operating System: Scheduling

LOAD BALANCING TECHNIQUES

Load Balancing Algorithms for Peer to Peer and Client Server Distributed Environments

Job Scheduling Model

OPERATING SYSTEMS SCHEDULING

Operating Systems. III. Scheduling.

@IJMTER-2015, All rights Reserved 355

CHAPTER 1 INTRODUCTION

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster

Energy Constrained Resource Scheduling for Cloud Environment

Comparative Study of Load Balancing Algorithms

Fair Scheduling Algorithm with Dynamic Load Balancing Using In Grid Computing

CPU Scheduling Outline

Performance Evaluation of Mobile Agent-based Dynamic Load Balancing Algorithm

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

A Survey Of Various Load Balancing Algorithms In Cloud Computing

A Survey on Load Balancing and Scheduling in Cloud Computing

Process Scheduling. Process Scheduler. Chapter 7. Context Switch. Scheduler. Selection Strategies

A Dynamic Load Balancing Algorithm For Web Applications

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

The International Journal Of Science & Technoledge (ISSN X)

Load Balancing. Load Balancing 1 / 24

Load Balancing to Save Energy in Cloud Computing

International Journal of Scientific & Engineering Research, Volume 6, Issue 4, April ISSN

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Keywords Load balancing, Dispatcher, Distributed Cluster Server, Static Load balancing, Dynamic Load balancing.

/ Operating Systems I. Process Scheduling. Warren R. Carithers Rob Duncan

A Review on Load Balancing In Cloud Computing 1

Load Balancing Model in Cloud Computing

Sla Aware Load Balancing Algorithm Using Join-Idle Queue for Virtual Machines in Cloud Computing

CHAPTER 6 SECURE PACKET TRANSMISSION IN WIRELESS SENSOR NETWORKS USING DYNAMIC ROUTING TECHNIQUES

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

Chapter 5 Linux Load Balancing Mechanisms

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Scheduling Algorithms

Load Balancing Techniques

Journal of Theoretical and Applied Information Technology 20 th July Vol.77. No JATIT & LLS. All rights reserved.

A number of tasks executing serially or in parallel. Distribute tasks on processors so that minimal execution time is achieved. Optimal distribution

Load balancing Static Load Balancing

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling

Load Balancing for Improved Quality of Service in the Cloud

Design of an Optimized Virtual Server for Efficient Management of Cloud Load in Multiple Cloud Environments

Load Balancing and Termination Detection

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT

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

A Clustered Approach for Load Balancing in Distributed Systems

Routing Protocols (RIP, OSPF, BGP)

A Survey on Load Balancing Algorithms in Cloud Environment

Announcements. Midterms. Mt #1 Tuesday March 6 Mt #2 Tuesday April 15 Final project design due April 11. Chapters 1 & 2 Chapter 5 (to 5.

Cloud Partitioning of Load Balancing Using Round Robin Model

CPU Scheduling 101. The CPU scheduler makes a sequence of moves that determines the interleaving of threads.

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Giving life to today s media distribution services

LOAD BALANCING MECHANISMS IN DATA CENTER NETWORKS

CLOUD COMPUTING PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM

Dynamic Load Balancing Algorithms For Cloud Computing

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Load Balancing Algorithms in Cloud Environment

Low-rate TCP-targeted Denial of Service Attack Defense

An Empirical Study and Analysis of the Dynamic Load Balancing Techniques Used in Parallel Computing Systems

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Load Balancing and Termination Detection

Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne Proseminar KVBK Linux Scheduler Valderine Kom

CPU Scheduling. CPU Scheduling

IMPROVED LOAD BALANCING MODEL BASED ON PARTITIONING IN CLOUD COMPUTING

Synchronization. Todd C. Mowry CS 740 November 24, Topics. Locks Barriers

Final Report. Cluster Scheduling. Submitted by: Priti Lohani

ADAPTIVE LOAD BALANCING FOR CLUSTER USING CONTENT AWARENESS WITH TRAFFIC MONITORING Archana Nigam, Tejprakash Singh, Anuj Tiwari, Ankita Singhal

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

How To Provide Qos Based Routing In The Internet

Multimedia Requirements. Multimedia and Networks. Quality of Service

Operating Systems Lecture #6: Process Management

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

Transcription:

Load Balancing in Distributed System Prof. Ananthanarayana V.S. Dept. Of Information Technology N.I.T.K., Surathkal

Objectives of This Module Show the differences between the terms CPU scheduling, Job scheduling, Load balancing Requirements of Load balancing algorithms Basic load balancing algorithms Important parameters while designing load balancing algorithms Challenges in load balancing algorithms

Road Map CPU Scheduling Vs. Load Scheduling Load Balancing Scheduling Policies Load Balancing Components Load Balancing Strategies

CPU Scheduling Conventional Issue: In multiprogramming environment (with single CPU), which job is scheduled to the processor NEXT? Need: To allocate the job for execution... J O B S DIFFERENT SCHEDULING TECHNIQUES: 1. FIRST COME FIRST SERVE 2. PRIORITY BASED 3. ROUND ROBIN BASED 4. MULTI LEVEL FEEDBACK QUEUES 5. ETC.

Load (Job) Scheduling Issue: In distributed environment, which job is scheduled to which distributed processor? Need: To allocate the job for execution JOB JOB...? JOB

Load Balancing Issue: Redistribution of processes/task in the DCS. Redistribution: Movement of processes from the heavily loaded system to the lightly loaded system Need: To improve the Distributed Systems throughput?? Process Process

Job Scheduling Local queue(s)... CPU SITE 1 Job scheduler Local queue(s)... CPU SITE 2 Stream of jobs Local queue(s)... CPU SITE N Can be considered as a QUEUEING MODEL MULTI JOB MULTI QUEUES SYSTEM

Job Scheduling Policies Random: Simple and static policy The job scheduler will randomly allocate the job to the site i with some probability pi, where Σpi = 1 No site state information is used Cycle: The job scheduler will allocate the job to the site i, if the previous job allocation was to the site i 1 using the function (i 1)+1 mode N It is semi static policy, where in the job scheduler remembers the previously allocated site. Join the Shortest Queue (JSQ): The job scheduler remembers the size of local queue in each site. The job will be allocated to the queue which is shortest at the point of arrival of that job.

Job Scheduling Policies Parameters of Interest Mean response time of jobs Mean delay of the jobs Throughput of the system Obviously the JSQ is having better edge over other two in terms of these parameters.

Load Balancing Basically two types: Sender Initiated Load Balancing Receiver Initiated Load Balancing

Sender Initiated Load Balancing

Components of Sender Initiated Load Balancing Idea: Node with the higher load (sender) initiate the load balancing process. Transfer Policy Policy about whether to keep the task/process at that site or transfer to some other site (or node) Location Policy If decided to transfer, policy about where to transfer? Note that any load balancing algorithm should have these to components

Transfer Policy At each node, there is a queue If queue length of a node < τ (threshold) Originating task is processed in that node only Else Transfer to some other node Local queue τ... CPU In this policy each node uses only local state information

Location Policy Random Policy Threshold Location Policy Shortest Location Policy

Random Policy Node status information are not used Destination node is selected at random and task is transferred to that node On receipt of the task, the destination node will do the following: If the threshold of the node is < τ, then accept the task Else transfer it to some other random node If number of transfers reach some limit, L limit then, the last recipient of the task has to execute that task irrespective of its load. This is to avoid unnecessary thrashing of jobs.

Threshold location policy Uses node status information for some extent about the destination nodes. Selects the node at random. Then, probe that node to determine whether the transferring task to that node would place its load above the threshold. If not, the task is transferred and the destination node has to process that task regardless of its state when the task actually arrives. If so, select the another node at random and probe in the same manner as above. The algorithm continues either suitable destination is found or number of probes reaches some limit, T limit. If the number of probes > T limit then, the originating node should process the task

Shortest Location Policy Uses additional information about the status of other node to make best choice of the destination node. In this policy, L p number of nodes are chosen at random and each is polled to determine their queue length. The task is transferred to the node having shortest queue length among the one with threshold < τ If none exist with the threshold < τ, then the next L p number of nodes are polled and above step is repeated Once group of node selection reaches some limit, L s, then the originator should handle the task

Receiver Initiated Load Balancing

Components of Receiver Initiated Load Balancing Idea: Under loaded node (receiver) initiate the load balancing process. Receiver tries to get the task from overloaded node, sender. Transfer Policy (threshold policy) Where the decision is based on CPU queue length. If it falls below certain threshold, τ, the node is identified as receiver for obtaining task from the sender Location Policy If decided to receive, policy about from where to receive?

Location Policy Threshold Location Policy A random node is probed to see whether it can become a potential sender. If so, the task is transferred from the polled node. Else, the process is repeated until a potential sender is found or number of tries reaches a PollLimit. Longest Location Policy A pool of nodes are selected and probed to find the potential sender with longest queue length (greater than τ). If found, then the task is received from that sender. Else the above process is repeated with new pool of nodes.

Drawback of Receiver Initiated Algorithm Most of the tasks selected for transfers from the senders are all preemptive one. The reason is: The job scheduler always gives higher priority for allocating the fresh job to the processor compared to the existing processes at different stages of execution. So, by the time the receiver decide to pick the task, it underwent some execution.

Symmetrically Initiated Algorithm These are algorithms having both sender initiated and receiver initiated components. Idea is that at low system loads the sender initiated component is more successful in finding the under loaded nodes and at high system loads the receiver initiated component is more successful in finding the overloaded nodes.

Symmetrically Initiated Algorithm Above Average Algorithm Adaptive Algorithms Stable Symmetrically Initiated Algorithm Stable Sender Initiated Algorithm

Above Average Algorithm Idea: There is acceptable range (AR) in terms of load is maintained. The node is treaded as sender if its load > AR The node is treated as receiver if its load < AR Else it is a balanced node. Transfer Policy: AR is obtained from two adaptive thresholds and they are equidistance from estimated average load of the system For example, if the estimated average load of the system = 2, then lower threshold (LT) = 1 and upper threshold (UT) = 3 So, if the load of the node is <=LT then it is a receiver node. If the load of the node is >= UT, then it is a sender node. Balanced node other wise.

Above Average Algorithm Contd. Location Policy: Consists of two components Sender Initiated Component: 1. The node with load > AR is called sender. The sender broadcasts TOOHIGH message, sets TOOHIGH timeout alarm and listen for ACCEPT message 2. On receipt of TOOHIGH message, the receiver (whose load < AR) cancels its TOOLOW timeout alarm sends ACCEPT message to the node which has sent TOOHIGH message increments its load value set AWAITINGTASK timeout alarm if no task transfer within AWAITINGTASK period, then its load value is decremented 3. On receipt of ACCEPT message, sender sends the task to the receiver. [Note that the broadcasted TOOHIGH message will be received by many receiver and for the first ACCEPT message, the sender will transfer the task]. 4. On expiry of TOOHIGH timeout period, if no ACCEPT message is received by the sender, then sender infers that its estimated average system load is too low. To correct the problem, it broadcasts CHANGEAVERAGE message to increase the average estimated load at all other sites.

Above Average Algorithm Contd. Receiver Initiated Component: 1. Receiver broadcasts TOOLOW message, sets TOOLOW timeout alarm and wait for TOOHIGH message. 2. On receipt of TOOHIGH message, perform the activities as in step 2 of Sender Initiated Component 3. If TOOLOW timeout period expires, then it infers that its estimated average system load is too high and broadcasts CHANGE AVERAGE message to decrease the estimated average load at all sites.

Stable Symmetrically Initiated Algorithm Idea: In this algorithm, the information gathered during polling is used to classify the node as SENDER, RECEIVER or BALANCED. Each node maintains a list for each of the class. Since this algorithm updates its lists based on what it learns from (or by) probing, the probability of selecting the right candidate for load balancing is high. Unlike Above average algorithm, no broadcasting, hence the number of messages exchanges are less. Initially each node assumes that every other node is RECEIVER except itself. So, the SENDER and BALANCED lists are empty to start with.

Stable Symmetrically Initiated Transfer Policy: Algorithm Contd. This policy is triggered when the task originates or departs. This policy uses two thresholds: UT (upper threshold) and LT (lower threshold). The node is sender, if its queue length > UT, a receiver, if its queue length < LT and balanced if LT queue length UT

Stable Symmetrically Initiated Algorithm Contd. Location Policy: Has two components Sender Initiated Component: 1. When the node becomes sender, it polls the node at the head of its RECEIVER list. The polled node removes the sender under consideration from its RECEIVER list and put it into the head of its SENDER list (i.e., it learns!). It also informs to the sender that whether it is a sender or a receiver or a balanced node. 2. On receipt of the reply the sender do the following: If the polled node is receiver, sender transfers the task to it and updates its list (putting the polled node at the head of RECEIVER or BALANCED list) Otherwise, updates the list (putting the polled node at the head of SENDER or BALANCED list) and again start polling the next node in its RECEIVER list 3. The polling process stops if The receiver is found or RECEIVER list is empty or Number of polls reaches POLL LIMIT 4. If polling fails, the arrived task has to be processed locally. However, there is a chance of migration under preemptive category.

Stable Symmetrically Initiated Receiver Initiated Component: 1. When the node becomes receiver, it polls the node at its head of SENDER list. The polled node updates its list (i.e., places this node at the head of RECEIVER list). It also informs the receiver that whether it is a sender or a receiver or a balanced node. 2. On the receipt of reply the receiver do the following: If the responded node is a receiver or a balanced node, then its list is updated accordingly. Otherwise (i.e., responded node is a sender), the task sent by it is received and the list is updated accordingly 3. The polling process stops if: The sender is found or No more entries in the SENDER list or The number of polls reaches POLL LIMIT Algorithm Contd. Note that at high load, receiver initiates the poll and at low load sender initiates the poll. So this will improve the performance.

Stable Sender Initiated Algorithm In this algorithm, there is no transfer of tasks when a node becomes receiver. Instead, its status information is shared. Hence there is no preemptive task transfers. The sender initiated component is same as that of stable symmetrically initiated algorithm. (like list generation, learning the status via polling etc) Stable sender initiated algorithm maintains an array (at each node) called status vector of size = number of nodes in DCS.

Stable Sender Initiated Algorithm Status vector 1 2 j N...... Node i The entry j in the status vector of node i indicates the best guess (receiver / sender /balanced node) about node iby the node j SENDER INITIATED COMPONENT When the node become sender, it polls the node (say j) at the head of its RECEIVER list The sender updates its jth entry of its status vector as sender. Likewise, the polled node (j) updates ith entry in its status vector based on its reply it sent to the sender node. Note that above two aspects are additional information it learns along with the other things as in sender component of stable symmetrically initiated algorithm RECEIVER INITIATED COMPONENT When the node becomes receiver, it checks its status vector and informs all those nodes that are misinformed about its current state The status vector at the receiver side is then updated to reflect this changes

Stable Sender Initiated Algorithm Advantages: No broadcasting of messages by the receiver about its status No preemptive transfer of jobs, since no task transfers under receiver initiated component Additional learning using status vector reduces unnecessary polling

Challenges Load Balancing Algorithm Scalability: Ability to make quicker decision about task transfers with lesser efforts Location transparency: Transfer of tasks for balancing are invisible to the user. Determinism: Correctness in the result inspite of task transfers Preemption: Transfer of task to the node should not leads degraded performance for the task generated at that node. So, there is a need for preemption of task when the local task arrives at node Heterogeneity: Heterogeneity in terms of processors, operating systems, architecture should not be hindrance for the task transfers.

Summary Differences between CPU scheduling, Job scheduling and load balancing are discussed. Different load balancing algorithms are discussed. They are categorized under sender initiated, receiver initiated, symmetrically initiated and variations of symmetrically initiated algorithms are discussed.

References Advanced Operating Systems M Singhal and N G Shivarathri, McGraw Hill, International Distributed Operating Systems A S Tanenbaum, Prentice Hall Distributed Systems Concepts and Design G Coulouris and J Dollimore, Addison Wesley