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.

Slides:



Advertisements
Similar presentations
OPERATING SYSTEMS PROCESSES
Advertisements

Ch4. Processes Process Concept (1) new waiting terminate readyrunning admitted interrupt exit scheduler dispatch I/O or event completion.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Process Description and Control Module 1.0. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Process Description and Control Chapter 3. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
CSCE 351: Operating System Kernels
G Robert Grimm New York University Fine-grained Mobility (in Emerald)
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Process Description and Control A process is sometimes called a task, it is a program in execution.
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
1 Distributed Systems: Distributed Process Management – Process Migration.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Process Description and Control Chapter 3. Major Requirements of an OS Interleave the execution of several processes to maximize processor utilization.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Chapter 41 Processes Chapter 4. 2 Processes  Multiprogramming operating systems are built around the concept of process (also called task).  A process.
Chapter 3 Process Description and Control
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
Transparent Process Migration: Design Alternatives and the Sprite Implementation Fred Douglis and John Ousterhout.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-1 Process Concepts Department of Computer Science and Software.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 9: Virtual Memory.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Process Description and Control Chapter 3. Source Modified slides from Missouri U. of Science and Tech.
DISTRIBUTED COMPUTING
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
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.
 Process Concept  Process Scheduling  Operations on Processes  Cooperating Processes  Interprocess Communication  Communication in Client-Server.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
Processes and threads.
Chapter 3: Process Concept
Operating Systems (CS 340 D)
Chapter 9: Virtual Memory
Chapter 2: System Structures
Lecture Topics: 11/1 Processes Process Management
Processes Overview: Process Concept Process Scheduling
Operating Systems (CS 340 D)
Chapter 16: Distributed System Structures
Applied Operating System Concepts
Process Virtualization. Process Process is a program that has initiated its execution. A program is a passive entity; whereas a process is an active entity.
Chapter 4: Processes Process Concept Process Scheduling
Lecture 2: Processes Part 1
Chapter 9: Virtual-Memory Management
Operating System Concepts
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Process Description and Control
Process Migration Troy Cogburn and Gilbert Podell-Blume
Processes Hank Levy 1.
Outline Announcement Distributed scheduling – continued
Implementing Processes, Threads, and Resources
Processes Hank Levy 1.
Presentation transcript:

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 transfer n handling messages for moved processes n handling co-processes

2 Advantages of process migration n balancing the load: u reduces average response time of processes u speeds up individual jobs u gains higher throughput n moving the process closer to the resources it is using: u utilizes resources effectively u reduces network traffic n being able to move a copy of a process (replicate) on another node improves system reliability n a process dealing with sensitive data may be moved to a secure machine (or just to a machine holding the data) to improve security

3 Process migration n Load balancing (load sharing) policy determines: u if the process needs to be moved (migrated) from one node of the distributed system to another. u which process needs to be migrated u what is the node to which the process it to be moved n process migration mechanism deals with the actual transfer of the process source node destination node execution resumed process in execution time freezing time execution suspended transfer of control

4 Desirable features of good process migration mechanism n Transparency u object access level - access to objects (such as files and devices) by process can be done in location -independent manner. u system call and interprocess communication level - the communicating processes should not notice if one of the parties is moved to another node, system calls should be equivalent n Minimal interference (with process execution) - minimize freezing time n Minimal residual dependencies - the migrated process should not depend on the node it migrated from or: u previous node is still loaded u what if the previous node fails? n Efficiency: u minimize time required to migrate a process u minimize cost relocating the process u minimize cost of supporting the migrated process after migration

5 Parts of process migration mechanism n freezing the process on its source node and restarting at destination node n moving the process’ address space n forwarding messages meant for the migrant process n handling communication between cooperating processes that are separated (handling co- processes)

6 Freezing and restarting of process n blocks the execution of the migrant process, postponing all external communication u immediate blocking - when not executing system call u postponed blocking - when executing certain system calls n wait for I/O operations: u wait for fast I/O - disk I/O u arrange to gracefully resume slow I/O operations at destination - terminal I/O, network communication n takes a “snapshot” of the process state u relocatable information - register contents, program counter, etc. u open files information - names, identifiers, access modes, current positions of file pointers, etc. n transfers the process state to the destination n restarts the process on destination node

7 Address space transfer n Process state (a few kilobytes): u contents of registers, program counter, I/O buffers, interrupt signals, etc. n Address space (several megabytes) - dominates: u program’s code, data and stack n Several approaches to address space transfer u total freezing - no execution is done while address space is transferred - simplest, slowest u pretransferring - address space is transferred while the process is still running on the source node, after the transfer, the modified pages are picked up u transfer on reference - the process is restarted before the address space is migrated - the pages are fetched from the source node as the process needs them

8 Message forwarding n Three types of messages: 1. received when the process execution is stopped on the source node and has not restarted on the destination node 2. received on the source node after the execution started on destination node 3. sent to the migrant process after it started execution on destination node n approaches: u re-sending - messages of type 1 and 2 are either dropped or negatively ack-ed, the sender is notified and it needs to locate the migrant process - nontransparent u origin site - origin node keeps the info on the current location of the process created there, all messages are sent to origin which forwards them to migrant process - expensive, not fault tolerant

9 Message forwarding (cont.) n Approaches to message forwarding: u link traversal F messages of type 1 are queued and sent to destination node as part of migration procedure F forwarding address (link) is left on source node to redirect messages of type 2 and 3, link contains the system-wide unique id of a process and its last known location - may not be efficient or fault tolerant u link update - during the transfer the source node sends the notification (link update) of the transfer to all the nodes to which the process communicates: F messages of type 1 and 2 are forwarded by the source node F messages of type 3 are sent directly to the destination node

10 Co-processes handling n Need to provide efficient communication between a parent process and subprocesses n no separation of co-processes: u disallow migration of a process if it has children u migrate children together with process F logical host concept - co-processes are always executed on one logical host, and logical host is migrated atomically n home node (origin site): u all communication between co-processes is handled through home node - expenisve