[Beowulf-announce] Presentc and Presentd v1.0 released

liefting at nl.ibm.com liefting at nl.ibm.com
Mon Feb 19 18:59:05 PST 2001


I am doing beowulfs on-the-fly, using systems which are available to me
only during specific times, and are booted using truly dynamic DHCP. One of
the challenges is figuring out which system is available. So I created two
simple daemons which tell me which system is available.

It works like this: every client node in the network runs the presentc
daemon, which takes the servername and portnumber of the master server as
an argument. This daemon then sets up a TCP connection to the server and
portname provided. It then just sits there. If the connection breaks or if
it is impossible to setup the connection, it will retry after 10 seconds,
indefinitely. No data is send or received(*). No network bandwidth or CPU
cycles are wasted.

The server products takes two arguments as well: the portnumber to listen
on and a filename. It opens this port and listens for any connections.
Every connection is logged and a reverse DNS lookup is being done. Then,
the name of the host is added to the file. If a connection drops, the
hostname is removed from the file.

With these two simple daemons I always have an up-to-date file which
contains all the current systems in my cluster. This file can then be used
as input for LAM-MPI or something.

All programs are written in C against the standard libc library and
standard socket calls so they should work under any *nix. I only tested it
on Red Hat Linux 6.2 though.

I do not have a place available where I can upload things, but if you're
interested drop me a line and I'll mail it to you right away. If someone
has a website to put it on, go ahead.

- Wouter.

(*) As a test feature, if presentd is running in the foreground, you can
feed it some data from stdin. This is then sent to all clients, who
immediately return all data received. This way you can test whether a
client is really up. This feature is likely to be deleted in a future
release.







More information about the Beowulf-announce mailing list