Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Oct 1995 23:25:14 -0400 (EDT)
From:      Mark Hittinger <bugs@ns1.win.net>
To:        hackers@freebsd.org
Subject:   re: process migration
Message-ID:  <199510250325.XAA00130@ns1.win.net>

next in thread | raw e-mail | index | archive | help
> From: Gavin Lim <gavin@linux1.dlsu.edu.ph>
> We're developing a process migration facility for FreeBSD 2.0.5.  Process 
> migration is the procedure by which running processes are transferred 
> from one computer to another in a network.  This would make load sharing 
> and load balancing in distributed systems possible.
> In order to transfer a process, we have to save the process state, 
> probably save it to a file, and transfer this file to the destination 
> computer, where it would be deserialized and converted back to data 
> structures.  When this is done, the process can resume execution on the 
> destination computer.

This sort of thing has been attempted before in TOPS-10 and VMS.  In TOPS-10
it was called "system sleep" and in VMS it was  RUN/CHECKPOINT.

This would be a very useful feature even in a single processor environment.
If you need to shut the system down for some sort of maintenance, you could
"sleep" the processes and shut down the machine.  Then you could reboot
and continue the checkpointed processes.

It is important to note that these features were beta only and never made
it into an official release (the TOPS-10 one may have).

Basically the implementation idea was to create a page fault scenario and
page out the entire image.  The context of the process would also be saved
in the swap space.

Then you'd have to copy the swap space context of the process to another
machine, or shutdown/reboot, and then swap the process back in.

The problems are in file locking, shared memory segments, buffers that
need to be flushed to the file system, etc.  

Its a big problem but a neat idea.

Good Luck!

Regards,

Mark Hittinger
Internet Manager
WinNET Communications, Inc.
bugs@win.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510250325.XAA00130>