Skip to content

TriggerMenuMT: remove ComboHypoPool cache and merge CFSequence with CFSequenceCA (ATR-29181)

Francesca Pastore requested to merge fpastore/athena:CAcleanup into 24.0

Adding more optimisations for Trigger Menu generation, following the list in ATR-29039:

  • removed ComboHypoPool cache by using the functools.partial in makeCombo(): the comboHypos are first only stored as function generators, then instantiated in createSequence(), only once when the step is created. This avoids storing the algorithm instance in the pool ( ATR-29181)
  • merging of CFSequence with CFSequenceCA classes to improve readability

I have compared the HLTJobOptions.json:

confTool.py --diff HLTJobOptions.json ../test_trigP1_v1PhysP1_T0Mon_grid/HLTJobOptions.json 
Run with arguments:
confTool.py --diff HLTJobOptions.json ../test_trigP1_v1PhysP1_T0Mon_grid/HLTJobOptions.json
Step 1: reference file #components: 37797
Step 2: file to check  #components: 37797
Legend:
Differences in components Settings in 1st file Settings in 2nd file
Component PerfMonMTSvc may differ
	wallTimeOffset =  1724170574580.0  vs  1724170484360.0   <<

I have also run the promo script

prmon_plot.py --input prmon.athenaHLT.txt --xvar wtime --yvar vmem,pss,rss,swap --yunit GB

which generated the memory trends attached below:

before:

PrMon_wtime_vs_vmem_pss_rss_swap.png

and after:

PrMon_wtime_vs_vmem_pss_rss_swap.png

I don’t see differences in memory usage during the jobs, and I think this is expected since these changes are maintaining the same memory structure as before.

Expected comments from @fwinkl

Edited by Francesca Pastore

Merge request reports

Loading