Process migration

In computing, process migration is a specialized form of process management whereby processes are moved from one computing environment to another. This originated in distributed computing, but is now used more widely. On multicore machines (multiple cores on one processor or multiple processors) process migration happens as a standard part of process scheduling, and it is quite easy to migrate a process within a given machine, since most resources (memory, files, sockets) do not need to be changed, only the execution context (primarily program counter and registers).

The traditional form of process migration is in computer clusters where processes are moved from machine to machine, which is significantly more difficult, as it requires serializing the process image and migrating or reacquiring resources at the new machine. The first implementation of process migration was in the DEMOS/MP operating project at the University of California, Berkeley and was described in a 1983 paper by Barton Miller and Michael Powell.[1] Process migration is implemented in, among others, OpenMosix and the Sprite OS from the University of California, Berkeley.

  1. ^ Powell, Michael; Miller, Barton (1983). "Process Migration in DEMOS/MP" (PDF). Symposium on Operating Systems Principles. Bretton Woods, New Hampshire.