Implement a Remote Fork facility

Dennis L. Mumaugh dlm at cuuxb.ATT.COM
Thu Nov 3 07:58:45 AEST 1988


In article <1777 at pembina.UUCP> anthony at alberta.UUCP (Anthony Mutiso) writes:

> I have  a  feeling  that  someone  out  there  has  tried  to
> implement a _remote fork_ system call.  This is necessary for
> process migration etc.

> MY PROBLEM:  How does one copy  a  active  process  execution
> image, and restart it else where jumping to same location the
> parent process is at.

> REQUIREMENTS:  Open file  descriptors  and  the  offset  that
> where  in  the  parent process are available in the so called
> child  (Parent  child  relationship  slightly  altered).  All
> variables hold the same values as they did in the parent just
> prior to the _remote fork_ call.  The  child  continues  it's
> existence  from  the  point  the parent forked at. == all the
> above are the results we have all come  to  love  ==  in  the
> fork(2) system call.

> I have looked at all sorts of things with very poor  results.
> Copying  the  parents  file  descriptor table, but where does
> that leave me, at best I will end up with inode numbers  that
> are   rather   difficult  to  map  back  to  file  pathnames.
> Generating a core of the running process (stopped of course),
> and finding a way to transform the core(5) to a.out(5) format
> with the program entry point somewhere else. (How does one do
> that).

> I need ideas, clues, insight,  and  general  all-round  help.
> Please  if  anyone has looked at this issue please fill me in
> (mail).

Ordinarily I would respond by email BUT people haven't  heard  of
the  following,  so I will append the necessary pointers.  By the
way, it includes the scheme for mapping from file  descriptor  to
file name, etc.

[ This is refer format ].

%A D. H. Lawrie
%A J. M. Randal
%A R. R. Barton
%T Experiments with Automatic File Migration
%J COMP
%I University of Illinois
%D 1982
%P 45-55

%A David Maier
%R UIUCDCS-R-86-1240
%I Department of Computer Science, University of Illinois
%C Urbana, Illinois 61801
%A R. P. Cagel
%T Process Suspension and Resumption in The UNIX System V Operating System
%D January 1986
%K process migration
%R M.S. Thesis
%X Process suspension and resumption features were added to the UNIX
kernel.  This will allow a user to reboot the operating system without
having to kill long running processes.  The process images are
extracted
from the kernel and saved in disk storage before the system halts.
Each process may be restarted from the point where it left off or even
moved to another machine to be resumed.  This thesis describes the
kernel changes to accomplish this.

%T An unix 4.2 BSD implementation of Process suspension and resumption
%A A.Y. Chen 
%D June 86  
%R UIUCDCS-R-86-1286
%I Department of Computer Science, University of Illinois
%C Urbana, Illinois 61801
%T Process Suspension and Resumption in The UNIX System V Operating System
%K process migration
%R M.S. Thesis
%X Process suspension and resumption features were added to the UNIX
kernel.  This will allow a user to reboot the operating system without
having to kill long running processes.  The process images are
extracted
from the kernel and saved in disk storage before the system halts.
Each process may be restarted from the point where it left off or even
moved to another machine to be resumed.  This thesis describes the
kernel changes to accomplish this.

-- 
=Dennis L. Mumaugh
 Lisle, IL       ...!{att,lll-crg}!cuuxb!dlm  OR cuuxb!dlm at arpa.att.com



More information about the Comp.unix.questions mailing list