Subject: Re: PID's implementation and/or convention
To: Andy Sporner <firstname.lastname@example.org>
From: Bill Studenmund <email@example.com>
Date: 04/11/2000 18:29:27
On Thu, 6 Apr 2000, Andy Sporner wrote:
> 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.