Skip to content

max_fragment_size_bytes in the settings file should only refer to fragments, not entire events #64

@eflumerf

Description

@eflumerf

This issue has been migrated from https://cdcvs.fnal.gov/redmine/issues/21395 (FNAL account required)
Originally created by @jcfreeman2 on 2018-11-18 03:04:52


When advanced_memory_usage is set to false in the DAQInterface settings file, DAQInterface uses the settings file's max_fragment_size_bytes parameter to determine how large of a memory buffer the transfer plugins connecting the artdaq processes should have. Prior to commit e0d44bd, meant to address this issue, the buffer was the same size regardless of whether the transfer plugin connected boardreaders and eventbuilders (and thus was just transferring single fragments) or connected downstream processes such as eventbuilders and dataloggers (and thus transferring entire events). In practice, this meant that max_fragment_size_bytes needed to be set to a value which could accommodate the largest conceivable event, which is not only tricky if you don't know how many boardreaders you may end up using, but also wasteful since transfer plugins between boardreaders and eventbuilders typically only need a fraction of that space.

Now, while max_fragment_size_bytes continues to be the buffer size for transfer plugins connecting boardreaders and eventbuilders, for other transfer plugins the buffer size is either

  1. The value of max_event_size_bytes in the process's FHiCL, if defined, OR
  2. The product of the number of boardreaders times the value of max_fragment_size_bytes in the settings file

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

🗨 Needs Feedback

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions