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

multithreading, file input, monitoring improvements in EventFilter/Utilities for 71X #2661

Merged
merged 105 commits into from
Mar 20, 2014

Conversation

smorovic
Copy link
Contributor

Changes to DAQ modules and services in CMSSW ("EventFilter/Utilities") used for the file-based system, which include:

  • porting DAQ code to multithreaded APIs (modules and services). Monitoring service is now thread safe and properly supports multiple CMSSW streams and threads.
  • new asynchronous file reading mode (using multiple threads/buffers) in the FedRawDataInputSource
  • file locking is now done with a polling lock instead of a blocking one for decreased NFSv4 locking latency
  • monitoring rework and adjustments to the format of JSON metadata: definition can also be generated by the new implementation, as seen in the reco output module, micro and ministate legend is written in the FU working directory.
  • other misc. fixes and cleanups

Note: fixed compilation error from the previous pull request attempt.

smorovic and others added 30 commits February 21, 2014 12:02
support for ministate
Includes changes to the StreamerContext (in FWCore/Framework and FWCore/ServiceRegistry)
to include luminosityBlockID for stream callbacks
use StreamContext eventID().luminosityBlock() to access lumi ID per stream
Path encoding and decoding is now separated per each per-stream
…hunkSize, otherwise eventChunkSize will be changed to satisfy this)
new version of test script
fixed log output throttling for one log message
… to pick up

added back assertion checks in input source and FMS
reduced sleep time while waiting for next chunk to avoid idling for too long
…iles before first input jsons

also a spurious wakeup of condition variable needs to be handled in this case
@smorovic
Copy link
Contributor Author

I am reopening this pull request.
The Utilities package has seen bugfixes and several new features added:
-switch to a new file-based DAQ naming convention (adopted also by non-cmssw Event Builder/Filter components)
-fixes and improvements to asynchronous file reading in the input source (all modes now use a "supervisor" thread for file discovery)
-writing last luminsection EoR and EoL file to the working directory, several other file-handling bugfixes, mostly related to hltd daemon changes.
-updated definition of json files, which is now also generated by the module
-a lot of other small improvements, detailed in commit logs

  • investigation of use of synchronization primitives. Lock was added in one place where vector size is modified (preBeginJob in FastMonitoringService). Other issues raised in discussion here were addressed.

The code has been extensively tested over past week in daqval and problems that have been detected were fixed. The submitted version appears to run without problems.

The move to use tbb in FastMonitoringService was considered, however after some discussion we concluded that it requires much effort for no obvious gain (as I also discussed in previous post).

So please consider this version for merge into the official CMSSW_7_1_X branch.

Best regards,
Srecko

@smorovic smorovic reopened this Mar 19, 2014
@cmsbuild
Copy link
Contributor

Pull request #2661 was updated. @Dr15Jones, @emeschi, @cmsbuild, @nclopezo, @mommsen, @Degano, @ktf can you please check and sign again.

@cmsbuild
Copy link
Contributor

@emeschi
Copy link
Contributor

emeschi commented Mar 20, 2014

+1

Sent from my iPhone

On 20 Mar 2014, at 10:17, "cmsbuild" <notifications@github.commailto:notifications@github.com> wrote:

+1
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2661/583/summary.html


Reply to this email directly or view it on GitHubhttps://github.com//pull/2661#issuecomment-38147158.

@Dr15Jones
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_1_X IBs unless changes (tests are also fine). @nclopezo, @ktf can you please take care of it?

ktf added a commit that referenced this pull request Mar 20, 2014
Multithreading -- Multithreading, file input, monitoring improvements in EventFilter/Utilities for 71X
@ktf ktf merged commit dbee146 into cms-sw:CMSSW_7_1_X Mar 20, 2014
@smorovic smorovic deleted the async-reader-71X branch October 7, 2014 08:07
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

8 participants