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

DAQ optimized usage of FU file locking (12_0_X backport) #35221

Merged
merged 3 commits into from Sep 11, 2021

Conversation

smorovic
Copy link
Contributor

@smorovic smorovic commented Sep 9, 2021

PR description:

A local file lock on the filter unit machine is used in online HLT when acquiring a file from a builder unit (via file broker service), ensuring that files appear locally in the same order they are acquired (otherwise it is a race between threads in process acquiring it). Order is important to ensure proper local bookeeping of events processed in a lumisection.
An exclusive file lock has been used for this, but it turns out this can be relaxed in most cases to a shared lock, while only end-of-lumi marker needs to remain exclusive. This is implemented in this PR.

Test module for generating fake data also gains ability to generate random payload, which will be useful for storage and transfer tests in the future, as it generates data with low compressibility.

PR validation:

It has been tested in DAQ3 system which is currently in commissioning. Performance of HLT readout appears improved, especially in conditions of increased network latency due to saturated network bandwith. Functionally no issues are seen with this patch.

Unit test was modified to use the new feature for creating input data using rand(), so validity is verified by this test.

if this PR is a backport please specify the original PR and why you need to backport that PR:

Backport of #35218

  exclusive lock, so it is ensured to be written in the same order as
  notified from the file broker service.
  Creation of EoLS was moved out of the shared section.
  Check of directory existing was moved out of the critical section
* silence warnings of TCDS FED mismatch when using test TCDS range
* set file locking monitoring state at the correct location
@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2021

A new Pull Request was created by @smorovic (Srecko Morovic) for CMSSW_12_0_X.

It involves the following packages:

  • EventFilter/Utilities (daq, reconstruction)

@jpata, @cmsbuild, @emeschi, @smorovic, @slava77 can you please review it and eventually sign? Thanks.
@Martin-Grunewald this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@smorovic
Copy link
Contributor Author

smorovic commented Sep 9, 2021

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2021

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-09a507/18468/summary.html
COMMIT: 6ee7254
CMSSW: CMSSW_12_0_X_2021-09-09-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/35221/18468/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 3 differences found in the comparisons
  • DQMHistoTests: Total files compared: 39
  • DQMHistoTests: Total histograms compared: 2998564
  • DQMHistoTests: Total failures: 5
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2998536
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 38 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 165 log files, 37 edm output root files, 39 DQM output files
  • TriggerResults: no differences found

@smorovic
Copy link
Contributor Author

smorovic commented Sep 9, 2021

+1

@slava77
Copy link
Contributor

slava77 commented Sep 10, 2021

+reconstruction

for #35221 6ee7254

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_12_0_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_12_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@perrotta
Copy link
Contributor

backport of #35218

@perrotta
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit df3d5fa into cms-sw:CMSSW_12_0_X Sep 11, 2021
@smorovic smorovic deleted the dev-120X-locking-opt branch August 24, 2023 08:22
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

4 participants