Using PROOF (The Parallel ROOT Facility) one
can analyze trees in parallel on a cluster of computers. The
PROOF system consists of the proofd(1) from-end program
which is started via inetd(8).
proofd takes care of user authentication and overlays itself
then with the desired version of the proofserv(1)
The proofserv(1) is a basically the same as the ROOT
interactive module root(1), except that it reads its commands
from a socket instead of from the terminal.
Since it is a remote server it will not do graphics and therefore is
not linked with any graphics libraries (Motif, X11, etc.).
SETTING UP PROOF
Since you need to handle sensitive system files, you need to have root
(the user, not the program!) privileges. Also, it's recommended that
you read the appropiate man(1) pages first. These are
inetd(8) (the internet daemon), sysklogd(8) and
syslog(3) (the system logger daemon), and init(8) (the
SYSV process control initializer).
In other words:
Be very VERY carefull when installing proofd
There, I said it. And ofcourse, no warrenties what so ever.
Make sure every node has ROOT installed. We'll assume you
installed the ROOT applications in <bindir>
(e.g. /usr/bin) and the PROOF configuration files in
files in <proofdir>/etc (e.g. /usr/share/root/etc).
The TCP port 1094 was allocated by IANA, (
to rootd, so add to /etc/services the lines:
Restart syslogd or force it to re-read the config file:
kill -1 <syslogd pid>.
If you use SYSVinit(8) scripts, you can probaly just do
or whatever is appropiate for your system.
Edit <proofdir>/etc/proof.conf to reflect your cluster
configuration. See the example proof.conf file for more
If you installed ROOT using some precompiled package (for
example a Redhat Linux or a Debian GNU/Linux package),
steps 2 to 4 may already be done for you.
If you're running Linux, Steps 5 to 7 can be somewhat automated
using the script proof-facility in <proofdir> of your
distribution. This script uses syslog-facility(1), from the
Linuxsyslog(1) distribution, and may run on other
platforms as well - but no warrenties mind you!
Step 9 is completly up to the user.
That's it. To test PROOF try the following:
root  gROOT->Proof("<master hostname>")
root  gPROOF->Print()
<shows information on the master and all active slave servers>
root  .q
The location of your PROOF
data. In binary packages, like for
Redhat LinuxI or Debian GNU/Linux, this will probably be
/usr/share/root/proof. If you got a binary tar(1)-ball
from the ROOT website, or a build it yourself without the static
paths option, then this directory could be ROOTSYS/proof. However, you
may set it to something else when starting your server.
This directory holds all the configuration files for your cluster(s).
This is the cluster named <cluster> configuration file. See
<proofdir>/etc/<cluster>.conf.sample for an example.
This is Message-Of-The-Day file. See
<proofdir>/etc/motd.sample for an example.
If this file is present, all PROOF services will be diabled. See
<proofdir>/etc/noproof.sample for an example.
This is the PROOF configuration file. See
<proofdir>/etc/proof.conf.sample for an example.
Configuration file for network access. Here you specify login names
and pass word, so it MUST be read/write-able only by the user.
See <proofdir>/etc/rootnetrc.conf.sample for an example.
This directory holds the log files from the master and slaves.
<proofdir>/log/proof.logSyslog(1) log file for PROOF.
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
This manual page was written by Christian Holm Christensen
<email@example.com>, for the Debian GNU/Linux system (but may be used by