The "ghosts" file

1) Motivation

   In order to control the set of hosts the PROGRES environment is
   allowed to use, a list of "valid" hosts must be prepared.  This list
   must be stored in "${GHOSTDIR}/ghosts" (for "g"ras
   "hosts").  Each process participating in the distributed PROGRES
   system checks upon startup that it's host is in the ghosts list.

2) Requirements

   As the starting of processes on other hosts is currently
   implemented using the Unix "rsh" command (and it's underlying
   daemon "rshd"), this requires that all hosts in the ghosts list
   should be reachable by this command.  (You could test this by typing
   "rsh <hostname> pwd". This should report your login directory on
   the host <hostname>.)

   The system also currently requires that the ${GRAS} directory is
   reachable on all hosts using the same path name (e.g. using NFS).

   There are two special configurations:

   1) Your host is connected to a network (thus allowing e.g. ftp to
      another host), but the file system layout is different on all
      hosts:

      Either simulate a identical file system layout for ${GRAS}
      (e.g. by a symbolic link "/tmp/GRAS" to the real directory
      location on each host), or restrict PROGRES to run on your
      host by adding only your host to the "ghosts" file (see below).

   2) Your host is not connected to a network:

      Totally omit the "ghosts" file in ${GHOSTDIR}.  This
      automatically configures PROGRES to run on your host using the
      host name "localhost" and to avoid any network access.

3) The file layout

   The "ghosts" file format resembles the format of the "/etc/hosts"
   file. It must contain one line four each valid host. This line has
   two or three whitespace-separated fields:

   1) internet_address (in dot-notation)
   2) host name
   3) (optional) a relative cpu speed indicator (a positice floating
      point number, defaults to 1.0)

   Blank lines are ignored, also everything after the comment char
   '#'. The cpu speed indicator is used to help selecting a host from
   the list when a new process has to be started: the system
   calculates the load by multiplying the current load of each host by
   it's load factor and then selects the one with the lowest resulting
   value. That is, higher cpu speed indicator values mean slower
   machines.
   
4) Example
   
   The following lines show a valid ghosts file for a network
   consisting of three hosts called "wolf", "mahler", and haydn.

# The sample ghosts file.
# You have to modify this file to reflect your actual network.
# Avoid any file with the name "ghosts" in ${GHOSTDIR} if your host
# isn't connected to a network.

137.226.168.66  wolf		0.3     # sun_s10 sunos_4.1.3
137.226.168.67  mahler		0.3     # sun_s10 sunos_4.1.3
137.226.168.40  haydn                   # SS-1+


   You can easily generate your site-specific "ghosts" file by editing
   the output of "ypcat hosts" if you have NIS running (just try if
   the command results in resonable output, you just get an error
   message if NIS is not running on your host. Alternativly, copy the
   file "/etc/hosts" and edit this copy.
   

5) Hints

   Avoid to add lines for hosts that are unreliable (i.e. not always
   running), because this slows down the system startup (ganimed tries
   hard to reach each host of the "ghosts" file before selecting one).
