From: <er...@he...> - 2004-09-07 21:44:53
|
On Mon, Sep 06, 2004 at 07:41:13PM +0200, Florian Bruckner wrote: > can anybody tell me how bproc slave is connected with the bpmaster? > > as I understood it the daemons communicate with there kernel module via > a filedescriptor which the get by a system call. And all communication > between master and slave is done via a user space socket connection. > Requests sent from the master are interpreted by the slave or passed on > to the kernel (masqfs). > > But why are there sockets in kernel mode? i think they are only used for > moving processes around. But why aren't they also transfered via the > user space sockets? > > Is there any documentation around that describes all connections used by > bproc? The best documentation on the guts is probably here: http://public.lanl.gov/cluster/papers/papers/hendriks-ics02.pdf It talks a little about connections. In a nutshell, the kernel stuff passes messages to the daemons. The slaves all have a tcp connection the master. These connections are only used to pass small messages around. When a process wants to move, a messages is sent to the destination telling it that it wants to move. The destination establishes a new TCP connection back to the source. The actual process data is sent on that connection. The kernel code establishes this new connection. The kernel sets up that connection for security reasons. That way user space processes can't poke weird stuff in there. - Erik |