Re: Multi-thread and TTree

From: Antonio Bulgheroni <antonio.bulgheroni_at_gmail.com>
Date: Tue, 19 Dec 2006 20:45:36 +0100


Thanks a lot, I'll try to see how it works tomorrow morning!

Cheers,

Antonio

On 12/19/06, Fons Rademakers <Fons.Rademakers_at_cern.ch> wrote:
>
> Hi Antonio,
>
> have a look at this poster:
>
> ftp://root.cern.ch/root/PROOFIntelDemo.pdf
>
> More will come in the new year.
>
>
> Cheers, Fons.
>
>
>
>
> 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
> > >
> >
> >
>
> --
> Org: CERN, European Laboratory for Particle Physics.
> Mail: 1211 Geneve 23, Switzerland
> E-Mail: Fons.Rademakers_at_cern.ch Phone: +41 22 7679248
> WWW: http://fons.rademakers.org Fax: +41 22 7669640
>

-- 
Antonio Bulgheroni, PhD

Computers have a lot in common with air conditioners:
Once you open WINDOWS, they stop working properly.
Received on Tue Dec 19 2006 - 20:45:49 MET

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