Summary for Chapter 5 --Distributed Process Scheduling

Slides:



Advertisements
Similar presentations
Real Time Scheduling.
Advertisements

Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Ch 11 Distributed Scheduling –Resource management component of a system which moves jobs around the processors to balance load and maximize overall performance.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
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.
CPE555A: Real-Time Embedded Systems
A system Performance Model Instructor: Dr. Yanqing Zhang Presented by: Rajapaksage Jayampthi S.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
Martha Garcia.  Goals of Static Process Scheduling  Types of Static Process Scheduling  Future Research  References.
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
A SYSTEM PERFORMANCE MODEL CSC 8320 Advanced Operating Systems Georgia State University Yuan Long.
Reference: Message Passing Fundamentals.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
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.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
PRASHANTHI NARAYAN NETTEM.
Distributed Process Management1 Learning Objectives Distributed Scheduling Algorithms Coordinator Elections Orphan Processes.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
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.
Chapter 5 Distributed Process Scheduling. 5.1 A System Performance Model --Niharika Muriki.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Distributed Real-Time systems 1 By: Mahdi Sadeghizadeh Website: Sadeghizadeh.ir Advanced Computer Networks.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 Distributed Operating Systems and Process Scheduling Brett O’Neill CSE 8343 – Group A6.
 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.
1 Distributed Process Scheduling: A System Performance Model Vijay Jain CSc 8320, Spring 2007.
Static Process Schedule Csc8320 Chapter 5.2 Yunmei Lu
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Scheduling policies for real- time embedded systems.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
 A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
Summary :-Distributed Process Scheduling Prepared By:- Monika Patel.
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
6. Application mapping 6.1 Problem definition
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan.
Shuman Guo CSc 8320 Advanced Operating Systems
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
Distributed Process Scheduling : A Summary
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Distributed Real-Time Systems.
Static Process Scheduling
A System Performance Model Distributed Process Scheduling.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dr. Xiao Qin Auburn University
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dynamic Mapping Dr. Xiao Qin Auburn University
Pradeep Konduri Static Process Scheduling:  Proceedance process model  Communication system model  Application  Dicussion.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Introduction to Load Balancing:
Chapter – 5.2 Static Process Scheduling
Parallel Programming By J. H. Wang May 2, 2017.
Chapter 2 Scheduling.
Parallel Programming in C with MPI and OpenMP
Chapter 6: CPU Scheduling
Distributed Process Scheduling: 5.1 A System Performance Model
Chapter5: CPU Scheduling
Chapter 6: CPU Scheduling
Multiprocessor and Real-Time Scheduling
Overview of AIGA platform
Outline Announcement Distributed scheduling – continued
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
CS703 - Advanced Operating Systems
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Presentation transcript:

Summary for Chapter 5 --Distributed Process Scheduling Student: Zhibo Wang Professor: Yanqing Zhang

Chapter Outline Three process models: precedence, communication, and disjoint A system performance model that illustrate the relationship among the algorithm, scheduling, and architecture Static scheduling : precedence and communicate models Dynamic Scheduling: local sharing and balancing for disjoint and interacting process model Implementation: remote service and execution, and process migration Real-time scheduling and synchronization

Process Models It depicts the relationship among algorithm, scheduling and architecture to describe the Inter process communication Basically three types of model are there: Precedence process model Communication process model Disjoint process model It will be described by DAG(Directed Acyclic Graph)

Process Models Precedence process model This is best applied to the concurrent processes generated by concurrent languages constructs such as fork/join. A useful measure is to minimize the completion time including the computation and communication

Process Models Communication process model In this model processes co-exist and Communicate asynchronously. Edges in this model represent the need of communication between the processes

Process Models Disjoint process model In this processes run independently and completed in finite time. Processes are mapped to the processors to maximize the utilization of processes and minimize the turnaround time of the processes.

System Performance model Partitioning a task into multiple processes for execution can result in a speedup of the total task completion time. The speedup factor S is a function S = F(Algorithm; System; Schedule) The unified speedup model integrates three major Components Algorithm development System architecture Scheduling policy with the objective of minimizing the total completion time (makespan) of a set of interacting processes

Speed up n- Number of processes - Efficiency Loss when implemented on a real machine. RC-relative concurrency RP-relative processing requirement Speed up depends on: Design and efficiency of the scheduling algorithm. Architecture of the system RC, how far from optimal the usage of the n-processor is. It reflects how well adapted the given problem and its algorithm are to the ideal u processor system. RP, is the ratio of the total computation time needed for the parallel algorithm to the processing time Of the optimal sequential algorithm. So minimize the RP and maximize the RC can best use the system.

System Performance model If processes are not constrained by precedence relations and are free to be redistributed or moved around among processors in the system, performance can be further improved by sharing the workload statically - load sharing dynamically - load balancing Precedence relations

Static Process Scheduling Scheduling a set of partially ordered tasks on a nonpreemtive multiprocessor system of identical processors to minimize the overall finishing time (makespan) Except for some very restricted cases scheduling to optimize makespan is NP-complete Most research is oriented toward using approximate or heuristic methods to obtain a near optimal solution to the problem A good heuristic distributed scheduling algorithm is one that can best balance and overlap computation and communication

