proofd (1) Linux Manual Page
NAME
proofd – PROOF (The Parallel ROOT Facility)
DESCRIPTION
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) executable.
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 appropriate 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.
- 1
- Make sure every node has
ROOTinstalled. We’ll assume you installed theROOTapplications in <bindir> (e.g. /usr/bin) and thePROOFconfiguration files in files in <proofdir>/etc(e.g./usr/share/root/etc)., ( www.iana.org ), to- 2
- The TCP port 1094 was allocated by IANA
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
PROOFconfiguration, for example /etc/root/proof. However, it should be shared among all nodes in the cluster. - 4
- Restart
inetdor force it to re-read the config file:kill -1 <inetd pid>
If you use
SYSVinit(8) scripts, you can probaly just do/etc/init.d/inetd restart
or whatever is appropriate for your system.
- 5
- On the master node, add to /etc/syslog.conf the line:
local5,local6.debug <proofdir>/log/proof.logand all slave nodes:
local5,local6.debug @<master hostname>where <master hostname> is domain name of the master node. All PROOF syslog messages will be collected on the master node. Just make one node in the cluster the master, all others are slaves.
- 6
- On all nodes, change the below lines in /etc/syslog.conf,
*.info;mail.none;news.none;authpriv.none /var/log/messagesto:
*.info;local5,local6,mail.none;news.none;authpriv.none /var/log/messages - 7
- Create an empty <proofdir>/log/proof.log:
echo "" > <proofdir>/log/proof.log - 8
- 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/etc/init.d/sysklogd restart
or whatever is appropriate for your system.
- 9
- Edit <proofdir>/etc/proof.conf to reflect your cluster configuration. See the example proof.conf file 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 <proofdir> of your distribution. This script uses syslog-facility(1), from the Linux syslog(1) distribution, and may run on other platforms as well – but no warrenties mind you!
Step 9 is completely up to the user.
EXAMPLE
That’s it. To test PROOF try the following:
root[1] gROOT->Proof("<master hostname>")
root[2] gPROOF->Print()<shows information on the master and all active slave servers> root[3]
.q
FILES
- <proofdir
>data. In binary packages, like for- The location of your PROOF
Redhat LinuxI orDebian GNU/Linux, this will probably be /usr/share/root/proof. If you got a binarytar(1)-ball from theROOTwebsite, 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.- <proofdir
>/etc - This directory holds all the configuration files for your cluster(s).
- <proofdir
>/etc/<cluster>.conf - This is the cluster named <cluster> configuration file. See <proofdir
>/etc/<cluster>.conf.samplefor an example. - <proofdir
>/etc/motd - This is Message-Of-The-Day file. See <proofdir
>/etc/motd.samplefor an example. - <proofdir
>/etc/noproof - If this file is present, all
PROOFservices will be diabled. See <proofdir>/etc/noproof.samplefor an example. - <proofdir
>/etc/proof.conf - This is the
PROOFconfiguration file. See <proofdir>/etc/proof.conf.samplefor an example. ~/.rootnetrc.conf- Configuration file for network access. Here you specify login names and pass word, so it
MUSTbe read/write-able only by the user. See <proofdir>/etc/rootnetrc.conf.samplefor an example. - <proofdir
>/log - This directory holds the log files from the master and slaves. <proofdir
>/log/proof.logSyslog(1) log file forPROOF.
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 BrunandFons Rademakers
COPYRIGHT
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
AUTHOR
This manual page was written by Christian Holm Christensen <cholm [at] nbi.dk>, for the Debian GNU/Linux system (but may be used by others).
