next up previous
Next: Comparison of Implementations Up: A Survey of Process Previous: Motivations for Process Migration


Implementation Issues

There are many issues to consider when developing a system that will migrate an active process from one node (the source) to another (the target). Most of these issues must consider the interactions between two factors. The first factor is the level of transparency between the source and target--for example, do the two nodes share the same view of the filesystem? Or, do they have the same hardware peripherals?

The second factor is the management of the process' state. For each element of state that defines a process, the implementor of a migration scheme has three options when migrating the process to a target node:

Let us now illustrate the difference between these decisions with a design example. Each process has a set of file descriptors that describe aspects of files that the process is currently accessing; for example, the current access position within the file, and (implicitly) the name of the file being accessed. When migrating a process to a target node, we might choose to forward this file state information to the target node along with the process. Later, when the process running on the target node attempts to access a file, the target node can locally fulfill that request using the state information imported from the source node.

Alternately, the state of the file can be kept on the source node. When the process running on the target node attempts to access a file, it forwards the request back to the source node. The source node fulfills the request and returns the results (for example, data read from the file) to the target node.

This example also serves to illustrate the relationship between the process state and the transparency between the nodes. Forwarding the state to the target node is only useful if transparency between the nodes gives us a guarantee that the state will have same meaning on the target node as it did on the source. For example, forwarding the name of an open file and current access position to a target node is of no use if the target node does not have the same view of the filesystem as the source does.

Our open-file example illustrates the interplay between the decision of where to store a process' state and the level of transparency available on the system. There are a number of other decisions similar to the open-file decision that must be made as well. These are explored in the next section, along with the decisions made by the designers of several working migration systems.


next up previous
Next: Comparison of Implementations Up: A Survey of Process Previous: Motivations for Process Migration
Jeremy Elson 2000-04-05