Back to home page

Project CMSSW displayed by LXR

 
 

    


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