Process Migration
Process Migration
1 3 March 2018
References:
• Pradeep K. Sinha, “Distributed Operation Systems : Concepts
and Design” , PHI.
• Milojičić, Dejan S., Fred Douglis, Yves Paindaveine, Richard
Wheeler, and Songnian Zhou, “Process migration”, ACM
Computing Surveys (CSUR), Vol. 32, No. 3, 2000, pp. 241-
299. < ppt_downloaded\process migration.pdf>
2 3 March 2018
Process management
• Conventional(Centralied) OS:
deals with the mechanisms and policies for sharing the processor
of the system among all processes
3 3 March 2018
Process management contd…
• Three concepts to achieve this goal:
Processor allocation
Deals with the process of deciding which process should be assigned to which
processor
Process migration
Deals with the movement of a process from its current location to the
processor to which it has been assigned
Threads
Deals with parallelism for better utilization of the processing capability of
the system
4 3 March 2018
Process Migration
• Process Migration:
Relocation of a process from its current location (the source
node) to another node (the destination node).
5 3 March 2018
Process Migration Contd…
Process migration enables:
dynamic load distribution, by migrating processes from
overloaded nodes to less loaded ones,
fault resilience, by migrating processes from nodes that may
have experienced a partial failure,
improved system administration, by migrating processes from
the nodes that are about to be shut down or otherwise made
unavailable, and
data access locality, by migrating processes closer to the source
of some data.
6 3 March 2018
Goals
The goals of process migration are closely tied with the type
of applications that use migration.
Accessing more processing power is a goal of migration when
it is used for load distribution. Migration is particularly
important in the receiver-initiated distributed scheduling
algorithms, where a lightly loaded node announces its
availability and initiates process migration from an overloaded
node.
Resource sharing is enabled by migration to a specific node
with a special hardware device, large amounts of free memory,
or some other unique resource.
Fault resilience is improved by migration from a partially failed
7
node. 3 March 2018
Goals Contd…
System administration is simplified if long-running
computations can be temporarily transferred to other
machines. For example, an application could migrate from a
node that will be shutdown, and then migrate back after the
node is brought back up.
Mobile computing also increases the demand for migration.
Users may want to migrate running applications from a host
to their mobile computer as they connect to a network.
8 3 March 2018
System Requirements for Migration
To support migration effectively, a system should provide the
following types of functionality:
Exporting/importing the process state-
The system must provide some type of export/import interfaces that allow
the process migration mechanism to extract a process’s state from the
source node and import this state on the destination node.
These interfaces may be provided by the underlying operating system, the
programming language, or other elements of the programming
environment.
Naming/accessing the process and its resources-
After migration, the migrated process should be accessible by the same
name and mechanisms.
9 3 March 2018
System Requirements for Migration
Contd..
Cleaning up the process’s non-migratable state-
The migrated process has associated system state that is not migratable.
Migration must wait until the process finishes.
If the operation can be arbitrarily long, it is typically aborted and restarted
on the destination node. OR migration can wait for the completion of
local file operations for limited time frame.
Processes that cannot have their non-migrateable state cleaned cannot be
considered for migration.
10 3 March 2018
Process Migration contd…
• Two types:
Preemptive process migration
Process may be migrated during the course of its execution.
This type of process migration is relatively expensive, since it involves
recording, migration and recreation of the process state as well as the
reconstructing of any inter-process communication channels to which the
migrating process is connected.
11 3 March 2018
Process Migration contd…
The flow of execution of a migrating process:
Time
Process P1 in
execution
Execution
suspended
Transfer of
Freezing
control
Time
Execution resumed
Process P1 in
execution
12 3 March 2018
Process Migration contd…
• Involves three steps:
Selection of a process that should be migrated
Selection of the destination node to which the selected process
should be migrated
Actual transfer of the selected process to the destination node
13 3 March 2018
Some desirable features
• Minimal interference
• Should cause minimal interference to progress of process and
system.
• Can be done by minimizing freezing time.
• Freezing time: a time period for which the execution of the
process is stopped for transferring its information to the
destination node.
14 3 March 2018
Some desirable features contd…
• Minimal residual dependencies
• Migrated process should not continue to depend on its previous
node once it has started executing on new node.
• Otherwise problems will occur:
Migrated process continue to impose a load on its previous node
A failure or reboot of the previous node will cause the process to fail
15 3 March 2018
Some desirable features contd…
• Efficiency
Time required of migrating a process.
The cost of locating an object.
The cost of supporting remote execution once the process is
migrated.
• Robustness
The failure of a node other than the one on which a process is
currently running should not affect the execution of that process.
16 3 March 2018
Process migration mechanisms
Process migration involves proper handling of several sub-
activities to meet the good process migration mechanism
requirements.
17 3 March 2018
Process migration mechanisms
For preemptive process migration, the process is to take a
“snapshot” of the process’s sate on its source node and restore the
snapshot on the destination node.
Steps-
• 1st step: freeing the process
• Execution of the process is suspended and all external interactions are
postponed
• 2nd step: state information is transferred to its destination node
• 3rd step: process is restarted using state information on
destination node
18 3 March 2018
Process migration mechanisms
Immediate and Delayed blocking of the process
Before process can be frozen, its execution must be blocked
may be blocked immediately or delayed
if the process is not executing a system call --- can be
immediately blocked
21 3 March 2018
Address Space Transfer Mechanisms
• Total Freezing:
Process execution is stopped while its address space is being
transferred
Simple and easy to implement
Disadvantages:
Process is suspended for a long time during migration
Not suitable for interactive process, the delay can be occur
22 3 March 2018
Address Space Transfer Mechanisms
Total Freezing:
Time
Execution
suspended Migration decision
made
Transfer of
address space
Freezing
Time
Execution resumed
23 3 March 2018
Address Space Transfer Mechanisms
• Pretransferring (precopying):
Address space is transferred while the process is still running on
the source node.
Initial transfer of the complete address space followed by
repeated transfers of the pages modified during previous transfer.
Remaining modified pages are retransferred after the process is
frozen for transferring its state information.
Pretransfer operation is executed at a higher priority than all
other programs on the source node.
24 3 March 2018
Address Space Transfer Mechanisms
Pretransferring (precopying):
Time
Migration decision
made
Execution
suspended
Transfer of
address space
Freezing
Time
Execution resumed
25 3 March 2018
Address Space Transfer Mechanisms
Advantage:
freezing time is reduced
Disadvantage:
Total time of migration is increased due to the possibility of redundant
page transfers.
“Redundant pages are pages that are transferred more than once during
pretransferring”
26 3 March 2018
Address Space Transfer Mechanisms
• Transfer on reference
Based on the assumption that the process tends to use only a
relatively small part of their address space while executing.
A page of the address space is transferred from its source node to
destination node only when referenced.
Demand-driven copy-on-reference approach.
Switching time is very short and independent of the size of the
address space.
27 3 March 2018
Address Space Transfer Mechanisms
Transfer on reference
Time
Execution suspended
Migration decision
made
Freezing
Time Execution resumed
On demand
Transfer of address
space
28 3 March 2018
Address Space Transfer Mechanisms
Disadvantages:
Not efficient in terms of cost
Imposes continued load on process’s source node
Results in failure if source node fails or reboots
29 3 March 2018
Message forwarding mechanisms
Ensures that all pending, en-route and future messages arrive at the process’s
new location
Type 2: Message received at the source node after the process’s execution
has started on its destination node
Type 3: Messages that are to be sent to the migrant process from any other
node after it has started executing on the destination node
30 3 March 2018
Message forwarding mechanisms
• Mechanism of Resending the Message
Used in V-system and Amoeba.
32 3 March 2018
Message forwarding mechanisms
Link-Traversal Mechanism
Uses message queue for storing messages of type 1
Use of link (a forwarding address) for messages of type 2 and 3
Link is left at the source node pointing to the destination node
Migrated process is located by traversing a series of links
33 3 March 2018
Message forwarding mechanisms
Link-Traversal Mechanism
Drawbacks:
poor efficiency
Several links may have to be traversed to locate a process from a
node
poor reliability
If any node in the chain of links fails, the process cannot be located
34 3 March 2018
Message forwarding mechanisms
Link Update Mechanism
Processes communicate via location independent links
Messages of type 1 and 2 are forwarded to the destination node by source
node
During the transfer phase, the source node sends link update message to all
relevant kernels controlling all of the migrant process’s communication
partners
Link update message tell the new address of the migrant process
Type 3 messages are sent directly to the process’s destination node
35 3 March 2018
Mechanisms for handling co-processes
To provide efficient communication between a process (parent) and its
sub-processes (children)
Two different mechanisms
Disallowing separation of Co-processes
Home node or origin site concept
36 3 March 2018
Mechanisms for handling co-processes
Disallowing separation of Co-processes
By disallowing the migration of processes that wait for one or more of their
children to complete.
By ensuring that when a parent process migrates, its children processes will
be migrated along with it
Concept of logical host
o Address spaces and their associated process’s are grouped into
logical host
o Migration of a process is actually migration of logical host
Drawback:
Does not allow parallelism within jobs, which is achieved by
assigning various tasks of a job to the different nodes of the system
and execute them simultaneously
Overhead is large when logical host contains several processes
37 3 March 2018
Mechanisms for handling co-processes
Home node or origin site concept
Complete freedom of migrating a process or its sub-processes
independently and executing them on different nodes
All communications between a parent process and children processes take
place via home node
Drawback:
The message traffic and the communication cost increase
Lost communication of origin node is fails
38 3 March 2018
Advantages of process migration
Reducing average response time of processes
avg. response time is increase as load increase on to the node
Process is migrated from heavily loaded node to a ideal node
• Speeding up individual jobs
Execute tasks of a job concurrently
To migrate a job to a node having faster CPU
• Gaining higher throughput
If system does not support process migration, CPUs of all nodes are
not fully utilized.
If system support process migration, CPUs of all nodes can be better
utilized by using suitable load balancing policy
39 3 March 2018
Advantages of process migration
• Utilizing resources effectively
Capabilities of the various resources such as CPU, printers,
storage devices etc.
Depending on the nature of the process, it can be migrated to the
most suitable node
• Reducing network traffic
Migrate the process closer to the resources
To migrate and cluster two or more processes which frequently
communicate with each other, on the same node
40 3 March 2018
Advantages of process migration
• Improving system reliability
Migrating critical process to more reliable node
• Improving system security
A sensitive process may be migrated and run on the secure node that is
not directly accessible to general users thus improve the security of
that process
41 3 March 2018