Presentation is loading. Please wait.

Presentation is loading. Please wait.

Analysis of the ROOT Persistence I/O Memory Footprint in LHCb Ivan Valenčík Supervisor Markus Frank 19 th September 2012.

Similar presentations


Presentation on theme: "Analysis of the ROOT Persistence I/O Memory Footprint in LHCb Ivan Valenčík Supervisor Markus Frank 19 th September 2012."— Presentation transcript:

1 Analysis of the ROOT Persistence I/O Memory Footprint in LHCb Ivan Valenčík Supervisor Markus Frank 19 th September 2012

2 Goals of the Project Investigate the influence of the ROOT I/O mechanism parameters for writing LHCb event data. Analyze the performance for reading back these data. Come to an optimization decision based on gathered data. Create a method that would make measurement easy to perform in the future.

3 ROOT I/O Persistency A conversion service that allows us to persist event data to ROOT files. We can optimize various parameters – basket size, splitting level, tree branch buffer We are interested in multiple features – memory usage, run duration, resulting file size, behavior when more streams are present

4 Performance Monitoring Service A service for monitoring We can observe usage of these system resources and observables: – virtual memory size (vsize) – resident set size (rss) – processor time scheduled in user mode – processor time scheduled in kernel mode – elapsed time – file sizes

5 Performance Monitoring Service It can be added to any service using RootCnv for data persistence just by adding one script to the execution line. Example: python `which gaudirun.py` stripping.py RootPerfMon.py

6 Questions to be Answered What is the effect of adding more streams? How much memory does one stream cost? What is the effect of changing basket size? What effect does split level and buffer size of the branch have on the resource usage? Technique used: Performed a series of sweeps over optimization parameters.

7 Effect of the Fraction of the Copied Data Real stripping job has 14 streams that keep up to 14% of the reconstructed data. It is not necessary to copy all data to reach maximum memory usage. Memory usage depends only marginally on the fraction of the copied data. In the benchmark we are copying 10% of 10 000 events in each stream and reading back all copied events.

8 Memory Usage and Runtime of 1 Copying Stream

9

10 1 stream split level 099 buffer size 2 kB32 kB2 kB32 kB basket size 2 MB vsize (MB)660 662681 +FSR (MB)660688665708 time (s)373395790773 file size (MB)84.083.796.996.8 basket size 20 MB vsize (MB)687685687702 +FSR (MB)687712687726 time (s)322486384405 file size (MB)80.4 84.9 basket size 40 MB vsize (MB)709714709727 +FSR (MB)709735709747 time (s)342343401400 file size (MB)80.2 84.484.5

11 Memory Usage and Runtime of 1 Reading Stream 1 stream split level 099 buffer size 2 kB32 kB2 kB32 kB basket size 2 MB vsize (MB)463 465467 time (s)23272830 basket size 20 MB vsize (MB)489491490485 time (s)25362724 basket size 40 MB vsize (MB)507510513507 time (s)20232628

12 Cost of 1 Stream 1 write stream requires 19 MB when low basket size and no splitting is used. 1 write stream requires more than 60 MB when big basket size and splitting is used. This gives us a potential for saving 40 MB per stream. Processing time and output file sizes for small basket are slightly smaller than those obtained with current settings.

13 Findings Splitting branches requires a lot of memory, processing time and makes output files bigger. Giving ROOT more memory does not decrease the processing time significantly. More memory for ROOT makes output files a little smaller. Current settings are bad for writing FSR. Basket size has the biggest effect on memory needed in reading. Big sizes are unnecessary.

14 Summary Gained insight into Gaudi framework and ROOT conversion service. Implemented performance monitoring service. Created test environment simulating stripping. Explored parameter space of the optimization parameters and performed an analysis of the memory footprint which indicates possible gain of 40 MB per output stream.


Download ppt "Analysis of the ROOT Persistence I/O Memory Footprint in LHCb Ivan Valenčík Supervisor Markus Frank 19 th September 2012."

Similar presentations


Ads by Google