PROOFD(1) PROOFD(1)
NAME
proofd - PROOF (The Parallel ROOT Facility)
DESCRIPTION
Using PROOF (The Parallel ROOT Facility) one can analyze trees in(1,8) par-
allel 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(1,3,5) of the proofserv(1) executable.
interactive module root(1), except that it reads its commands from a
socket(2,7,n) 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(2,n,1 builtins) the appropiate man(1,5,7)(1) pages first. These are inetd(8) (the
internet daemon), sysklogd(8) and syslog(2,3,5,3 Sys::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.
1 Make sure every node has ROOT installed. We'll assume you
installed the ROOT applications in(1,8) <bindir> (e.g. /usr/bin) and
the PROOF configuration files in(1,8) files in(1,8) <proofdir>/etc (e.g.
/usr/share/root/etc).
2 The TCP port 1094 was allocated by IANA, ( www.iana.org ), to
rootd, so add to /etc/services the lines:
proofd 1093/tcp
rootd 1094/tcp
3 On each node, add to /etc/inetd.conf the lines:
proofd stream tcp nowait root <bindir>/proofd proofd <proofdir>/proof
rootd stream tcp nowait root <bindir>/rootd rootd -i
You can substitute the <proofdir> with any directory that holds
your PROOF configuration, for example /etc/root/proof. However,
it should be shared among all nodes in(1,8) the cluster.
4 Restart inetd or force it to re-read the config(1,5) file:
kill(1,2,1 builtins) -1 <inetd pid>
If you use SYSV init(8) scripts, you can probaly just do
/etc/init.d/inetd restart
or whatever is appropiate for your system.
5 On the master(5,8) node, add to /etc/syslog.conf the line:
local5,local6.debug <proofdir>/log/proof.log
and all slave nodes:
local5,local6.debug @<master(5,8) hostname>
where <master(5,8) hostname> is domain name of the master(5,8) node. All
PROOF syslog(2,3,5,3 Sys::Syslog) messages will be collected on the master(5,8) node.
Just make one node in(1,8) the cluster the master(5,8), all others are
slaves.
6 On all nodes, change the below lines in(1,8) /etc/syslog.conf,
*.info;mail.none;news.none;authpriv.none /var/log/messages
to:
*.info;local5,local6,mail.none;news.none;authpriv.none /var/log/messages
7 Create an empty <proofdir>/log/proof.log:
echo(1,3x,1 builtins) "" > <proofdir>/log/proof.log
8 Restart syslogd or force it to re-read the config(1,5) file:
kill(1,2,1 builtins) -1 <syslogd pid>.
If you use SYSV init(8) scripts, you can probaly just do
/etc/init.d/sysklogd restart
or whatever is appropiate for your system.
9 Edit <proofdir>/etc/proof.conf to reflect your cluster configu-
ration. See the example proof.conf file(1,n) for more information.
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(1,8) <proofdir> of your distribution. This
script uses syslog-facility(1), from the Linux syslog(2,3,5,3 Sys::Syslog)(1) distribution,
and may run on other platforms as well - but no warrenties mind you!
Step 9 is completly up to the user.
EXAMPLE
That's it. To test PROOF try the following:
root [1] gROOT->Proof("<master(5,8) hostname>")
root [2] gPROOF->Print()
<shows information on the master(5,8) and all active slave servers>
root [3] .q
FILES
<proofdir>
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(7,n,1 builtins) it to something else when starting your server.
<proofdir>/etc
This directory holds all the configuration files for your clus-
ter(s).
<proofdir>/etc/<cluster>.conf
This is the cluster named(5,8) <cluster> configuration file. See
<proofdir>/etc/<cluster>.conf.sample for an example.
<proofdir>/etc/motd
This is Message-Of-The-Day file. See <proofdir>/etc/motd.sample
for an example.
<proofdir>/etc/noproof
If this file(1,n) is present, all PROOF services will be diabled. See
<proofdir>/etc/noproof.sample for an example.
<proofdir>/etc/proof.conf
This is the PROOF configuration file. See
<proofdir>/etc/proof.conf.sample for an example.
~/.rootnetrc.conf
Configuration file(1,n) for network access. Here you specify login(1,3,5)
names and pass word, so it MUST be read(2,n,1 builtins)/write-able only by the
user. See <proofdir>/etc/rootnetrc.conf.sample for an example.
<proofdir>/log
This directory holds the log files from the master(5,8) and slaves.
<proofdir>/log/proof.log Syslog(1) log file(1,n) for PROOF.
SEE ALSO
proofserv(1) , root(1) , rootd(1)
More information can be found at the ROOT website: http://root.cern.ch
ORIGINAL AUTHORS
The ROOT team (see web page above):
Rene Brun and Fons Rademakers
COPYRIGHT
ROOT Software Terms and Conditions
The authors hereby grant permission to use, copy, and distribute this
software and its documentation for any purpose, provided that existing
copyright notices are retained in(1,8) all copies and that this notice is
included verbatim in(1,8) any distributions. Additionally, the authors grant
permission to modify this software and its documentation for any pur-
pose, provided that such modifications are not distributed without the
explicit consent of the authors and that existing copyright notices are
retained in(1,8) all copies. Users of the software are asked to feed back
problems, benefits, and/or suggestions about the software to the ROOT
Development Team (rootdev@root.cern.ch). Support for this software -
fixing of bugs, incorporation of new features - is done on a best
effort basis. All bug fixes and enhancements will be made available
under the same terms and conditions as the original software,
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DE-
RIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSI-
BILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABIL-
ITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFT-
WARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS
HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCE-
MENTS, OR MODIFICATIONS.
AUTHOR
This manual page was written by Christian Holm Christensen
<cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by
others).
ROOT Version 3 PROOFD(1)