A closer look TRACEs and configuring - art-daq/artdaq-demo GitHub Wiki
A closer look - TRACEs and configuring
In case multiple demos will be run…
Choose a partition that is appropriate for you. If you don’t know, try…
export ARTDAQ_PARTITION_NUMBER=4
Looking at TRACEs
Assuming you have TRACE configured (check tenv; if necessary: export TRACE_MSGMAX=0), you could try:
tonM 5 -Ncompo*_DataSenderManager
tshow | egrep "us_tod|component01.*Done sending" | tdelta -d 1 -ct 1 | head
and you should see something like:
idx us_tod delta pid tid cpu name lvl r msg
96326 04-12 12:18:43.671774 0 11220 16473 9 component01_DataSenderManager d05 . sendFragment: Done sending fragment 595 to dest=4
96358 04-12 12:18:43.670725 1049 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 594 to dest=4
96404 04-12 12:18:43.669639 1086 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 593 to dest=4
96460 04-12 12:18:43.668561 1078 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 592 to dest=4
96528 04-12 12:18:43.667479 1082 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 591 to dest=4
96593 04-12 12:18:43.666397 1082 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 590 to dest=4
96661 04-12 12:18:43.665318 1079 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 589 to dest=4
96769 04-12 12:18:43.664237 1081 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 588 to dest=4
96870 04-12 12:18:43.663157 1080 11220 16473 11 component01_DataSenderManager d05 . sendFragment: Done sending fragment 587 to dest=4
OR
tshow | egrep "us_tod|component01.*Done sending" | tdelta -d 1 -ct 1 -stats | tail
219858 04-12 12:18:43.052986 320 11220 16473 1 component01_DataSenderManager d05 . sendFragment: Done sending fragment 4 to dest=4
219905 04-12 12:18:43.052697 289 11220 16473 1 component01_DataSenderManager d05 . sendFragment: Done sending fragment 3 to dest=4
219954 04-12 12:18:43.052374 323 11220 16473 1 component01_DataSenderManager d05 . sendFragment: Done sending fragment 2 to dest=4
220023 04-12 12:18:43.051908 466 11220 16473 1 component01_DataSenderManager d05 . sendFragment: Done sending fragment 1 to dest=4
cpu="0"
min 206
max 24248
tot 619866
ave 1043.5454
cnt 594
Some Configuration
cd $MRB_TOP/artdaq-utilities-daqinterface/simple_test_config/demo_largesystem
# the data size (fragment size) in bytes will be ADCcounts * 2 + 40
sed -i 's/nADCcounts:.*/nADCcounts: 31988/' component*.fcl
# disable simplistic throttle - use usecs_between_sends (next)
sed -i 's/throttle_usecs:.*/throttle_usecs: 0/' component*.fcl
grep usecs_between_sends component01.fcl \
&& sed -i 's/usecs_between_sends:.*/usecs_between_sends: 1000/' component*.fcl \
|| sed -i '/throttle_usecs/a\
usecs_between_sends: 1000' component*.fcl
# take data/disk writing out of the equation
sed -i 's|fileName:.*root.*|fileName: "/dev/null"|' DataLogger1.fcl
sed -i 's|^.*fileProperties:|# fileProperties:|' DataLogger1.fcl
sed -i 's|^ *a1:|# a1:|' DataLogger1.fcl EventBuilder*.fcl # checkIntegrity takes a lot of CPU
sed -i 's|compressionLevel:.*|compressionLevel: 0|' DataLogger1.fcl # was 3
# watch out to keep this compatible larger than "ADCcounts" (above)
sed -i 's/max_fragment_size_bytes:.*/max_fragment_size_bytes: 0x20000/' EventBuilder*.fcl # was 16777216
sed -i 's/buffer_count:.*/buffer_count: 200/' EventBuilder*.fcl
# misc.
sed -i 's|^ *my_output_modules:|# my_output_modules:|' DataLogger1.fcl EventBuilder*.fcl # art root IO is too slow
grep stale_buffer_timeout_usec EventBuilder1.fcl \
|| sed -i '/buffer_count/a\
stale_buffer_timeout_usec: 100000' EventBuilder*.fcl # default is 5000000
# As far as running on multiple nodes goes... Adjust $MRB_TOP/DAQInterface/{boot.txt,known_boardreaders_list_example}