Professional Documents
Culture Documents
HLT Tutorial
Edgar F. Carrera
B ecarrera@cern.ch
1 Introduction
2 Timing Measurement
3 Analysis of Results
4 Hands-on Exercise
HLT Timing:
HLT Flow
Filters are cheap
Producers are expensive
Decide efficiently and swiftly
Twiki Instructions
https://twiki.cern.ch/twiki/bin/view/CMS/TriggerStudiesTiming
Processors information under file /proc/cpuinfo (in a Linux system) or with the lscpu
command.
FastTimerService
CMSSW C++ class used to measure the time spent in each
path and module in a CMSSW job.
It is the heart of the timing test
https://twiki.cern.ch/twiki/bin/view/CMS/FastTimerService
FastTimerServiceClient
Harvests the results from the FastTimerService and computes
some additional information (associated with harvesting step).
Documentation also at:
https://twiki.cern.ch/twiki/bin/view/CMS/FastTimerService
TimingScripts
The TimingScripts package is a set of tools written in C++
and/or Python (mostly independent of CMSSW) in order to help
with machine characterization and menu validation
Can be found in git: https://github.com/cms-steam/TimingScripts
HEAD version can be extracted to any area (even your laptop):
git clone git@github.com:cms-steam/TimingScripts.git
Documentation:
https://twiki.cern.ch/twiki/bin/viewauth/CMS/
TriggerStudiesTiming#How_to_Perform_a_Timing_Validati
https://indico.cern.ch/event/390512/contributions/1823750/
attachments/781457/1071405/TSG_Meeting_06.23.2015.pdf
1 Timing:
running a CMSSW HLT configuration file (with cmsRun) that includes the
FastTimerService code
most timer information is gathered by this tool, which acts like a DQM source
The file(s) produced are generally named DQM.root or DQMIO.root; these
can then be read by a DQM client.
2 Harvesting:
cmsRun job with another (and simpler) CMSSW configuration file, which
includes the FastTimerServiceClient (a DQM client) tool, needs to be run
over the output of the first step
produces a file normally named
DQM V000Y R000XXXXXX HLT FastTimerService All.root, where
XXXXXX is the run number.
output file contains relevant plots under the root directory DQM Data/Run
XXXXXX/HLT/Run summary/TimerService. These can be explored and
analyzed directly by the user
several useful scripts have been developed in order to study them
(TimingScripts) section above
The – –timing switch instruments the HLT configuration file with the FastTimerService →
https://twiki.cern.ch/twiki/bin/view/CMS/FastTimerService
Then start the script and assign the threads to 4 cores. This will assure you run as
online (i.e., without hyperthreading: one logical core used per physical core).
#example assign to run on cores 0,1,2,3
nohup taskset -c 0-3 cmsRun hlt.py >& full.log&
Smarter analysis...
One can choose to write its own simple python code in order to retrieve the
appropiate histograms from
DQM V000Y R000XXXXXX HLT FastTimerService All.root
Or use the available scripts at
https://github.com/cms-steam/TimingScripts
Documentation available at
https://twiki.cern.ch/twiki/bin/viewauth/CMS/TriggerStudiesTiming#
How_to_Perform_a_Timing_Validati
https://twiki.cern.ch/twiki/bin/view/CMS/TriggerStudiesTutorial2017#HLT_
timing_studies