Implementation of TTreeProcessor::Process.
This commit provides an implementation of a new implicit multi-threading (IMT) use case, incarnated in method TTreeProcessor::Process. TTProcessor::Process allows to process the entries of a TTree in parallel. The user provides a function that receives one parameter, a TTreeReader, that can be used to iterate over a subrange of entries. Each subrange corresponds to a cluster in the TTree and is processed by a task, which can potentially be run in parallel with other tasks. In order to enable this new IMT use case, other changes are introduced: - Global flag to enable this IMT use case (enabled implicitly inside TTProcessor::Process). - Spin lock implementation of a Read-Write lock. - RW lock protection in TFile, activated only when calling TTProcessor::Process.
Showing
- core/base/inc/TProcessID.h 42 additions, 2 deletionscore/base/inc/TProcessID.h
- core/base/inc/TROOT.h 3 additions, 0 deletionscore/base/inc/TROOT.h
- core/base/inc/TVirtualMutex.h 12 additions, 0 deletionscore/base/inc/TVirtualMutex.h
- core/base/src/TProcessID.cxx 8 additions, 4 deletionscore/base/src/TProcessID.cxx
- core/base/src/TROOT.cxx 31 additions, 0 deletionscore/base/src/TROOT.cxx
- core/thread/CMakeLists.txt 4 additions, 2 deletionscore/thread/CMakeLists.txt
- core/thread/inc/ROOT/TRWSpinLock.h 46 additions, 0 deletionscore/thread/inc/ROOT/TRWSpinLock.h
- core/thread/src/TImplicitMT.cxx 15 additions, 0 deletionscore/thread/src/TImplicitMT.cxx
- core/thread/src/TRWSpinLock.cxx 112 additions, 0 deletionscore/thread/src/TRWSpinLock.cxx
- io/io/inc/TFile.h 9 additions, 0 deletionsio/io/inc/TFile.h
- io/io/src/TFile.cxx 22 additions, 5 deletionsio/io/src/TFile.cxx
- tree/treeplayer/CMakeLists.txt 9 additions, 2 deletionstree/treeplayer/CMakeLists.txt
- tree/treeplayer/inc/ROOT/TTreeProcessor.h 157 additions, 0 deletionstree/treeplayer/inc/ROOT/TTreeProcessor.h
- tree/treeplayer/src/TTreeProcessor.cxx 74 additions, 0 deletionstree/treeplayer/src/TTreeProcessor.cxx
Loading
Please register or sign in to comment