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
RandomNumberGeneratorService Threaded #1423
Conversation
Modifications to make the random number generator service work with the multithreaded Framework. The interface now requires a StreamID or LuminosityBlockIndex argument to the getEngine function. For each module, there will an engine for each stream and also each concurrent luminosity block instead of being just one per module. This is necessary to prevent data races. The service now uses the new callbacks for the threaded Framework. This required extensive revisions to the internals of the service and also to the related unit tests. If all modules use the new getEngine interface, the service will support multiple threads, forking (but not multiple threads and forking in the same job), and replay. Temporarily the old interface still works while clients are transitioned to the new interface. But modules using the old interface must be ONE or LEGACY type modules (not GLOBAL OR STREAM). If any modules use the old interface, then both replay and multiprocess forking will be broken.
A new Pull Request was created by @wddgit for CMSSW_7_0_THREADED_X. RandomNumberGeneratorService Threaded It involves the following packages: FWCore/Utilities @civanch, @Dr15Jones, @mdhildreth, @cmsbuild, @nclopezo, @giamman, @ktf can you please review it and eventually sign? Thanks. |
+1 |
@ktf @nclopezo David, given this is THREADED does this get a Jenkin's test? @mdhildreth Mike, given this is for THREADED you may not be interested in doing a detailed check yourself. |
@Dr15Jones |
-1 runTheMatrix-results/4.53_RunPhoton2012B+RunPhoton2012B+HLTD+RECODreHLT+HARVESTDreHLT/step2_RunPhoton2012B+RunPhoton2012B+HLTD+RECODreHLT+HARVESTDreHLT.log ----- Begin Fatal Exception 14-Nov-2013 17:27:07 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type DTDataIntegrityTask Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 101.0 step1 runTheMatrix-results/101.0_SingleElectronE120EHCAL+SingleElectronE120EHCAL/step1_SingleElectronE120EHCAL+SingleElectronE120EHCAL.log ----- Begin Fatal Exception 14-Nov-2013 17:27:36 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type UpdaterService Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 1003.0 step2 runTheMatrix-results/1003.0_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM/step2_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM.log ----- Begin Fatal Exception 14-Nov-2013 17:28:02 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type FastTimerService Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 4.22 step2 runTheMatrix-results/4.22_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC/step2_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC.log ----- Begin Fatal Exception 14-Nov-2013 17:28:03 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type FastTimerService Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 1000.0 step2 runTheMatrix-results/1000.0_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT/step2_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT.log ----- Begin Fatal Exception 14-Nov-2013 17:28:07 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type FastTimerService Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 1001.0 step2 runTheMatrix-results/1001.0_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD/step2_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD.log ----- Begin Fatal Exception 14-Nov-2013 17:28:07 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type FastTimerService Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 5.1 step1 runTheMatrix-results/5.1_TTbar+TTbarFS+HARVESTFS/step1_TTbar+TTbarFS+HARVESTFS.log ----- Begin Fatal Exception 14-Nov-2013 17:28:12 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type DTDataIntegrityTask Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 401.0 step1 runTheMatrix-results/401.0_TTbarNewMix+TTbarFSPU2+HARVESTFS/step1_TTbarNewMix+TTbarFSPU2+HARVESTFS.log ----- Begin Fatal Exception 14-Nov-2013 17:28:12 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type DTDataIntegrityTask Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 8.0 step2 runTheMatrix-results/8.0_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS/step2_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS.log ----- Begin Fatal Exception 14-Nov-2013 17:29:45 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type DTDataIntegrityTask Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 1306.0 step2 runTheMatrix-results/1306.0_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15/step2_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15.log ----- Begin Fatal Exception 14-Nov-2013 17:30:37 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type DTDataIntegrityTask Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- 25.0 step2 runTheMatrix-results/25.0_TTbar+TTbar+DIGI+RECO+HARVEST+ALCATT/step2_TTbar+TTbar+DIGI+RECO+HARVEST+ALCATT.log ----- Begin Fatal Exception 14-Nov-2013 17:38:18 CET----------------------- An exception of category 'ConnectedToObsoleteServiceSignal' occurred while [0] Constructing the EventProcessor [1] Constructing service of type DTDataIntegrityTask Exception Message: A Service has connected to an obsolete ActivityRegistry signal. ----- End Fatal Exception ------------------------------------------------- you can see the results of the tests here: |
@ktf These were expected (next group of Services are failing now that RandomNumberService uses new interface). |
+1 |
Multithreaded framework -- RandomNumberGeneratorService Threaded
Modifications to make the random number generator
service work with the multithreaded Framework.
The interface now requires a StreamID or
LuminosityBlockIndex argument to the getEngine
function. For each module, there will an
engine for each stream and also each concurrent
luminosity block instead of being just one
per module. This is necessary to prevent data races.
The service now uses the new callbacks for the
threaded Framework. This required extensive revisions
to the internals of the service and also to
the related unit tests. If all modules use
the new getEngine interface, the service
will support multiple threads, forking
(but not multiple threads and forking in the
same job), and replay.
Temporarily the old interface still works while clients
are transitioned to the new interface. But modules
using the old interface must be ONE or LEGACY
type modules (not GLOBAL OR STREAM). If any modules
use the old interface, then both replay and
multiprocess forking will be broken.