ROOT Parallelisation, Performance and Programming Model Meeting
Present: Enric, Xavi, Guilherme, Danilo
Round table:
Xavi
Started to look at Rene's code ROOT-8867. Ported the code to work with TThreadedExecutor.
PR754: we need to check how they behave with taskset but there is some consensus towards the usage of pure stl rather than the wrapper.
Guilherme
PR747: LoadClassInfo - reduce significantly the wait time and this was measured. The only residual doubt is if we need to lock the setting of fCanLoadClassInfo in TClass::Init.
Enric
ROOT-8862: 2 alternatives. A data structure with the entries and using an uncompressed TMemFile. Comparison run between a TMemFile uncompressed and compressed VS a TFile hot in memory.
If we implemented the cache of TDF with a TMemFile we can see a speedup of 7-8 wrt a hot TFile in memory. The different in time is due to decompression. This approach may be an advantage because of the simplicity wrt solution 1.
Pro: caching to TMemFile is snapshotting to TMemFile.
We need to carefully consider the programming model and another factor: wouldn't writing on disk a temp file uncompressed as effective as a cache in memory?
Also related to the programming model: thinking to Spark, the caching is asynchronous. In this model, if cache means snapshot, it's synchronous.