Re: Clustering

From: Andy Valencia <vandys_at_nospam.org>
Date: Tue May 16 2000 - 08:04:44 PDT

[Adrian Wong <atwong@nersc.gov> writes:]

> 1. What are the current thoughts on clustering? Is it too
> premature to start thinking about this?

There's some stuff in the mail archives on this. I got transparent kernel
messaging going; see vsta/src/srv/ka9q/cmds/proxyd.c and related ka9q source
files.

> 2. Am I right that none of the clients make any assumption
> about the services being in the same address space? (Since
> all transactions use message-passing).

Correct.

> 3. Does external (not in the same address space) message
> passing implementation belong inside the kernel or in
> user space?

I put it outside. Mostly because I wanted to use TCP/IP for the transport,
and it was already outside. And no, I don't think TCP/IP should move into
the (micro)kernel!

> 4. Would port numbers be unique cluster-wide? How do you
> "discover" the services "out there".

If what you're talking about is sharing a single TCP/IP stack (so that all
the machines appear behind a single IP address), then this is kind of a
different path from the one I chose. It's also a lot like what QNX chose to
do. They used their own transport over the physical MAC, and then any
machine could mount the TCP/IP stack from a single machine running TCP/IP
(which was, basically, a gateway). By splitting the cluster messaging from
TCP/IP, the two were kept distinct. The downside was that once the network
grew beyond a single physical span, you had to bridge these MAC messages
across all the spans. So they've headed in the direction of using IP, but
then you have to structure your IP so that you can have more than one stack
active at once.

>My apologies if this all sounds a little naive. I will have access
>to VI Architecture network cards (Giganet), and would be interesting to
>see if remote services could be implemented within VSTa.

Remove services--sure. But split horizon networking is extra work. Might
be interesting.

The other interesting aspect which comes to my mind is all the microkernel
services which are *not* message based. Process creation, for instance.
It'd be nice to find a way to move more of its raw services to messages, so
that most of what can be done on one machine could be done just as well from
a remote machine. QNX got this right. Interestingly, some of this was
dropped from their newer Neutrino OS. At least in early releases (I haven't
been keeping track lately).

Regards,
Andy Valencia
Received on Tue May 16 07:20:40 2000

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:56 PDT