Re: Multi-thread and TTree

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Tue, 19 Dec 2006 18:00:18 +0100


Antonio,

Yes, it can, in particular on the new multi-core CPUs. In this environment we are working on simplifying the procedure such that the PROOF mode
will be the default setup. We are hoping to make it as transparent as possible in this case

Rene Brun

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
> <mailto: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 Tue Dec 19 2006 - 18:00:27 MET

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