Xref: utzoo comp.unix.wizards:12166 comp.unix.questions:10108 Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!glacier!jbn From: jbn@glacier.STANFORD.EDU (John B. Nagle) Newsgroups: comp.unix.wizards,comp.unix.questions Subject: Re: Implement a Remote Fork facility Keywords: Fork, Process, migration, remote, a.out, core Message-ID: <17819@glacier.STANFORD.EDU> Date: 6 Nov 88 16:54:04 GMT References: <1777@pembina.UUCP> <2163@cuuxb.ATT.COM> <159@seibert.UUCP> Reply-To: jbn@glacier.UUCP (John B. Nagle) Organization: Stanford University Lines: 17 It's been done. See "The LOCUS Distributed System Architecture", by Popek and Walker, MIT Press, 1985. ISBN 0-262-16102-8 LOCUS is a distributed UNIX kernel developed at UCLA. It's 4.2BSD compatible, yet allows full distribution over a network of heterogeneous machines. Processes can be migrated from one similar machine to another while running, using the migrate(II) system call. Open files, pipes, signals, and sockets survive migration. Even shared file position works; the mechanism for doing this efficiently is very clever. A user can migrate his own tasks, or a background scheduler may force task migration. Across heterogeneous CPUs, one can perform "exec"; an "exec" of an object program that needs a different kind of machine results in execution on a suitable machine elsewhere in the network. Very impressive. Not clear why it never caught on. John Nagle type of CPU than the one the process is running on will result in the process