Re: Multi-thread and TTree

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Tue, 19 Dec 2006 15:10:39 +0100


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 - 15:11:01 MET

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