Skip to content

HltPackedDataWriter compressed buffer size fluctuates

The Size of compressed data counter from HltPackedDataWriter fluctuates slightly between runs.

 |    Counter                                      |     #     |    sum     | mean/eff^* | rms/err^*  |     min     |     max     |
#First run
 | "Size of compressed data"                       |       421 |    3736579 |     8875.5 |    10531.0 |      550.00 |     59912.0 |
#Second run
 | "Size of compressed data"                       |       421 |    3736634 |     8875.6 |    10531.0 |      550.00 |     59926.0 |
#Third run
 | "Size of compressed data"                       |       421 |    3736653 |     8875.7 |    10531.0 |      550.00 |     59928.0 |
#Fourth run
 | "Size of compressed data"                       |       421 |    3736534 |     8875.4 |    10530.0 |      550.00 |     59919.0 |

This became apparent when creating references for the Moore test included by Moore!985 (merged). The numbers above were obtained running the test on 4 threads. Running it single-threaded also shows fluctuation:

#First Run
 | "Size of compressed data"                       |       421 |    3760293 |     8931.8 |    10499.0 |      548.00 |     64510.0 |
#Second run
 | "Size of compressed data"                       |       421 |    3760430 |     8932.1 |    10500.0 |      548.00 |     64516.0 |
#Third run
 | "Size of compressed data"                       |       421 |    3760210 |     8931.6 |    10499.0 |      548.00 |     64511.0 |

Edit: Enabling checksum in the HltPackedDataWriter shows that the input uncompressed data changes between runs. The logs for two runs are attached (log1.log, log2.log). The locations whose checksums change are

'/Event/HLT2/pPhys/Relations'
'/Event/HLT2/pPhys/Vertices'
'/Event/HLT2/pRec/Muon/CustomPIDs'
'/Event/HLT2/pRec/Muon/MuonPID'
'/Event/HLT2/pRec/ProtoP/Charged'
'/Event/HLT2/pRec/ProtoP/Custom'
'/Event/HLT2/pRec/ProtoP/Neutrals'
'/Event/HLT2/pRec/Rich/CustomPIDs'

Edit 2: Applying Gerhard's changes from !3244 (closed) improves the situation, as most checksums stop fluctuating. Only the checksum associated with

'/Event/HLT2/pPhys/Relations'

still fluctuates. The Size of compressed data counter still fluctuates (log1_gerhard_fix.log log2_gerhard_fix.log).

Edit 3: Once Moore!997 (merged) is merged, these checksums can be obtained running

Moore/run gaudirun.py Moore/Hlt/Hlt2Conf/tests/qmtest/test_hlt2_check_packed_data_checksums.qmt

FYI @sstahl @rmatev

Edited by Lucas Meyer Garcia
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information