DISTRIBUTED COMPUTING

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Multiple Processor Systems
Threads, SMP, and Microkernels
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.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
Chapter 5 Processes and Threads Copyright © 2008.
1 Threads CSCE 351: Operating System Kernels Witawas Srisa-an Chapter 4-5.
Computer Science Lecture 6, page 1 CS677: Distributed OS Processes and Threads Processes and their scheduling Multiprocessor scheduling Threads Distributed.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Learning Objectives Understanding the difference between processes and threads. Understanding process migration and load distribution. Understanding Process.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
DISTRIBUTED COMPUTING
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Processes and Threads.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
1 Distributed Operating Systems and Process Scheduling Brett O’Neill CSE 8343 – Group A6.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
DISTRIBUTED COMPUTING
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
1 Process migration n why migrate processes n main concepts n PM design objectives n design issues n freezing and restarting a process n address space.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
© 2000 Morgan Kaufman Overheads for Computers as Components Processes and operating systems Operating systems. 1.
Page 1 Process Migration & Allocation Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this.
Summary :-Distributed Process Scheduling Prepared By:- Monika Patel.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
Resource & Process Management. Resource Management Every distributed system consists of a number of resources interconnected by a network. Set of available.
DISTRIBUTED COMPUTING
Distributed System Services Fall 2008 Siva Josyula
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Static Process Scheduling
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
DISTRIBUTED COMPUTING
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
System Models Advanced Operating Systems Nael Abu-halaweh.
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Introduction to Load Balancing:
Operating Systems (CS 340 D)
Processes and Threads Processes and their scheduling
Operating Systems (CS 340 D)
DISTRIBUTED COMPUTING
CPU SCHEDULING.
Process Description and Control
Process Description and Control
Outline Announcement Distributed scheduling – continued
Process Description and Control
Process Description and Control
Process Description and Control
Operating System Overview
Presentation transcript:

DISTRIBUTED COMPUTING Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai Seema Shah, Principal, Vidyalankar Institute of Technology, Mumbai University

Chapter - 6 Distributed System Management

Topics Introduction Resource management Task assignment approach Load balancing approach Load sharing approach Process management in a distributed environment Process migration Threads Fault tolerance

Introduction

Categories of Distributed System management Resource management Process management Fault tolerance

Resource Management

Process scheduling techniques Task assignment approach Load balancing approach Load sharing approach

Example: Google system Load balancing by using least loaded server Proximity routing Fault masking

Desirable features of a good global scheduling algorithm No apriori knowledge about processes to be executed Ability to make dynamic scheduling decisions Flexible Stable Scalable Unaffected by system failures

Task Assignment Approach

Task assignment Minimize IPC costs Less turnaround time for process completion High degree of parallelism Efficient usage of all system resources

Graph theoretic deterministic algorithm A system with m CPUs and n processes has any of the following three cases: m=n: Each process is allocated to one CPU m<n: Some CPUs may remain idle or work on earlier allocated processes m>n: There is a need to schedule processes on CPUs, and several processes may be assigned to each CPU.

Example of graph theoretic deterministic algorithm-1 Weighted graph Each node is a process Each arc is message flowing between two processes

Example of graph theoretic deterministic algorithm-2

Centralized heuristic algorithm Also called Top down algorithm Allocated processing capacity fairly 2

Hierarchical algorithm Works between two levels in a group Top of the tree is truncated into a committee which manages fault tolerance

Load Balancing Approach

Load balancing Taxonomy Improve resource utilization

Issues in designing in load balancing algorithms Deciding policies for: Load estimation Process transfer Static information exchange Location Priority assignment Migration limitation

Policies for Load estimation Parameters: Time dependent Node dependent

Policies for Process transfer Threshold policy Static Dynamic

Location policies Used to select destination node

State information exchange Dynamic policy Decision based on state information

Priority assignment To schedule local and remote processes at a node

Migration limiting policies Uncontrolled policy Controlled policy

Load Sharing Approach

Issues in designing load sharing algorithms Load estimation policies Process transfer policies Location policies State information exchange policies

Location policies-1 Decides whether sender or receiver node process is to be migrated

Location policies-2 Sender initiated algorithms make scheduling decisions at process arrival epoch Receiver initiated algorithms make scheduling decisions at process departure epochs

State information exchange policies Broadcast Poll

Process Management In A Distributed Environment

Functions of distributed process management Process migration change of location and execution of a process from current processor to the destination processor

Desirable features of a good process migration mechanism Transparency Minimal interference Minimal residual dependencies Efficiency Robustness Ability to communicate between co processes of the job

Process Migration

Steps involved in process migration Freezing process on the source node Starting process on the destination node Transporting process address space on destination node Forward the messages addressed to migrated processes

Mechanism

Freezing process on source node Blocking sequence: Blocking the process immediately Wait for I/O operations to complete and then block the process. Track information about open files Create an empty process on the destination node Transfer the migrant process and address space Restart process on destination node

Address space transport mechanisms-1 Process address space: Process state: PCB information Process address space: Program code, data and stack

Address space transport mechanisms-2 Total freezing: Process execution stopped during address space transfer

Address space transport mechanisms-3 Pre transfer: Address space is transferred while process continues to run on source node Highest priority in scheduling

Address space transport mechanisms-4 Transfer-on –reference: Process state is transferred while address space is transferred on demand

Message forwarding Track and forward messages which have arrived on source node after process migration

Handle communication between cooperating processes Avoid separation of coprocesses Home node concept Deployed in Sprite system

Process migration in heterogeneous systems Handling floating point numbers Different sized exponents in XDR format Handling overflow and underflow Handling Mantissa Handling signed infinity and zero representations

Advantages of process migration Reduce average response time of heavily loaded nodes Speed up of individual jobs Better utilization of resources Improve reliability of critical processes Improving system security

Threads

Process v/s threads Analogy: Thread is to a process as process is to a machine

Comparison

Thread models Dispatcher worker model Team model Pipeline model

Thread: Dispatcher worker model

Thread: Team model

Thread: Pipeline model

Design issues in threads Thread semantics Thread creation, termination Thread synchronization Thread scheduling

Thread synchronization Execution in Critical region Use binary semaphore

Threads scheduling Priority assignment facility Choice of dynamic variation of quantum size Handoff scheduling scheme Affinity scheduling scheme Signals used for providing interrupts and exceptions

Implementing thread package User level approach Kernel level approach

Comparison of thread implementation-1

Comparison of thread implementation-2

Threads and Remote execution RPC RMI and Java threads

RPC execution

Threads are created on the fly

Fault Tolerance

Component faults Transient faults Intermittent faults Permanent faults ∞ Mean time to failure = ∑ kp (1-p) k-1 k=1 Mean time to failure = 1/p

System failures Fail silent faults / fail stop faults Byzantine faults

Use of redundancy Information redundancy Time redundancy Physical redundancy Active replication Primary backup methods

Active replication-1 State machine approach (TMR -Triple Modular Redundancy)

Active replication-2

Primary backup Uses two machines : Primary and backup Uses limited number of messages such that these messages go only to the primary server and no ordering is required

Summary Introduction Resource management Task assignment approach Load balancing approach Load sharing approach Process management in a distributed environment Process migration Threads Fault tolerance