|
|
Software:
Here are some software tools, along with their documentation, that we
developed in support of our own efforts; we hope they will be of some
help to yours.
CLIENT-SERVER:
Client-Server - two pairs of socket
programming examples in C: one uses UDP datagram, the other uses TCP stream sockets.
(60k tar/zip)
Client-Server Manual - describes
how to run these client-server pairs on a local area network. (11k pdf)
PERFORMANCE MONITORING:
Performance Monitoring - a main monitor process
receives near real-time performance statistics from one or more instances of a remote daemon
process running on each of the active nodes in your cluster. After a simple installation procedure
you start the monitor on a non-cluster node in the network and the daemon process starts automatically
on each of the cluster nodes where it is defined. Stop the monitor and all the daemons end gracefully.
DPMon runs independently of, and at a minimum impact to any application you may be running on your cluster.
This version supports the /proc formats in Red Hat 9 Linux. (70k tar-zip)
Performance Monitoring - same as above, but
this version supports Fedora Core 9. (70k tar-zip)
Performance Monitoring Manual - describes
how to install and run DPMon, the Distributed Performance Monitor. (90k pdf)
NOTE - Every new release of Linux seems to have a slightly different format for its
/proc pseudo-files. (These are text-like files that contain OS performance statistics.) The
kernel maintains them and anyone may cat them out as if they were text files. The remote DPMon
daemon reads these files and sends a summary packet to the DPMon monitor process, which displays the
performance of all active cluster nodes in a single, simple report. The DPMon daemon must
know precisely where to find each of its performance metrics. The above versions differ in their
dpmond.c source code. Issue man proc for further details.
MIDDLE-MAN:
MiddleMan Software - these
debugging-aid "middleman" programs allow you to test client-server pairs
that use either UDP or TCP sockets, or HTTP when the server is a web site. xxxTap
runs between a Client-Server pair, allowing you to monitor and/or modify
the data portion of a TCP (tcpTap), a UDP (udpTap), or a HTTP (webTap) inter-process
communication in either direction, or both directions at once. Note that webTap
is in development. (90k tar/zip)
MiddleMan Manual - describes
an interactive set of user commands that is recognized by each of these three tools
and includes many examples. (21k pdf) [Note: If you do not already
have a Client-Server pair to test with this application, download the Client-Server
examples, above.]
MANIFOLD-SERVER:
MSI Software - the Manifold-Server Interface
provides an API and a liaison task that allows you to convert a single node server
application for use in a parallel cluster computing environment. (410k tar/zip - TBD)
MSI White Paper
describes how you can make minor changes to a single-server application to convert it into a
distributed software architecture that will run efficiently on your cluster server. (74k pdf)
MSI White Paper - long version. (79k pdf)
MSI Presentation Slides presents the MSI
in more detail as a complement to the published paper. (106k pdf)
DATA SERVER HOW-TO:
Linux Cluster Architecture
- book describes a Master-Slave data server that exploits the parallelism in a transaction oriented
system by splitting up the client queries among the several slave processor nodes on the cluster's
local network. Click on the DOWNLOADS tab at the publisher's site to get a copy of
the software. Then buy the book for the details about how to install it, run it, and tune it!
DISTRIBUTED ALGORITHMS: New - a work in progress...
Distributed Algorithms in C
- book describes several basic distributed algorithms. Click on the links below to get copies
of the software, then buy the Wiley & Sons book for the details about how they all work!
Remote Process Instantiation
- user starts process RPIm on any node in the cluster, then RPIm starts a remote process RPIr on
every other node. The process RPIm is the master, ending up with a list of node names of all the
successfully started remote RPIr processes. This package may either be integrated into your existing
distributed system software or become the start of a new one. See readme.txt included in the tar file.
|