Можно одно из ядер процессора сделать ядром реального времени, изолировав от планировщика задач операционной системы.
Для этого добавляем в /boot/cmdline.txt параметр isolcpus=x, где x - номер ядра от 1 до 4
isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler.
Format:
<cpu number>,...,<cpu number>
or
<cpu number>-<cpu number>
(must be a positive range in ascending order)
or a mixture
<cpu number>,...,<cpu number>-<cpu number>
This option can be used to specify one or more CPUs
to isolate from the general SMP balancing and scheduling
algorithms. You can move a process onto or off an
"isolated" CPU via the CPU affinity syscalls or cpuset.
<cpu number> begins at 0 and the maximum value is
"number of CPUs in system - 1".
This option is the preferred way to isolate CPUs. The
alternative -- manually setting the CPU mask of all
tasks in the system -- can cause problems and
suboptimal load balancer performance.
Перезагружаемся, проверяем, что ядро изолировано:
cat /sys/devices/system/cpu/isolated
И потом через taskset запускаем нужный процесс на этом ядре:
taskset -c 3 /путь_до_файла, запускающего процесс