Ch 11 Distributed Scheduling –Resource management component of a system which moves jobs around the processors to balance load and maximize overall performance.

Slides:



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

Scheduling Criteria CPU utilization – keep the CPU as busy as possible (from 0% to 100%) Throughput – # of processes that complete their execution per.
CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
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.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Scheduling.
1 Scheduling and Migration Lê Công Nguyên Trần Phúc Nguyên Phan Tiên Khôi.
Chap 5 Process Scheduling. Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU–I/O Burst Cycle – Process execution consists of a.
Local Area Networks LAN. Why LANs? Provide a means of DIRECT connection to other machines Manage access Provide reasonable performance Hopefully allow.
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.
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.
Wide Web Load Balancing Algorithm Design Yingfang Zhang.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Load distribution in distributed systems
Distributed Scheduling
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
CSC 360- Instructor: K. Wu CPU Scheduling. CSC 360- Instructor: K. Wu Agenda 1.What is CPU scheduling? 2.CPU burst distribution 3.CPU scheduler and dispatcher.
Operating System Concepts and Techniques Lecture 5 Scheduling-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques, First.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Chapter 6 CPU SCHEDULING.
Chapter 5 – CPU Scheduling (Pgs 183 – 218). CPU Scheduling  Goal: To get as much done as possible  How: By never letting the CPU sit "idle" and not.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Computer Science Lecture 8, page 1 CS677: Distributed OS Last Class Threads –User-level, kernel-level, LWPs Multiprocessor Scheduling –Cache affinity –Preemption.
Scheduling policies for real- time embedded systems.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
CPU Scheduling Presentation by Colin McCarthy. Runqueues Foundation of Linux scheduler algorithm Keeps track of all runnable tasks assigned to CPU One.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 5: CPU Scheduling Basic.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Distributed Real-Time Systems.
DISTRIBUTED COMPUTING
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
Static Process Scheduling
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
A System Performance Model Distributed Process Scheduling.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
Distributed Scheduling Motivations: reduce response time of program execution through load balancing Goal: enable transparent execution of programs on.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
System Models Advanced Operating Systems Nael Abu-halaweh.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
 In a single-processor system, only one process can run at a time; any others must wait until the CPU is free and can be rescheduled.  The objective.
Load Distributing Algorithm: Some load distribution algorithms are Sender Initiated algorithms Receiver Initiated algorithms Symmetrically Initiated algorithms.
Introduction to Load Balancing:
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Chapter 2 Scheduling.
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
3: CPU Scheduling Basic Concepts Scheduling Criteria
Scheduling.
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Load Balancing/Sharing/Scheduling Part II
Load Balancing/Sharing/Scheduling Part II
Outline Announcement Distributed scheduling – continued
Uniprocessor scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Ch 11 Distributed Scheduling –Resource management component of a system which moves jobs around the processors to balance load and maximize overall performance. –Typically makes sense in LAN level distributed systems due to latency concerns. –Needed because of uneven distribution of tasks on individual processors Can be due to several reasons. Can even make sense for homogeneous systems with (on average) even loads.

How does one characterize –Performance : average response time –Load: It has been shown that queue lengths for resources (e.g. CPUs) can be a good indicator. How does one handle the delay of transfer when systems are unevenly loaded and we seek to rectify that ? –Timeouts, holddowns Queue length not very appropriate for (nor correlated with) CPU utilization for some tasks (e.g. interactive).

Load balancing approaches may be –Static: Decisions are “hard wired” a-priori into the system based on designers understanding. –Dynamic: Maintain state information for the system and make decisions based on them. Better than static, but have more overhead. –Adaptive: A subtype of dynamic, they can change the parameters they analyze based on system load. Load balancing vs. Load sharing –Balancing typically involves more transfers. However, sharing algorithms that transfer in anticipation can also cause more transfers.

Transfers may be preemptive or non-preemptive –Preemptive transfers involve transferring execution state as well as the task. Non-preemptive transfers are essentially “placements” Load Distribution System Components –Transfer policy: Which node should send, who should receive (threshold based approaches are common) –Selection policy: Which task should be moved (new tasks, location independent tasks, long running tasks …) –Location Policy: Finding a receiver for a task. Typical approaches are polling or broadcast. –Information Policy Demand driven, Periodic, or State Change driven

Stability in a load sharing system –Queuing Theoretic: When total work arrival (tasks + load sharing overhead) is greater than rate at which CPU can work. Alternatively, look at the effectiveness of the algorithm. –Algorithmic : Does the algorithm lead to thrashing ?

Sender Initiated LD Algorithms The overloaded node attempts to send tasks to lightly loaded node –Transfer Policy: If new Tasks takes you above threshold, become sender. If receiving task will not lead to crossing over threshold, then become receiver –Selection Policy: Newly arrived tasks –Location Policy Random – still better than no sharing. Constrain by limiting the number of transfers Threshold – chose nodes randomly but poll them before sending task. Limited no. of polls. If process fails execute locally. Shortest – Poll all randomly selected nodes and transfer to least loaded. Doesn’t improve much over threshold. –Information Policy, Stability

Receiver initiated Load sharing process initiated by a lightly loaded node –Transfer Policy: Threshold based. –Selection Policy: Can be anything –Location Policy: Receiver selects upto N nodes and polls them, transferring task from the first sender. If none are found, wait for a predetermined time, check load and try again –Information Policy –Stability: At high loads, few polls needed since senders easy to find. At low loads, more polls but not a problem. However, transfers will tend to be preemptive.

Symmetric Algorithms –Simple idea – combine the previous two. One works well at high loads, the other at low loads. –Above Average Algorithm: Keep load within a range Transfer Policy: maintain 2 thresholds equidistant from average. Nodes with load > upper are senders, Nodes with load < lower are receivers. Location Policy: Sender Initiated: –Sender broadcasts “toohigh” message and sets up toohigh alarm –Receiver getting toohigh message replies with accept, cancels its toolow alarm, starts an awaitingtask alarm, and increments load value –Sender which gets accept message will transfer task as appropriate. If it gets toolow message, it responds with a toohigh to the sender. –If no accept has been received within timeout, send out changeaverage message.

Location Policy: Receiver Initiated –A receiver broadcasts a toolow message and sets toolow alarm. –Upon receiving toohigh message, do as in sender initiated –If toolow alarm expires, send changeaverage message Selection Policy Information Policy is demand driven, and has low overhead. Each node can change the range individually.

Adaptive Algorithms Stable Symmetric Algorithm. –Use information gathered during polling to change behaviour. Start by assuming that everyone is a receiver. –Transfer Policy: Range based with Uppper and Lower Threshold –Location Policy: Sender Initiated component polls node at head of receiver list. Depending on answer, either a task is transferred or node moved to OK or sender list. Same thing happens at the receiving end. Receiver initiated component polls senders list in order, OK list and receivers list in reverse order. Nodes are moved in and out of lists at sender and receiver. –Selection Policy – any, Information Policy – Demand driven –At high loads, receiver lists get empty preventing future polling and “deactivating” sender component. At low loads, receiver initiated polling is deactivated, but not before updating receiver lists. –Read Section 11.7, 11.8

Requirements for load distribution Scalability Location Transparency Determinism Preemption Heterogeniety

Case Studies V System –Measure system parameters and broadcast. Each node caches “n best” nodes to migrate a job to. When it gets a new job, checks if it is in “ n best” else migrate to one of the others Sprite –Receivers notify coordinator of status. Sender selects jobs manually. Preemptive transfers to provide “console user” with best service. Task Migration Issues –Policy mechanism separation, state transfer and restarts, location transparency, performance issues.