Re: : PROOF

From: <iglez_at_mail.cern.ch>
Date: Tue, 19 Jul 2005 16:34:12 +0200 (CEST)


Dear Gerri,

        With your help I managed to run some jobs in proof mode. But this was done in a single machine. We have around 90 dual CPU machines (with hyperthreading which means 4 CPU per machine) that I would like to use to improve our analysis. Unfortunatelly when try to install PROOF in 2 such machines I face my first problems. It seems there is a problem with authentication since I get the following errors:

root [0] gROOT->Proof("eifca02.ifca.org.es") iglez_at_eifca02.ifca.org.es password:
iglez_at_eifca02.ifca.org.es's password:
Warning in
<TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Warning in <Krb5Authenticate> on master0: not a tty: cannot prompt for credentials, returning failure
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Info in <TAuthenticate::Authenticate> on master0: failure: list of attempted methods: UsrPwd
Error in <TAuthenticate::Authenticate> on master0: wrong passwd (host equivalence: no files found) (last error only; re-run with gDebug > 0 for more details)
Error in <TSocket::Authenticate> on master0: authentication failed for iglez_at_eifca03.ifca.org.es
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Info in <TAuthenticate::Authenticate> on master0: failure: list of attempted methods: UsrPwd
Error in <TAuthenticate::Authenticate> on master0: wrong passwd (host equivalence: no files found) (last error only; re-run with gDebug > 0 for more details)
Error in <TSocket::Authenticate> on master0: authentication failed for iglez_at_eifca03.ifca.org.es
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Info in <TAuthenticate::Authenticate> on master0: failure: list of attempted methods: UsrPwd
Error in <TAuthenticate::Authenticate> on master0: wrong passwd (host equivalence: no files found) (last error only; re-run with gDebug > 0 for more details)
Error in <TSocket::Authenticate> on master0: authentication failed for iglez_at_eifca03.ifca.org.es
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Warning in <TAuthenticate::PromptPasswd> on master0: not tty: cannot prompt for passwd, returning -1
Info in <TAuthenticate::Authenticate> on master0: failure: list of attempted methods: UsrPwd
Error in <TAuthenticate::Authenticate> on master0: wrong passwd (host equivalence: no files found) (last error only; re-run with gDebug > 0 for more details)
Error in <TSocket::Authenticate> on master0: authentication failed for iglez_at_eifca03.ifca.org.es
PROOF set to parallel mode (4 slaves)
(class TVirtualProof*)0x94ba5d0

root [1] gProof->Exec(".!uname -a")
Linux eifca02.ifca.org.es 2.4.21-32.0.1.ELsmp #1 SMP Wed May 25 15:42:26 CDT 2005 i686 i686 i386 GNU/Linux
Linux eifca02.ifca.org.es 2.4.21-32.0.1.ELsmp #1 SMP Wed May 25 15:42:26 CDT 2005 i686 i686 i386 GNU/Linux
Linux eifca02.ifca.org.es 2.4.21-32.0.1.ELsmp #1 SMP Wed May 25 15:42:26 CDT 2005 i686 i686 i386 GNU/Linux
Linux eifca02.ifca.org.es 2.4.21-32.0.1.ELsmp #1 SMP Wed May 25 15:42:26 CDT 2005 i686 i686 i386 GNU/Linux
(Int_t)0
root [2] gProof->Print()

Connected to:             eifca02.ifca.org.es (valid)
Port number:              1093
User:                     iglez
Security context:         Method: 4 (SSH) expiring on Wed Jul 20 11:50:59 
2005
Proofd protocol version:  11
Client protocol version:  4
Remote protocol version:  4
Log level:                0
*** Master server 0 (parallel mode, 4 slaves):
Master host name:         eifca02.ifca.org.es
Port number:              1093
User:                     iglez
Protocol version:         4
Image name:               eifca02.ifca.org.es
Working directory:        
/home/iglez/proof/master-0-eifca02-1121766663-27534
Config directory:         /opt/root
Config file:              /opt/root/proof/etc/proof.conf
Log level:                0
Number of slaves:         8

Number of active slaves: 4
Number of unique slaves: 0
Number of bad slaves:     4
Total MB's processed:     0.00

Total real time used (s): 0.260
Total CPU time used (s): 0.040

I believe that the problem has to do with the fact that the login in this machine happens with an AFS password (I collegue has another set of machines with local and AFS logins and he work it with the local password but not with the AFS password). Is there anything I should take into account for this case? Is there any recipe on how to properly install this? Any help will be very welcome.

        Thank you very much,

                        Isidro

On Tue, 7 Jun 2005, Gerardo Ganis wrote:

