next up previous
Next: Logical Machine Migration Up: Introduction Previous: A Logical Machine

Process Migration


The concept of a process is not introduced in this report as processes are a well-known design in operating systems. Process Migration refers to the mobility of executing (or suspended) processes in a distributed computing environment. Usually, this term indicates that a process uses a network to migrate to another machine to continue its execution there. Sometimes the term is used to describe the change in execution from one processor to another processor within the same machine. I will use process migration in the first context - programs migrating between machines.

Several problems occur when a running process moves to another machine. Some of these problems are:

I/O redirection:
if a process does I/O to files or devices that are bound to a certain machine, there must be a way to redirect access to these resources even after the process migrated. This involves redirection of the I/O data stream over the network and has disadvantages concerning security, performance and reliability.
Inter-process communication:
messages sent to a process with process ID P on a machine M have to be redirected to the new machine N and the new process ID Q. The machine the process migrated away from needs to keep records of migrated processes. If multiple migration occurs, the overhead increases.
Shared memory:
if one of a group of cooperating processes migrates away and all these processes use a shared memory segment, then the network must be used to emulate shared memory access. This adds complexity and slows down access to the shared memory dramatically for processes that migrated away from the machine holding the shared memory.

The phenomena that a host computer must provide services to a process that migrated away is called Residual Dependency.

In addition to the problems mentioned above, process based operating systems usually maintain a variety of tables and states for running processesgif. There is no simple way to retrieve all administrative information about a process in a simple sequence of copy operations. Depending on the execution of the process, tables need to be searched, copied, altered and re-established on the destination system. Thus, process state replication is no simple task.

next up previous
Next: Logical Machine Migration Up: Introduction Previous: A Logical Machine