Description
This paper describes a process migration facility for the Sprite operating system. In order to provide location-transparent remote execution, Sprite associates with each process a distinguished home node, which provides kernel services to the process throughout the process's lifetime. System calls that depend on the location of a process are forwarded to the process's home node. Performance measurements based on a few simple benchmarks show that remote execution using the home-node model is efficient as long as the number of system calls that must be forwarded home is small; this appears to be the case as long as file-system-related calls can be handled without involving the home node. The benchmarks also show that the cost of migrating a process can vary from a fraction of a second to many seconds; it is determined primarily by the number of dirty virtual memory pages and file blocks associated with the process.