Feature #15542

Bug #15541: transfer_to_dispatcher should not be required

Allow configuration of multiple dispatchers

Added by Eric Flumerfelt over 3 years ago. Updated over 3 years ago.

Additional Functionality
Target version:
Start date:
Due date:
% Done:


Estimated time:


We should support configuration scenarios where multiple dispatchers are present in the system, each either receiving all events or 1/N events, where N is the number of dispatchers. The data logger would then have a destinations configuration block similar to the BoardReader or EventBuilder, and the transfer to the dispatchers would go through the DataReceiverManager/DataSenderManager.

Associated revisions

Revision 0ff96a55 (diff)
Added by John Freeman over 3 years ago

JCF: made explicit the (current) requirement that we have only one data logger + added support for code changes in Issue #15542

Revision eb751f6c (diff)
Added by John Freeman over 3 years ago

JCF: add a settable offset to the NthEvent transfer plugin which will allow for a system where with N dispatchers each dispatcher receives 1/N events (as described in Issue #15542 )

Revision fb039f09 (diff)
Added by John Freeman over 3 years ago

JCF: modified bookkeeping_for_fhicl_documents_artdaq_v3_base so that with its send_1_over_N set to True, when it uses a version of artdaq-demo on the feature/multiple_dispatchers branch of commit eb751f6cc124e6be37b640a0625c6309ce9b3457 or newer, it supports N dispatchers, each of which receives 1/N total events. See also Issue #15542


#1 Updated by John Freeman over 3 years ago

  • Assignee set to John Freeman

#2 Updated by John Freeman over 3 years ago

  • % Done changed from 0 to 80

Right now, the feature/multiple_dispatcher branches of artdaq and artdaq-demo can be installed thusly:

chmod 755
./ -e10 -s46 --tag=15b80b2cea06c839984946989246ab1e1c012f8c -w  --viewer

And with this installation, a configuration has been successfully tested in which a data logger broadcast events to two dispatchers via the DataSenderManager.

There are, however, two remaining issues:

  1. DataSenderManager doesn't yet have a non-blocking option when it's not in broadcast mode. Eric will add this feature.
  1. The desired configuration described at the top of this Issue, in which with N dispatchers, each dispatcher receives 1/N events, hasn't yet been implemented. This may be achievable simply by using artdaq-demo's NthEvent transfer plugin, however.

#3 Updated by John Freeman over 3 years ago

  • Status changed from New to Work in progress

#4 Updated by John Freeman over 3 years ago

  • Status changed from Work in progress to Resolved
  • % Done changed from 80 to 100

The issue is resolved with the code at the HEAD of the artdaq develop (68cb53e576dd6afea7950ca6286a08f5f329b966) and artdaq-demo develop (86141f4d5a8fc961100fd3ea548b3dd714f4b8e1) branches. It has been tested with DAQInterface, in which a data logger successfully sent 1/3 of its events to each of 3 dispatchers. DataSenderManager / DataReceiverManager mediated between the data logger and dispatchers.

#5 Updated by Eric Flumerfelt over 3 years ago

  • Status changed from Resolved to Closed
  • Target version set to artdaq v2_02_03

Also available in: Atom PDF