Distributed Scheduling Motivations: reduce response time of program execution through load balancing Goal: enable transparent execution of programs on.

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Distributed Scheduling.
Advertisements

Ch 11 Distributed Scheduling –Resource management component of a system which moves jobs around the processors to balance load and maximize overall performance.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
The Selective Intermediate Nodes Scheme for Ad Hoc On-Demand Routing Protocols Yunjung Yi, Mario gerla and Taek Jin Kwon ICC 2002.
Towards an Exa-scale Operating System* Ely Levy, The Hebrew University *Work supported in part by a grant from the DFG program SPPEXA, project FFMK.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Scheduling.
Optimizing Buffer Management for Reliable Multicast Zhen Xiao AT&T Labs – Research Joint work with Ken Birman and Robbert van Renesse.
1 Scheduling and Migration Lê Công Nguyên Trần Phúc Nguyên Phan Tiên Khôi.
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
Scheduling in Batch Systems
Design and Performance Evaluation of Queue-and-Rate-Adjustment Dynamic Load Balancing Policies for Distributed Networks Zeng Zeng, Bharadwaj, IEEE TRASACTION.
Adaptive Routing Proshanto Mukherji CSC 457: Computer Networks University of Rochester.
20101 Synchronization in distributed systems A collection of independent computers that appears to its users as a single coherent system.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Distributed Operating Systems CS551 Colorado State University at Lockheed-Martin Lecture 6 -- Spring 2001.
Study of Distance Vector Routing Protocols for Mobile Ad Hoc Networks Yi Lu, Weichao Wang, Bharat Bhargava CERIAS and Department of Computer Sciences Purdue.
Grid Load Balancing Scheduling Algorithm Based on Statistics Thinking The 9th International Conference for Young Computer Scientists Bin Lu, Hongbin Zhang.
Strategies for Implementing Dynamic Load Sharing.
Distributed Process Management1 Learning Objectives Distributed Scheduling Algorithms Coordinator Elections Orphan Processes.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
Haidong Xue.  Part One: Knowledge in Textbook Motivation, Models, Concepts, Algorithms  Part Two: Recent Work Use the Mobile Agent and Include I/O Duplex.
Dynamic Load Sharing and Balancing Sig Freund. Outline Introduction Distributed vs. Traditional scheduling Process Interaction models Distributed Systems.
Summary :- Distributed Process Scheduling Prepared BY:- JAYA KALIDINDI.
1 Physical Clocks need for time in distributed systems physical clocks and their problems synchronizing physical clocks u coordinated universal time (UTC)
Load distribution in distributed systems
Distributed Scheduling
Challenges of Process Allocation in Distributed System Presentation 1 Group A4: Syeda Taib, Sean Hudson, Manasi Kapadia.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
Chapter 6: CPU Scheduling
Operating System Concepts and Techniques Lecture 5 Scheduling-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques, First.
1 Distributed Operating Systems and Process Scheduling Brett O’Neill CSE 8343 – Group A6.
Chapter 18 Distributed Control Algorithms Copyright © 2008.
 Escalonamento e Migração de Recursos e Balanceamento de carga Carlos Ferrão Lopes nº M6935 Bruno Simões nº M6082 Celina Alexandre nº M6807.
Fault Tolerance Recovery (Week:9). Introduction (Recovery) Recovery refers to restoring a system to its normal operational state Generally, its a very.
Scheduling Algorithms. A computer system has limited resources that must be shared among the processes competing for those resources. A computer system.
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
Computer Science Lecture 8, page 1 CS677: Distributed OS Last Class Threads –User-level, kernel-level, LWPs Multiprocessor Scheduling –Cache affinity –Preemption.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
What Every Developer Should Know about the Kernel Dr. Michael L. Collard 1.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Distributed Real-Time Systems (contd.)
S-Paxos: Eliminating the Leader Bottleneck
Cpr E 308 Spring 2005 Process Scheduling Basic Question: Which process goes next? Personal Computers –Few processes, interactive, low response time Batch.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
Routing Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Distributed Real-Time Systems.
DISTRIBUTED COMPUTING
LECTURE9 NET301 11/5/2015Lect 9 NET DYNAMIC MAC PROTOCOL: CONTENTION PROTOCOL Carrier Sense Multiple Access (CSMA): A protocol in which a node verifies.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Network Weather Service. Introduction “NWS provides accurate forecasts of dynamically changing performance characteristics from a distributed set of metacomputing.
Operating Systems Scheduling. Scheduling Short term scheduler (CPU Scheduler) –Whenever the CPU becomes idle, a process must be selected for execution.
Routing Semester 2, Chapter 11. Routing Routing Basics Distance Vector Routing Link-State Routing Comparisons of Routing Protocols.
Process Scheduling. Scheduling Strategies Scheduling strategies can broadly fall into two categories  Co-operative scheduling is where the currently.
Lecturer 5: Process Scheduling Process Scheduling  Criteria & Objectives Types of Scheduling  Long term  Medium term  Short term CPU Scheduling Algorithms.
Load Distributing Algorithm: Some load distribution algorithms are Sender Initiated algorithms Receiver Initiated algorithms Symmetrically Initiated algorithms.
William Stallings Data and Computer Communications
Computer Architecture: Parallel Task Assignment
Introduction to Load Balancing:
Routing.
Chapter 6: CPU Scheduling
Outline Scheduling algorithms Multi-processor scheduling
Load Balancing/Sharing/Scheduling Part II
Load Balancing/Sharing/Scheduling Part II
Outline Announcement Distributed scheduling – continued
Routing.
QoS routing Finding a path that can satisfy the QoS requirement of a connection. Achieving high resource utilization.
Presentation transcript:

Distributed Scheduling Motivations: reduce response time of program execution through load balancing Goal: enable transparent execution of programs on networked computing systems An aspect of current interest in “metacomputing” systems globus legion

Opportunities for Task Distribution P : probability of task distribution Server utilization

Task Distribution P : probability of task distribution Server utilization In lightly loaded systems there is not much opportunity for task distribution because most servers are underutilized

Task Distribution P : probability of task distribution Server utilization In heavily loaded systems there is not much opportunity for task distribution because no server is free to accept a task

Task Distribution P : probability of task distribution Server utilization In moderately loaded systems there are good opportunities to distribute tasks from over-utilized to under- utilized systems

Characteristics of Approaches Goals: load sharing (distribute load) vs. load balancing (equalize load) Information: static (invariant of system state) dynamic (uses system state) adaptive (changes actions with system state) Transfers: preemptive (interrupts task for transfer) vs. non-preemptive (transfers only new tasks)

Component Policies Transfer determines whether a node is in a state to participate in load transfers and in what role Selection determines which local task is involved in the transfer Location determines a pair of nodes to participate in task transfer Information determines what information is collected and how demand-driven (obtained when needed) periodic (at regular intervals) state-change-driven (obtained when nodes change state)

Kinds of Algorithms sender-initiated : an overloaded node searches for a underloaded node to take one of its tasks location policies: random, polling-first found, polling-least loaded stability: unstable/ineffective at high system loads receiver-initiated : an underloaded node searches for a task to take from an overloaded node location policies: random, polling stability: stable at high system loads drawback: uses preemptive transfers in many cases symmetrically-initiated : senders and receivers search for each other

Above-Average Algorithm This node’s estimate of the systems average load upper threshold (UT) lower threshold (LT) sender receiver *thresholds equidistant from average

Basic Step senderreceiver Accept TooLow if (receiver) { increment load; send accept; } TooHigh if (< LT ) if ( > UT) Task broadcast if (still sender) { send task; }

Basic Step senderreceiver if (still sender) TooHigh if ( > UT) TooLow if (< LT ) broadcast......

Timers senderreceiver start timer TooHigh if ( > UT) broadcast RaiseAverage (timer expires)

Timers senderreceiver start timer TooLowif ( < LT) broadcast LowerAverage (timer expires)

A Stable, Symmetrically Initiated Algorithm Load is measured by CPU queue length Transfer Policy: sender/overloaded receiver/underloaded OK

Stable, Symmetrically Initiated Algorithm Each node maintains three lists that are searched in the following orders: receiverOKsender sender search receiver search 1 3 2

Sender Protocol task poll from i poll node at head of receiver list reply current state sender i receiver j state j if ( == receiver) { send task; done; } else { put j on head of sender or OK list depending on state } state j j Sender continues polling until receiver list empty or task is transferred.

Receiver Protocol receiver continues polling until poll limit is reached or task is transferred. task poll from j poll next node sender i receiver j execute task if received if ( load > UT) { send task; } else { put j at head of receiver list; } send current statestate i put i at head of appropriate list

Stability At high loads: sender-initiated polling stops because receiver list becomes empty receiver-initiated polling has low overhead because it will quickly find a task to transfer At low loads: receiver-initiated polling will usually fail but overhead is acceptable and other nodes are updated sender initiated polling will quickly succeed At intermediate loads: receiver-initiated and sender-initiated both work

A Stable Sender-Initiated Algorithm Similar to previous algorithm except that it has a modified receiver protocol. Each node maintains a state vector, SV, indicating on which list the node is on at all other nodes. [ j ] on node i SV: sender/receiver/OK Note: the movement of node i to a different list on node j can only occur as a result of an interaction between nodes i and j. Thus, it is possible for node i to keep its information current.

Sender Protocol task poll from i poll node at head of receiver list; set SV[j] = sender; reply current state; set SV[i] = state sender i receiver j state j j Sender continues polling until receiver list empty or task is transferred. if ( == receiver) { send task; done; } else { put j on head of sender or OK list depending on state } state j put i at head of sender list

Receiver Protocol sender i receiver j j is receiver when load < LT then: for all i: if (SV[i] != receiver) { send update; set SV[i] = receiver; } put j at head of receiver list; Note: receiver only informs selected nodes of its status change.

Advantages The sender-initiated algorithm: avoids broadcasting of receiver state does not transfer preempted tasks (because it is sender-initiated) is stable (as for previous algorithm)

Selecting a Scheduling Algorithm