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

Improve memory usage in ParameterSet #42742

Merged
merged 11 commits into from
Oct 4, 2023

Conversation

Dr15Jones
Copy link
Contributor

PR description:

  • changed encoding of strings to decrease space used
  • use std::string_view to reduce memory churn while parsing ParameterSets
  • avoid use of temporary std::vector to hold elements and instead elements as needed
  • added additional unit tests

PR validation:

Code compiles and all framework unit tests pass.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2023

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-42742/36834

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2023

A new Pull Request was created by @Dr15Jones (Chris Jones) for master.

It involves the following packages:

  • FWCore/Framework (core)
  • FWCore/Integration (core)
  • FWCore/ParameterSet (core)
  • IOPool/Common (core)

@cmsbuild, @smuzaffar, @Dr15Jones, @makortel can you please review it and eventually sign? Thanks.
@makortel, @missirol, @wddgit this is something you requested to watch as well.
@rappoccio, @antoniovilela, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2023

-1

Failed Tests: UnitTests RelVals RelVals-INPUT AddOn
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cfe38f/34671/summary.html
COMMIT: a286de9
CMSSW: CMSSW_13_3_X_2023-09-08-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/42742/34671/install.sh to create a dev area with all the needed externals and cmssw changes.

Unit Tests

I found 24 errors in the following unit tests:

---> test PrimaryVertex had ERRORS
---> test testTriggerMonitors had ERRORS
---> test testSSTGainPCL_fromRECO had ERRORS
and more ...

RelVals

----- Begin Fatal Exception 09-Sep-2023 01:09:42 CEST-----------------------
An exception of category 'Configuration' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=ConcreteChargedCandidateProducer label='ElTrackCands'
Exception Message:
EntryError can not convert representation of particleType to value of type PdtEntry. Please, provide a parameter either of type int32 or string.
----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 09-Sep-2023 01:09:42 CEST-----------------------
An exception of category 'Configuration' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=ConcreteChargedCandidateProducer label='ElTrackCands'
Exception Message:
EntryError can not convert representation of particleType to value of type PdtEntry. Please, provide a parameter either of type int32 or string.
----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 09-Sep-2023 01:10:00 CEST-----------------------
An exception of category 'TriggerNamesNotFound' occurred while
   [0] Processing  Event run: 160960 lumi: 277 event: 10001082 stream: 0
   [1] Running path 'dqmoffline_step'
   [2] Calling method for module CastorMonitorModule/'castorOfflineMonitor'
Exception Message:
TriggerNames not found in ParameterSet registry
----- End Fatal Exception -------------------------------------------------
Expand to see more relval errors ...

RelVals-INPUT

  • 4.224.22_RunCosmics2011A/step2_RunCosmics2011A.log
  • 134.813134.813_RunCosmics2015C/step2_RunCosmics2015C.log
  • 136.733136.733_RunCosmics2016B/step2_RunCosmics2016B.log
Expand to see more relval errors ...

AddOn Tests

----- Begin Fatal Exception 09-Sep-2023 01:09:18 CEST-----------------------
An exception of category 'Configuration' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=ChargedRefCandidateProducer label='initialStepTrackRefsForJets'
Exception Message:
EntryError can not convert representation of particleType to value of type PdtEntry. Please, provide a parameter either of type int32 or string.
----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 09-Sep-2023 01:09:18 CEST-----------------------
An exception of category 'Configuration' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=ChargedRefCandidateProducer label='initialStepTrackRefsForJets'
Exception Message:
EntryError can not convert representation of particleType to value of type PdtEntry. Please, provide a parameter either of type int32 or string.
----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 09-Sep-2023 01:09:18 CEST-----------------------
An exception of category 'Configuration' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=ChargedRefCandidateProducer label='initialStepTrackRefsForJets'
Exception Message:
EntryError can not convert representation of particleType to value of type PdtEntry. Please, provide a parameter either of type int32 or string.
----- End Fatal Exception -------------------------------------------------
Expand to see more addon errors ...

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2023

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-42742/36835

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cfe38f/34920/summary.html
COMMIT: 68c41f7
CMSSW: CMSSW_13_3_X_2023-09-26-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/42742/34920/install.sh to create a dev area with all the needed externals and cmssw changes.

Unit Tests

I found 2 errors in the following unit tests:

---> test TestRunnerFWCoreTFWLiteSelector had ERRORS
---> test CondToolsLHCInfoNewPopConTest had ERRORS

Comparison Summary

Summary:

  • No significant changes to the logs found
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 1 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3356848
  • DQMHistoTests: Total failures: 3
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3356823
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -308.312 KiB( 49 files compared)
  • DQMHistoSizes: changed ( 1000.0 ): -308.312 KiB HLT/EGM
  • Checked 214 log files, 167 edm output root files, 50 DQM output files
  • TriggerResults: no differences found

@Dr15Jones
Copy link
Contributor Author

Please test

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cfe38f/34940/summary.html
COMMIT: 68c41f7
CMSSW: CMSSW_13_3_X_2023-09-27-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/42742/34940/install.sh to create a dev area with all the needed externals and cmssw changes.

Unit Tests

I found 1 errors in the following unit tests:

---> test CondToolsLHCInfoNewPopConTest had ERRORS

Comparison Summary

Summary:

  • You potentially removed 5 lines from the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 12 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3357124
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3357096
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -308.312 KiB( 49 files compared)
  • DQMHistoSizes: changed ( 1000.0 ): -308.312 KiB HLT/EGM
  • Checked 214 log files, 167 edm output root files, 50 DQM output files
  • TriggerResults: no differences found

@makortel
Copy link
Contributor

The CondToolsLHCInfoNewPopConTest fails also in the IBs.

@makortel
Copy link
Contributor

makortel commented Oct 3, 2023

+core

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 3, 2023

This pull request is fully signed and it will be integrated in one of the next master IBs (but tests are reportedly failing). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @rappoccio, @antoniovilela (and backports should be raised in the release meeting by the corresponding L2)

@antoniovilela
Copy link
Contributor

+1

@antoniovilela
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit b714992 into cms-sw:master Oct 4, 2023
1 check passed
@Dr15Jones Dr15Jones deleted the newStringParameterSet branch October 6, 2023 14:22
makortel added a commit to makortel/cmssw that referenced this pull request May 7, 2024
Caused by backporting cms-sw#42742 on
top of cms-sw#43898
makortel added a commit to makortel/cmssw that referenced this pull request May 7, 2024
Caused by backporting cms-sw#42742 on
top of cms-sw#43898
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.

6 participants