Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize NanoAOD buffers at 1k events. #22445

Merged
merged 1 commit into from Mar 17, 2018

Conversation

bbockelm
Copy link
Contributor

@bbockelm bbockelm commented Mar 3, 2018

ROOT will automatically add 16 bytes per branch buffer per event in the event cluster; in the case of NanoAOD files, we've seen up to 143k events per cluster (and 800 branches), resulting in an excess of 900MB of memory usage.

With this change, we explicitly optimize NanoAOD buffers after 1k events, then subsequently flush at more appropriate intervals. To achieve this, we disable the ROOT auto-flush mechanism and explicitly optimize / flush from the NanoAOD output module itself.

ROOT will automatically add 16 bytes per branch buffer per event in the
event cluster; in the case of NanoAOD files, we've seen up to 143k events
per cluster (and 800 branches), resulting in an excess of 900MB of memory usage.

With this change, we explicitly optimize NanoAOD buffers after 1k events, then
subsequently flush at more appropriate intervals.  To achieve this, we
disable the ROOT auto-flush mechanism and explicitly optimize / flush from
the NanoAOD output module itself.
@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 3, 2018

A new Pull Request was created by @bbockelm (Brian Bockelman) for CMSSW_9_4_X.

It involves the following packages:

PhysicsTools/NanoAOD

@gpetruc, @cmsbuild, @arizzi, @monttj can you please review it and eventually sign? Thanks.
@gpetruc this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@fabiocos
Copy link
Contributor

@bbockelm I think we would need this before in the master branch...

@fabiocos
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 12, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/26790/console Started: 2018/03/12 15:19

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-22445/26790/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 26
  • DQMHistoTests: Total histograms compared: 2718773
  • DQMHistoTests: Total failures: 101
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2718510
  • DQMHistoTests: Total skipped: 162
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0 KiB( 0 files compared)
  • Checked 107 log files, 9 edm output root files, 26 DQM output files

@bbockelm
Copy link
Contributor Author

@fabiocos - I created a new PR against master here: #22624

@fabiocos
Copy link
Contributor

@bbockelm thanks, looking at it

@fabiocos
Copy link
Contributor

+1

@fabiocos
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit 2853d96 into cms-sw:CMSSW_9_4_X Mar 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants