Re: Multi-thread and TTree

From: Antonio Bulgheroni <antonio.bulgheroni_at_gmail.com>
Date: Wed, 20 Dec 2006 13:28:11 +0100


Dear Leandro,

        thanks for the link. It's very good. But I've a problem I cannot solve.

I followed the procedure and I copied the installation dir into /usr/local/ even if I'm used to have it in /cern (is it really needed?)

I added the xinetd services and I'm able to connect remotely via rootd.

I wrote the following configuration file for PROOF in /usr/local/root/etc/proof/proof.conf

master 192.168.10.246 image=local

worker 192.168.10.246 perf=100 image=local worker 192.168.10.246 perf=100 image=local

where 192.168.10.246 is the IP address of the host. I've also tried with localhost but with the same results.

But when I start ROOT and I type gROOT->Proof("192.168.10.246") I get:

Error: Can't call TROOT::Proof("192.168.10.246") in current scope (tmpfile):1:
Possible candidates are...
*** Interpreter error recovered ***

In fact, Proof is not an allowed completion of gROOT. What I'm missing?

I'm using ROOT 5.15/01 on a FC4 with gcc 4.

Thanks for your help,

Antonio

On 12/19/06, Leandro Franco <lfranco_at_cern.ch> wrote:
>
>
> Hi...
>
> Yes, you can use it in multi-core machines. But you have to add your local
> machine as a Master and you have to add the same machine as a slave (or
> slaves) also.
>
> You can find an example here:
> http://pnilsson.web.cern.ch/pnilsson/PROOF_install_notes.htm
>
>
> The idea is to make this process transparent to the user but it will take
> some time.
>
>
> Cheers,
> Leo
>
> On Dec 19, 2006, at 5:37 PM, Antonio Bulgheroni wrote:
>
> Dear Rene,
> thanks for the prompt answer, I'm having a look to the websites you
> suggested me. Do you think that PROOF can be exploited also on a
> multi-processor PC and not on a cluster (this is actually my case)?
>
> Thanks again,
>
> Antonio
>
> --
> Antonio Bulgheroni, PhD
>
> Win98 error 009: Press any key to continue or any other key to quit.
>
> On 12/19/06, Rene Brun <Rene.Brun_at_cern.ch> wrote:
> >
> > Antonio,
> >
> > What you describe is precisely what the PROOF system is doing. See:
> > http://higweb.lns.mit.edu/twikis/proof/bin/view/Proof/WebHome
> > http://higweb.lns.mit.edu/twikis/proof/bin/view/Proof/ProofDocs
> > etc
> >
> > Rene Brun
> >
> > Antonio Bulgheroni wrote:
> > > Dear ROOTers,
> > > I have browsed the ROOT-Talk archive but I wasn't able to find
> > > an updated answer to my question. This is what I would like to do:
> > >
> > > I have a TFile with a TTree containing lots of events and I want to
> > > process them in parallel. Since I just have to apply the same
> > > procedure to all events, I think that the easiest possible way to
> > > perform parallel computing is to split the amount of events among
> > > different threads each of which is doing the same things.
> > >
> > > Here comes the first question. I've read somewhere that ROOT I/O is
> > > not (yet) thread safe. Does it mean that different threads cannot
> > > GetEntry from the same TTree on one TFile? Should I TMutex::Lock() and
> > > UnLock() each GetEntry() call?
> > >
> > > During the event process, I would like to fill a bunch of histograms
> > > and an output TTree. Can it be done by different threads? Again,
> > > should I mute every Fill() call?
> > >
> > > In the TThreadFactory abstract base class it is written that depending
> > > on which factory is active one gets the Posix or Win32 implementation
> > > of the TThread but I'm not able to find the TWin32Thread. Does it
> > exist?
> > >
> > > I'm using ROOT 5.15/01 on a Fedora Core 4 linux box with gcc 4.0.2
> > >
> > > Thank you very much for your help,
> > >
> > > regards,
> > >
> > > Antonio
> > >
> > > --
> > > Antonio Bulgheroni, PhD
> > >
> >
> >
>
>
Received on Wed Dec 20 2006 - 13:28:31 MET

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:32:02 MET