Static Process Scheduling Static Process Schedule is used to find optimal solution to the problem. There are two extreme cases of work assignment. mapping of processes is done before execution of the processes. once process started it stays at the processor until completion of the process. And never preempted. Decentralized and non –Adaptive are the drawbacks of Static process scheduling.

Precedence Process Model Computational model--this model is used to describe scheduling for ‘program’ which consists of several sub-tasks. The schedulable unit is sub-tasks. Primary objective of task scheduling is to achieve maximal concurrency for task execution within a program. Scheduling goal: minimize the makespan time.

Precedence Process Model Algorithms: List Scheduling (LS): Communication overhead is not considered. Using a simple greedy heuristic: No processor remains idle if there are some tasks available that it could process. Extended List Scheduling (ELS): the actual scheduling results of LS with communication consideration. Earliest Task First scheduling (ETF): the earliest schedulable task (with communication delay considered) is scheduled first. what is the scheduling results of the above example when there are two processors? how about four processors?

Communicating Process Model There are no precedence constrains among processes Modeled by a undirected graph G, node represent processes and weight on the edge is the amount of communication messages between two connected processes. Scheduling goal: maximize the resource utilization.

Dynamic load sharing and Balancing Load balancing can be defined as a technique to distribute work between many computers processes or any other resources to get optimal resource utilization. controller reduces the process idling through load sharing, by joining the shortest queue and equalizing queue sizes by load balancing. Further, processes can be allowed to move from longer queue to shorter queue through load Redistribution.

Sender Initiated Algorithm It is activated by a sender process that wishes to off-load some of its computation by migration of processes from a heavily loaded sender to a lightly loaded receiver. Transfer of process form a sender to receiver requires three basic decisions. Transfer policy:-when does the node become the sender? Selection Policy:-How does the sender choose a process for transfer? Location Policy:-which node should be the target receiver?

Receiver initiated Algorithm This are the pull models in which receiver can pull a process from others to its site for execution. They are more stable than the sender initiated algorithm. At high system load ,process migrations are few and a sender can be found easily. Receiver initiated algorithms perform better than the sender initiated algorithms Both the algorithms can be combined depending on RT and ST.

Distributed Process Implementation Depending on how the request messages are interpreted, there are three main application scenarios: Remote Service The message is interpreted as a request for a known service at the remote site. Remote Execution The messages contain a program to be executed at the remote site. Process Migration The messages represent a process being migrated to a remote site for continuing the execution.

Remote Service As remote procedure calls at the language level As remote commands at the operating system level As interpretive messages at the application level

Remote Execution The purpose of remote service is to access the remote host unlike remote service remote process maintains the view of originating system. Some Implementation issues: load sharing algorithms. Location independence. System heterogeneity. Protection and security.

Load-Sharing Algorithm Each process server are responsible to maintain the load information. The list of hosts participating are broadcasted. The selection procedure is by a centralized broker process. Once a remote host is selected- The client process server indicates the resource requirements to the process server at the remote site. If the client is authenticated and its resource requirements can be met, the server grants permission for remote execution. The transfer of code image follows, and the server creates the remote process and the stub. The client initializes the process forked at the remote site.

Location Independence Process created by remote execution requires coordination to accomplish common task. So it is necessary to support logical views for the processes. Each remote process is represented by an agent process at the originating host. It appears as though the process is running on a single machine.

System heterogeneity If remote execution is invoked on heterogeneous host , then it is necessary to re-compile the program. Overhead Issue. Solution: Use canonical machine-independent intermediate language for program execution.

Process Migration The message represents a process being migrated to the remote site for continuing execution. Process migration facility State and context transfer: It transfers the computation state information and communication state information

Real Time Scheduling Can be classified as: The systems which insures that certain actions are taken within specified time constraints are called real time systems. Can be classified as: Static vs dynamic Premptive vs non-premptive Global vs Local

Rate Monotonic It’s easy to implement. Sorts the tasks by the lengths of their periods. It also makes very good priority assignments. Rate monotonic is an optimal priority assignment algorithm.

Deadline Monotonic: In real time system some tasks need to complete execution a short time after being requested. Earliest Deadline First: This is applies dynamic priority scheduling to achieve better CPU utilization . Real time Synchronization: A set of tasks that cooperate to achieve a goal will need to share information and resources or other words synchronize with other tasks.

References [1].http://en.wikipedia.org/wiki/ [2]. Randy Chow, Theodore Johnson, “Distributed Operating Systems & Algorithms”, Addison Wesley.(all diagrams) [3].Dejan S. Milojicic Fred Douglis Yves Paindaveine Richard Wheeler Songnian Zhou, “Process Migration” , ACM Computing Surveys (CSUR) Volume 32 ,  Issue 3  (September 2000) [4]. S. Cheng, J.A. Stankovic and K. Ramamritham, ‘‘Scheduling Algorithms for Hard Real-Time Systems: A Brief Survey’’, page6-7 in Hard Real-Time Systems: Tutorial, IEEE (1988). [5] .Distributed Process Scheduling. Advanced Operating Systems Louisiana State University Rajgopal Kannan. Issues in Distributed Scheduling .www.csc.lsu.edu/

Any Question?