Subject: Re: PID's implementation and/or convention
To: Andy Sporner <andy.sporner@networkengines.com>
From: Bill Studenmund <wrstuden@zembu.com>
List: tech-kern
Date: 04/11/2000 18:29:27
On Thu, 6 Apr 2000, Andy Sporner wrote:

> Hi, 
> 
> I am working on a clustering initiative that allows for processes to be 
> swapped from one machine to another.  The idea is for load balancing 
> processes in a NUMA like approach.  
> 
> What I had thought was to bury the cluster ID in the high order byte of 
> the process ID so that whenever a system call was made any such byte 
> greater than 0 would be proxied to the appropriate machine. 

?? I admit I am not familiar with NUMA-like load balancing. But how would
you ever generate a system call which would need to be proxied (as you
describe it). To generate a system call, the generating process must be in
the host machine. ??

> I would accept suggestions on this.   What would break as a result of 
> doing this? What were the historical reasons for this,? 

It sounds like the shifting of a process from one machine to another will
involve what's also known as check-pointing - taking a process, stoping it
in its tracks, saving it off, reloading it (either on another machine or
on the same machine at a later time), and resuming it. Stopping and
restarting the program isn't too hard. Getting all of the file descriptors
right (open files, open sockets) is hard.

Take care,

Bill