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

Multiple streams in cmsRun #685

Merged

Conversation

Dr15Jones
Copy link
Contributor

Provides full support for creating multiple streams in cmsRun.

  • number of streams can be specified in top level options PSet
  • the system will internally create the requested number of streams
  • stream and global modules will properly handle their per stream data
  • since we are single threaded, when more than 1 stream is requested, the system will assign events to a stream in a round-robin fashion.
  • the EventSetup is now only updated on Run and Lumi transitions to avoid synchronization problems in the threaded framework.

To support concurrent event processing, we need to isolate the
event handling from the rest of the transition handling. This is the
first step.
Since the state machine makes certain useful guarantees when doing an Event transition,
I moved the contiguous event loop into the method called by the state machine when an
event in encountered. This will later change to be where the different Stream tasks are launched.
Stream modules and modules which have Run, Lumi or Stream caches
needs to know how many 'slots' to reserve. This gets the information down
to where modules are constructed.
Percolated the PreallocationConfiguration into the module base classes and passed the number of streams to the appropriate virtual functions which are overwritten in the appropriate inheriting classes. The per Run and LuminosityBlock items are still just single items since having multiple such transitions is a later phase of the project.
If more than one stream is requested in the configuration, create them and then distribute the events using a round-robin algorithm.
…ltipleStreamsInEventProcessor

Resolved minor overlapping change in EventProcessor.cc and SubProcess.cc. In both cases the
resolution was to use the change already in this branch.
@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 1, 2013

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

Multiple streams in cmsRun

It involves the following packages:

FWCore/Utilities
FWCore/Framework
Mixing/Base

@civanch, @Dr15Jones, @mdhildred, @giamman, @ktf can you please review it and eventually sign? Thanks.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.

@Dr15Jones
Copy link
Contributor Author

+1

-This commit was merged with CMSSW_7_0_X at approximately 1700 on Sept 1 (CERN time).
-I did a full build using git cms-checkdeps -a starting from pre3 after the merge
-All framework base unit tests were run and succeeded
-runTheMatrix.py -s was also done and they all succeeded

@nclopezo please run the standard suite of tests on this change

@davidlt
Copy link
Contributor

davidlt commented Sep 2, 2013

@Dr15Jones I tested it last night. Jenkings log. All passed.

@civanch
Copy link
Contributor

civanch commented Sep 2, 2013

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2013

This pull request is fully signed and it will be integrated in one of the next IBs unless changes or unless it breaks tests.

nclopezo added a commit that referenced this pull request Sep 2, 2013
@nclopezo nclopezo merged commit 4b528be into cms-sw:CMSSW_7_0_X Sep 2, 2013
mharrend pushed a commit to mharrend/cmssw that referenced this pull request Oct 21, 2015
Config for LO NNPDF30 PDF needed for commit cms-sw#685
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.

5 participants