Skip to content

AthenaConfiguration+TriggerMenuMT: release memory after python config stage

Frank Winklmeier requested to merge fwinkl/athena:acc_gc2 into 24.0

Multiple changes to address the issue of unreleased memory after the python configuration stage observed i.e. in trigger jobs:

  • add method to clear AccumulatorCaches and call it from ComponentAccumulator before running
  • clear the _allSequences member of the CA (trigger jobs have a huge amount of sequences)
  • cleanup singletons and module-level caches at the end of the trigger menu generation

In total this saves 3 GB of memory in a trigger job (left: max vmem before 13.6 GB, right: after 10.6 GB):

PrMon_wtime_vs_vmem_0 PrMon_wtime_vs_vmem_1

Update: after !69403 (merged) the savings are much smaller as we are not creating as many CA instances anymore in the first place. Max VMEM usage goes from 10.3 GB to 9.5 GB.

Relates to ATR-28855 and ATEAM-978.

Edited by Frank Winklmeier

Merge request reports