Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Mar 1998 11:29:42 -0500 (EST)
From:      mgraffam@mhv.net
To:        Kevin Brown <kbrown@primelink.com>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: FreeBSD in a multi-processor/machine array
Message-ID:  <Pine.LNX.3.96.980302110959.3445A-100000@localhost>
In-Reply-To: <3.0.32.19980302091214.00acc320@mail.primelink.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2 Mar 1998, Kevin Brown wrote:
> I am beginning to do some procurement of smaller 286, 386, and 486 machines

Hold this thought.

> 1) Maintain one central server (dual pentium) with full FreeBSD source.

This shouldn't be a problem. Just set up the machine and archive the
source, nfs export the directory to the smaller machines and you're
golden.

> 2) Allow the smaller machines to boot their operating system from the
> central server utilizing perhaps only a floppy drive.

This should not be much of a problem either. I have not personally
used FreeBSD in this fashion, but I have set up Linux this way, and
I'd imagine what Linux can do in this area, FreeBSD can do as well.

You can easily mount your /usr via NFS. Root NFS is a little weird,
but it isn't too difficult. At the very least, a floppy or ram disk could
be your root and /etc and stuff could be mounted from an nfs drive
somewhere.

> 3) Provision the machines so that they rely upon the mass processing
> abilities of their neighbors to complete tasks.

Yes and no. The short and quick answer is no. You can't run the machines
in parallel to complete tasks like a shell script or even to play doom
or quake.

The long answer is that you can use PVM (Parallel Virtual Machine) to
create a virtual machine for parallel execution of tasks over the
network. These tasks, however, would need to be compiled especially
for PVM and would need to use PVM's libs for stuff.

> 4) Where applicable share drive space across an Ethernet or Fast Ethernet
> connection.

This goes hand in hand with NFS mounting of root above.

> 5) Allow remote users to login via telnet or ssh to the central server and
> have  the ability to harness the full processing ability of the array.
> Without having to play magical chairs on logging into multiple machines.

This goes hand in hand with the question of PVM. Again, the short answer
is no. The long answer, if you are going to write your own code is
absolutably.

On the other hand.. if you are a fairly good programmer you could set up a
system like this:

have all drives shared via NFS.
Use rsh or ssh (I'd use the later) to run commands on remote machines,
ie ssh host1 mathematica & would fork mathematica to your X display.

Now, in your situation with 40 or so machines, you wouldn't want to
have to remember which machines are under what load. 

It should be possible to develop an interface to the network (it could
probably even be a hack to a standard Unix shell) that would find out
what physical drive the  program you want to launch is located on and
contact that host. It could then check the load average for the machine,
if it is under some N percentage, that machine would launch it, else
the interface tries another machine.

Properly implemented, this would give you the ability to just type
"mathematica" into your modified bash (or whatever) and then the
system could/would launch it on the machine that would give the best
performance.

The code wouldn't exactly be trivial however. It would require a good
bit of network oriented code, and probably a tiny bit of systems
programming as well. 

Good stuff though. If I ever had 4 or 5 machines that I could play
with like that, I'd try to get it working. 

Michael J. Graffam (mgraffam@mhv.net)
http://www.mhv.net/~mgraffam -- Philosophy, Religion, Computers, Crypto, etc
"..subordination of one sex to the other is wrong in itself, and now
one of the chief hindrances to human improvement.." John Stuart Mill
"The Subjection of Women"


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.3.96.980302110959.3445A-100000>