 Hello everyone, myself M.M. Mohan working in computer science and engineering department as an assistant professor in the Wallchin Institute of Technology, Swalapur. Today we are discussing the topic process migration in distributed system. Learning outcomes. At the end of this session, students will be able to explain the concepts of process migration in distributed system, also describe the different features of process migration in distributed system. Process management. To make best possible use of processing resources of the entire system by sharing them among all the processes. To achieve this goal, three important concepts are used. Process allocation, process migration and threads. Process allocation means it decides which process should be assigned to which processor. Process migration. It deals with movement of a process from its current location to the processor to which it has been assigned. Threads. It deals with fine grained parallelism. Process migration. The relocation of process from source node to destination node. What exactly happening? At the source node, the node will not be having the high processing capability. So, the job will not be executed at the source node. So, source node job will be transferred to the destination node. Only the condition is that at the destination node, that system will be having a good processing capability or highly processing capability. So, that job will be executed at the destination node. Here, the execution is suspended at the source node and transfer of control can be made at the destination node. So, process can be migrated from source node to destination node and at the destination node, the execution is resumed. Process migration. Two types of process migrations are non-prim tube and prim tube. Non-prim tube process migration migrates before it starts execution. Prim tube. A process migrates during its execution. So, in non-prim tube, before execution, the process should be migrated. In prim tube, a process should be migrated during its execution. Prim tube process migration is costlier than non-prim tube. Process environment also mood along with the process. Steps for process migration. Selection of a process that should be migrated. Selection of a destination node. Actual transfer of selected process to destination node. So, the first two steps belongs to migration policy. The third step belongs to migration mechanism. Desirable features of good process migration. The following are the features. Transparency, minimal interferences, minimal residue dependencies, efficiency, robustness, communication between co-processes. Now, we are going to see each and every feature one by one. Transparency. In transparency, the following levels of transparency exist. Object access level and system call and IPC level. In object access level, minimum requirement to support non-prim tube process migration access to objects is done in location independent manner. In system call and IPC level, a migrated object does not depend on its original node. All system calls including IPC are location independent. This transparency is used to support prim tube migration. IPC transparency is needed for transparent redirection of messages. Minimally interference. Migration of a process should be caused minimally interference to the progress of the process involved and the system as a whole. So, keep minimum involvement or interaction of migrant process with the other process. This is achieved by minimizing the freezing time of the process being migrated. Minimal residue dependencies. A migrated process should not in any way depend on the previous node. It has started its execution on new node. So, it is independent on the previous node. Disadvantages. Previous node might crash or diminish its benefits of migrating the process. So, if previous node get crashed, this message passing system or process migration system will not work properly here. That's why minimal residue dependencies there. Efficiency. The main sources of inefficiencies are the time required for migrating the process, the cost of locating an object, the cost of supporting remote execution once the process is migrated. If these all parameters are taken into account, then the efficiency of the process migration will get increases. So, time required means what? How much time is required for migrating that process from source node to destination node? Now, cost of locating an object, also cost of remote execution also considered for this efficiency. Robustness. The figure of a node other than the one on which a process is currently running should not in any way affect the execution of that process. So, one node get fails. Definitely that execution will be done on the another node. So, this robustness is one of the issues in this process migration. So, the execution of the process, it will not disturb the execution of the processes on that node. Communication between co-processes of a job. When a process of a single job is distributed over several nodes and parallel processing done, then these co-processes are able to directly communicate with each other irrespective of their location. This communication between different co-processes helps in performing different tasks. So, different processes are communicating with each other for different purposes. So, in process migration, we have to take into account of this communication between co-processes of a job. Process migration mechanisms. Four major activities in process migration mechanism. Freezing the process on source node and restarting it on its destination node. Meaning, we have to stop the execution on the source node and we have to migrate that process on destination node and resume the execution of that process onto the destination node. Transferring the process address space from its source node to destination node. In this case, only we have to transfer the address space of the execution of process from source node to destination node. node and at destination node, we have to resume the execution. Third, forwarding messages meant for the migrant process. Here, what are the messages getting at the original node? That should be forwarded to the migrant process where it should be migrated. At that place, the message should be forwarded. Fourth one is handling communication between co-operating processes that have been separated as a result of process migration. So here, different co-processors, they are communicating with each other that are also considered for the process migration mechanisms. Disadvantages of process migration. Failure of the original site will interrupt the message forwarding mechanism. Once the original site get fails, entire system will be crashed. Continuous load on migrant process origin site, even after the process has been migrated from that node. So here, on the original node, if the continuous load is applied, then that will also even the disadvantage of this process migration mechanism. Pause the video and write the answer. What are the different advantages of process migration mechanisms? Advantages of process migration mechanisms? Reducing the average response time of processes speeding up individual jobs, gaining higher throughput, utilizing resources effectively, reducing network traffic, improving system reliability, improving system security. Now, we're going to see one by one in detail each advantage of process migration. Reducing average response time. If load on the node increases, the average response time of the process increases. Hence, the migrate some process to the node that is idle or which is lightly loaded. Next one is speeding up individual jobs. Migrate tasks of a job to different nodes and execute them concurrently. Migrate a job to the node having faster CPU or to the node which has minimum turnaround time. So here, gaining execution time must be more than the migration cost. Gaining higher throughput in a system with the process migration facility, the capabilities of CPUs of all the nodes can be better utilized by using a suitable load balancing policy. This improves the throughput of the system. Next is utilizing resources efficiently. In the distributed system, the hardware resources and software resources of different nodes can be efficiently utilized by the process based on its requirements by migrating the process to suitable nodes. Reducing network traffic. Migrating a process closer to the resource if it is using heavily and frequently, such as files or printers, may reduce the network traffic. Migrate and cluster the process on that frequently communicative with each other on the same node to reduce the network traffic. Improve system reliability. Migrate a critical process to a node whose reliability is higher than the other nodes. Migrate a copy of critical process to some other node and to execute both the original copy and the copied process concurrently on different nodes. If one of the node faces manual shutdown, gradually degradation of a node, then the process can be migrated to another node to continue its execution on another node. Improving system security. A sensitive process may be migrated and run on a secure node that is not directly accessible to general users, thus providing security to that process. These are the references. Thank you.