Warning, /IOPool/Input/doc/IOExerciser-README is written in an unsupported language. File is not indexed.
0001
0002 This module is designed to help benchmark CMSSW I/O performance.
0003
0004 The IOExerciser EDAnalyzer reads a fixed percentage of branches from a
0005 file (percentages are done by the size of the branch) and, at a fixed interval,
0006 will read out all the data in an event.
0007
0008 To emulate production work, set the percent read to 100%. To emulate analysis
0009 jobs, set the percent read to around 30% and the trigger factor to 10-100
0010 (there's a wide range of analysis behavior).
0011
0012 To emulate a traditionally problematic I/O job, set the percent read to 10% and
0013 the trigger factor to 10-20.
0014
0015 The selection strategy determines how branches are selected - smallest first,
0016 largest first, or round robin:
0017 - 'smallestFirst' (default): Read branches in increasing order of size until limit is hit.
0018 - 'largestFirst': Read branches in decreasing order of size until limit is hit.
0019 - 'roundRobin': Read a small branch, then large branch. Repeat until size limit is hit.
0020
0021 Smallest-first will allow you to stay closest to the desired percent read.
0022 Round robin is likely closer to user behavior.
0023
0024 Run "edmPluginHelp -p IOExerciser" for online help.
0025
0026
0027 ********************************
0028 Here's an example configuration:
0029
0030 import FWCore.ParameterSet.Config as cms
0031
0032 process = cms.Process("Demo")
0033
0034 process.load("FWCore.MessageService.MessageLogger_cfi")
0035 process.MessageLogger.cerr.FwkReport.reportEvery = 100
0036 # Uncomment the following lines for thorough debugging info
0037 #process.MessageLogger.debugModules.append("IOExerciser")
0038 #process.MessageLogger.cerr.threshold = 'INFO'
0039 #process.MessageLogger.cerr.INFO.limit = 500
0040
0041 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
0042
0043 process.source = cms.Source("PoolSource",
0044 # replace 'myfile.root' with the source file you want to use
0045 fileNames = cms.untracked.vstring(
0046 '/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root'
0047 )
0048 )
0049
0050 process.out = cms.OutputModule('IOExerciser',
0051 percentBranches = cms.untracked.uint32(30),
0052 triggerFactor = cms.untracked.uint32(20),
0053 )
0054
0055 process.outpath = cms.EndPath(process.out)
0056