Open In App

Process Migration in Distributed System

Improve
Improve
Like Article
Like
Save
Share
Report

A process is essentially a program in execution. The execution of a process should advance in a sequential design. A process is characterized as an entity that addresses the essential unit of work to be executed in the system.

Process migration is a particular type of process management by which processes are moved starting with one computing environment then onto the next. 

Process Migration in Distributed System

There are two types of Process Migration:

  • Non-preemptive process: If a process is moved before it begins execution on its source node which is known as a non-preemptive process. 
  • Preemptive process: If a process is moved at the time of its execution that is known as preemptive process migration. Preemptive process migration is all the more expensive in comparison to the non-preemptive on the grounds that the process environment should go with the process to its new node.

Why use Process Migration?

The reason to use process migration are:

  • Dynamic Load Balancing: It permits processes to exploit less stacked nodes by relocating from overloaded ones.
  • Accessibility: Processes that inhibit defective nodes can be moved to other perfect nodes.
  • System Administration: Processes that inhabit a node if it is going through system maintenance can be moved to different nodes.
  • The locality of data: Processes can exploit the region of information or other extraordinary abilities of a specific node.
  • Mobility: Processes can be relocated from a hand-operated device or computer to an automatic server-based computer before the device gets detached from the network.
  • Recovery of faults: The component to stop, transport and resume a process is actually valuable to support in recovering the fault in applications that are based on transactions.

What are the steps involved in Process Migration?

The steps which are involved in migrating the process are:

  • The process is chosen for migration.
  • Choose the destination node for the process to be relocated.
  • Move the chosen process to the destination node.

The subcategories to migrate a process are:

  • The process is halted on its source node and is restarted on its destination node.
  • The address space of the process is transferred from its source node to its destination node.
  • Message forwarding is implied for the transferred process.
  • Managing the communication between collaborating processes that have been isolated because of process migration.

Methods of Process Migration

The methods of Process Migration are:

1. Homogeneous Process Migration: Homogeneous process migration implies relocating a process in a homogeneous environment where all systems have a similar operating system as well as architecture. There are two unique strategies for performing process migration. These are i) User-level process migration ii) Kernel level process migration.

  • User-level process migration: In this procedure, process migration is managed without converting the operating system kernel. User-level migration executions are more simple to create and handle but have usually two issues: i) Kernel state is not accessible by them. ii) They should cross the kernel limit utilizing kernel demands which are slow and expensive.
  • Kernel level process migration: In this procedure, process migration is finished by adjusting the operating system kernel. Accordingly, process migration will become more simple and more proficient. This facility permits the migration process to be done faster and relocate more types of processes.

Homogeneous Process Migration Algorithms: 

There are five fundamental calculations for homogeneous process migration:

  • Total Copy Algorithm
  • Pre-Copy Algorithm
  • Demand Page Algorithm
  • File Server Algorithm
  • Freeze Free Algorithm

2. Heterogeneous Process Migration: Heterogeneous process migration is the relocation of the process across machine architectures and operating systems. Clearly, it is more complex than the homogeneous case since it should review the machine and operating designs and attributes, as well as send similar data as homogeneous process migration including process state, address space, file, and correspondence data. Heterogeneous process migration is particularly appropriate in the portable environment where is almost certain that the portable unit and the base help station will be different machine types. It would be attractive to relocate a process from the versatile unit to the base station as well as the other way around during calculation. In most cases, this couldn’t be accomplished by homogeneous migration. There are four essential types of heterogeneous migration:

  • Passive object: The information is moved and should be translated
  • Active object, move when inactive: The process is relocated at the point when it isn’t executing. The code exists in the two areas, and just the information is moved and translated.
  • Active object, interpreted code: The process is executing through an interpreter so just information and interpreter state need to be moved.
  • Active object, native code: Both code and information should be translated as they are accumulated for a particular architecture.

Last Updated : 16 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads