HLT Software Scrutiny 2008
Charge
The
HLT software scrutiny taskforce will review the HLT software. Particular emphasis will be put on
- understanding HLT timing and memory usage
- reviewing the general robustness of the code, including the event model and configuration
- identifiying what HLT-output users need
- checking correct use of the Gaudi (and LHCb) infrastructure
Some of the more relevant questions are
- How can we make the HLT faster? Is the order in which selections are made optimal?
- Is Gerhard on the right track with his model for loading and persisting configuration?
- What should be in the HLT summary bank to satisfy the needs of people doing physics analysis? What exactly is needed to calculate phase space and proper time acceptance?
- What should we do about the HLT event model? Can we replace the extensive use of the LHCb::Track model with something more generic and tuned for HLT?
- Is the software sufficiently easily maintainable? Can it easily be extended?
- Can we improve particle parameter resolutions in the HLT? Can we run the track fit for a small number of tracks?
The task force will produce a short document with recommendations, eventually supported by some prototyping for modifications of the HLT code (like the event model).
The task force will report regularly on its activities to Hans Dijkstra and Gerhard Raven. First feed back to the HLT is aimed for the end of Feburary.
Note:
- if nothing else, this review should render two more people (Stefan, Wouter) reasonable experts in HLT software.
- there is no real time-scale for this project, but finishing everything by the end of march seems a reasonable target.
Who is the taskforce?
- Stefan Nies <stephan.nies@physik.uni-dortmund.de>
- Tomasz Skwarnicki <tomasz@physics.syr.edu>
- Wouter Hulsbergen <wouter.hulsbergen@cern.ch>
Meetings
The task force meets first on Wednesday 06/02/2008 at 3pm.
Packages
For now the review is limitted to functionality implemented in these core packages:
- HLTBase (cvs
, doxygen)
- HLTCommon (cvs
, doxygen)
- HLTTracking (cvs
, doxygen)
The alleys may be reviewed at a later time.
Plan
So, how do we start?
Phase 1 ~ from now till end of february
- talk to experts in order to idenify weak points in the software. Jose, Gerhard, ...
- run the HLT, produce statistics on timing and memory usage
- distribution of event time per event
- break down of time over sub routines (e.g. using cachegrind)
- understand what is needed from the HLT for physics analysis
Phase 2
- formulation of draft document
- prototyping of e.g. proposed changes in HLT event model
- ...
Talks, presentations, links etc
Instructions for running the HLT
- set up DaVinci v19r10 (for example with
setenvDaVinci v19r10
)
- getpack
Phys/DaVinci
head and compile
- copy
$HLTSYSROOT/options/HltJob.opts
, uncomment the line with the data card and run
Instructions for profiling the HLT with callgrind
- follow the instructions for running the HLT as above
- run this script
source /afs/cern.ch/lhcb/group/rich/vol4/jonrob/scripts/new-valgrind.csh
valgrind --tool=callgrind -v --dump-instr=yes --trace-jump=yes --toggle-collect="HltSequencer*execute*" \
$DAVINCIROOT/$CMTCONFIG/DaVinci.exe HltJob.opts >! cachegrindlog.txt
- use
kcachegrind
to look at the output
--
WouterHulsbergen - 21 Feb 2008