>
>
> Hi Isidro,
>
> The master will look for a Merge method for the class and
> call it. For histograms, trees, ... this is already defined
> so you will get these objects already merged.
>
> For a new class you should add a method
>
> Int_t Merge(TCollection *list);
>
> where you do the merge of the objects in the list (the return
> value is not checked by TProofPlayer, so it does not matter
> too much what you put there).
> If the Merge method is not found, the objects are just returned
> as they are, which is what you see in your simple example.
>
> Hope it helps,
>
> Cheers, Gerri
>
>
>
>
> On Tue, 7 Jun 2005 iglez_at_mail.cern.ch wrote:
>
> > Thanks for the corrections Gerardo! I have used them succesfully. From
> > what I see I will get an object of type MyCounter from each slave and is
> > my duty to merge them. Why is that not the case for histograms? Which is
> > the list of ROOT classes that are different? What would happen if I have a
> > histogram into my class (that is my real case)? Would I have to take care
> > of the merging?
> >
> > Thanks for your help,
> >
> > Isidro
> >
> >
> > On Tue, 7 Jun 2005, Gerardo Ganis wrote:
> >
> > >
> > >
> > > Dear Isidro,
> > >
> > > Please find attached a modified version of your directory
> > > which should do what you expect.
> > >
> > > There were a few small issues.
> > >
> > > Proper object transfer require full I/O functionality and
> > > therefore a dictionary for the class, which should be known
> > > by the slaves. The best way is to make a package with new
> > > classes, to upload and enable it.
> > > PROOF provides the PAR files for this, which unfortunately
> > > is not documented yet.
> > >
> > > For that you should create a directory with the name of the
> > > package (e.g. MyCounter) and copy the class files in there:
> > >
> > > > mkdir MyCounter
> > > > cp MyCounter.C MyCounter
> > > > cp MyCounter.h MyCounter
> > >
> > > Then you have give the instructions about how to use this things.
> > > These go into a macro called SETUP.C and located in a PROOF-INF
> > > subdirectory of MyCounter:
> > >
> > > > mkdir MyCounter/PROOF-INF
> > > > cat > MyCounter/PROOF-INF/SETUP.C <<EOF
> > > {
> > > // Build dictionary
> > > Printf("Building dictionary MyCounter ...");
> > > gROOT->ProcessLine(".L MyCounter.C+");
> > >
> > > // Enlarge include path (for MyCounter.h)
> > > TString Ipath(Form("-I%s %s",gSystem->pwd(),gSystem->GetIncludePath()));
> > > gSystem->SetIncludePath(Ipath.Data());
> > > Printf("Include path set to: %s", gSystem->GetIncludePath());
> > > }
> > > EOF
> > >
> > > SETUP.C is executed when the package is enabled. The second part
> > > is needed because MySelector.C needs to include "MyCounter.h"
> > >
> > > One you have done this, you have to pack everything into MyCounter.par
> > >
> > > > tar czvf MyCounter.par MyCounter
> > >
> > >
> > > Now you can execute execProof_m.C, a modified version of your execProof.C .
> > > I have put comments in there, I hope they are clear enough.
> > > Please note that in your original macro the selector specification
> > > was incorrect into "chain->Process()": you need to specify the
> > > file name ("MySelector.C"), not just the selector name.
> > >
> > > Finally, in MySelector::Terminate, there is a problem (under investigation)
> > > finding objects of new classes with FindObject. However, if you iterate
> > > on the list, it works. See the modified file.
> > >
> > > Please try and let me know.
> > >
> > > Cheers, Gerri
> > >
> > >
> > >
> > >
> > > On Thu, 2 Jun 2005 iglez_at_mail.cern.ch wrote:
> > >
> > > > Dear Fons,
> > > > I have being fighting with PROOF for more than a week. I succeded
> > > > in filling histograms following the code in the h1analysis tutorial.
> > > > However my code needs to do more complex things including some counters
> > > > (of course I need histograms coupled with counters, etc... i.e. my own
> > > > objects). I tried something as simple as wrapping a counter on a class
> > > > inheriting from TObject (see in the attached file MyCounter.h). I compile
> > > > it into ROOT using the buil-in mechanism in ROOT. If you look in
> > > > MySelector.C (automatically generated from the tutorial root ntuple
> > > > mlpHiggs.root with MakeSelector -see the makeselector.C script-)
> > > > I have added a few cout's and the initialisation (inside SlaveBegin()),
> > > > registration (idem, into fOutput) and use (inside Process(...)) of a
> > > > MyCounter object. I tried to retrieve it afterwards inside the Terminate()
> > > > method, but the object is not any more in fOutput as it happens with
> > > > histograms. During the proccessing I get the following 3 errors several
> > > > times:
> > > >
> > > > Error in <TClass::Load> on master0: dictionary of class MyCounter not found
> > > > Error in <THashList::AddLast> on master0: argument is a null pointer
> > > > Error in <THashTable::Add> on master0: argument is a null pointer
> > > >
> > > > I have spent a couple of days trying to find out the reason for this but I
> > > > did not succeed. Any help will be very welcome. Thank you very much!!!
> > > >
> > > > Cheers,
> > > >
> > > > Isidro
> > > >
> > > > PS.: You may run everything with the execProof.C script just changing your
> > > > PROOF server
> > > >
> > > >
> > > >
> > >
> >
> >
>
>
>

-- 
+---------------------------+--------------------------------+
| Isidro González Caballero | mailto:Isidro.Gonzalez_at_cern.ch |
| IFCA (U. Cantabria/CSIC)  | http://home.cern.ch/iglez/     |
| Avda. Los Castros s/n     |               -o-              |
| Santander (España)        | Tel: +34 942201343 / 699413841 |
+---------------------------+--------------------------------+
Received on Tue Jul 19 2005 - 16:34:22 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:10 MET