diff --git a/scripts/JF02-buffer-worker.sh b/scripts/JF02-buffer-worker.sh new file mode 100644 index 0000000..226db66 --- /dev/null +++ b/scripts/JF02-buffer-worker.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ $# != 1 ] +then + systemctl start JF02-buffer-worker@{00..08} + exit +fi + +M=$1 + +# Add ourselves to the user cpuset. +# echo $$ > /sys/fs/cgroup/cpuset/user/tasks + +coreAssociatedBuffer=(39 39 39 40 40 40 41 41 41) + +initialUDPport=50020 +port=$((${initialUDPport}+10#${M})) +DETECTOR=JF02T09V02 + +taskset -c ${coreAssociatedBuffer[10#${M}]} /usr/bin/sf_buffer ${DETECTOR} M${M} ${port} /gpfs/photonics/swissfel/buffer/${DETECTOR} ${M} diff --git a/scripts/JF02-buffer-worker@.service b/scripts/JF02-buffer-worker@.service new file mode 100644 index 0000000..b175012 --- /dev/null +++ b/scripts/JF02-buffer-worker@.service @@ -0,0 +1,16 @@ +[Unit] +Description=JF02 UDP2buffer worker instance as a service, instance %i +Requires=JF02-buffer.service +Before=JF02-buffer.service +BindsTo=JF02-buffer.service + +[Service] +PermissionsStartOnly=true +Type=idle +User=root +ExecStart=/usr/bin/sh /home/writer/git/sf_daq_buffer/scripts/JF02-buffer-worker.sh %i +TimeoutStartSec=10 +RestartSec=10 + +[Install] +WantedBy=JF02-buffer.service diff --git a/scripts/JF02-buffer.service b/scripts/JF02-buffer.service new file mode 100644 index 0000000..a3b442c --- /dev/null +++ b/scripts/JF02-buffer.service @@ -0,0 +1,10 @@ +[Unit] +Description=All UDP-buffer instances of JF02 + +[Service] +Type=oneshot +ExecStart=/usr/bin/sh /home/writer/git/sf_daq_buffer/scripts/JF02-buffer-worker.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/scripts/JF02-stream.service b/scripts/JF02-stream.service new file mode 100644 index 0000000..27aaaa0 --- /dev/null +++ b/scripts/JF02-stream.service @@ -0,0 +1,15 @@ +[Unit] +Description=stream service (to streamvis and live analysis) of JF02 + +[Service] +PermissionsStartOnly=true +Type=idle +User=root +ExecStart=/usr/bin/sh /home/writer/git/sf_daq_buffer/scripts/JF02-stream.sh +TimeoutStartSec=10 +Restart=on-failure +RestartSec=10 + +[Install] +WantedBy=multi-user.target + diff --git a/scripts/JF02-stream.sh b/scripts/JF02-stream.sh new file mode 100644 index 0000000..626ce18 --- /dev/null +++ b/scripts/JF02-stream.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +coreAssociated="9,10,11,12" + +taskset -c ${coreAssociated} /usr/bin/sf_stream /gpfs/photonics/swissfel/buffer/config/stream-JF02.json diff --git a/scripts/JF06-buffer-worker.sh b/scripts/JF06-buffer-worker.sh new file mode 100644 index 0000000..fad99c6 --- /dev/null +++ b/scripts/JF06-buffer-worker.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ $# != 1 ] +then + systemctl start JF06-buffer-worker@{00..31} + exit +fi + +M=$1 + +# Add ourselves to the user cpuset. +# echo $$ > /sys/fs/cgroup/cpuset/user/tasks + +coreAssociatedBuffer=(22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37) + +initialUDPport=50060 +port=$((${initialUDPport}+10#${M})) +DETECTOR=JF06T32V01 + +taskset -c ${coreAssociatedBuffer[10#${M}]} /usr/bin/sf_buffer ${DETECTOR} M${M} ${port} /gpfs/photonics/swissfel/buffer/${DETECTOR} ${M} diff --git a/scripts/JF06-buffer-worker@.service b/scripts/JF06-buffer-worker@.service new file mode 100644 index 0000000..44ab481 --- /dev/null +++ b/scripts/JF06-buffer-worker@.service @@ -0,0 +1,16 @@ +[Unit] +Description=JF06 UDP2buffer worker instance as a service, instance %i +Requires=JF06-buffer.service +Before=JF06-buffer.service +BindsTo=JF06-buffer.service + +[Service] +PermissionsStartOnly=true +Type=idle +User=root +ExecStart=/usr/bin/sh /home/writer/git/sf_daq_buffer/scripts/JF06-buffer-worker.sh %i +TimeoutStartSec=10 +RestartSec=10 + +[Install] +WantedBy=JF06-buffer.service diff --git a/scripts/JF06-buffer.service b/scripts/JF06-buffer.service new file mode 100644 index 0000000..eba84ca --- /dev/null +++ b/scripts/JF06-buffer.service @@ -0,0 +1,10 @@ +[Unit] +Description=All UDP-buffer instances of JF06 + +[Service] +Type=oneshot +ExecStart=/usr/bin/sh /home/writer/git/sf_daq_buffer/scripts/JF06-buffer-worker.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/scripts/JF06-stream.service b/scripts/JF06-stream.service new file mode 100644 index 0000000..9f6d3b6 --- /dev/null +++ b/scripts/JF06-stream.service @@ -0,0 +1,15 @@ +[Unit] +Description=stream service (to streamvis and live analysis) of JF06 + +[Service] +PermissionsStartOnly=true +Type=idle +User=root +ExecStart=/usr/bin/sh /home/writer/git/sf_daq_buffer/scripts/JF06-stream.sh +TimeoutStartSec=10 +Restart=on-failure +RestartSec=10 + +[Install] +WantedBy=multi-user.target + diff --git a/scripts/JF06-stream.sh b/scripts/JF06-stream.sh new file mode 100644 index 0000000..6d39268 --- /dev/null +++ b/scripts/JF06-stream.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +coreAssociated="13,14,15,16" + +taskset -c ${coreAssociated} /usr/bin/sf_stream /gpfs/photonics/swissfel/buffer/config/stream-JF06.json diff --git a/scripts/start_detector.sh b/scripts/start_detector.sh index 482d7d4..d87b4e9 100755 --- a/scripts/start_detector.sh +++ b/scripts/start_detector.sh @@ -13,6 +13,12 @@ case ${DETECTOR} in 'JF01') D=1 ;; +'JF02') + D=2 + ;; +'JF06') + D=6 + ;; 'JF07') D=7 ;;