- It is the movement of an executing task from one host processor in distributed computing system to another.
- Task placement is the selection of a host for a new task and the creation of the task on that host.
Benefits of task Migration
- Load Balancing: Improve performance for a distributed computing system overall or a distributed application by spreading thee load more evenly over a set of host.
- Reduction in Communication overhead: By locating on one host a group of tasks with intensive communication amongst them.
- Resource access: Not all resources are available across the network, a task may need to migrate in order to access a special device, or to satisfy a need for a large amount of physical memory
- Fault tolerance: Allowing long running processes to survive the planned shutdown or failure of a host.
Steps involved in task migration
- Suspending the task on the source.
- Extracting and transmitting the state of the task to destination.
- Reconstructing the state on the destination
- Deleting the task on the source and resuming the task’s execution on the destination.
Task Migration Issues
- State Transfer
- Location transparency
- Structure of a migration mechanism
1. State Transfer
- The cost to support remote execution.
- Freezing the task.
- Obtaining and transferring the state.
- Unfreezing the task.
State Transfer mechanisms
- Recopying the state: Bulk of the task is copied to the new host before freezing the task.
- Location transparent file access mechanism
- Copy on reference: Just copy what is migrated task need for its execution.
3. Location Transparency
- Task Migration should hide the locations of tasks. Location transparency in principle requires that name (process name, file name) be independent of their locations (host names).
- Uniform name spacer throughout the system.
3. Structure of a migration mechanism
- Typically. Here will be interaction between the task migration mechanism, the memory management system, the interprocess communication mechanism and the file system.
- The mechanism can be designed to be independent for one another so that if one mechanism’s protocol changes; the other’s need not the migration mechanism can be turned off without interfering with other mechanisms.