@Rollo,
"task pinning" = forcing the operating system to schedule a task on specific logical CPUs.
"Task pinning" is only one step of several to optimize computer throughput with programs like LLR2. Whether this particular step is beneficial or not (and if, how much) depends on the computer (on its CPU and some other aspects). The benefit can be dramatic though.
Background:
The most computing intensive part within LLR2 is a Fast Fourier Transform. This transform works on a vector of FP64 coefficients. The LLR2 program is built to pick the best SIMD instructions which a given CPU supports to perform the operations on this vector, such as FMA3 or AVX512. How many coefficients are present in the vector depends on how large the number is which is tested. Simplified, the transform performs many steps, and each step computes new coefficients from the old ones. For data efficiency, this is performed in place, IOW old values aren't kept but overwritten by new values.
The current Seventeen or Bust candidate numbers require 31.5...36.0 MBytes of FFT coefficients.
For maximum computer throughput, you want that these "hot data" reside mostly in the CPU caches, IOW, that the CPU has to perform only minimal read/write traffic to main memory. Because as you might now, latency and bandwidth of main memory accesses are dramatically worse than accesses to CPU-internal caches.
So, how to act on this?
Step 1:
Figure out how many SoB-LLR tasks your particular computer can effectively execute in parallel. Smaller computers will already struggle with a single one, others can do more.
Step 2:
Figure out how many software threads each SoB-LLR task should use. Pick as many as needed to get all SIMD units on the CPU well utilized, but don't pick too many because program-internal synchronization overhead increases with thread count, and other CPU resources like various buffers and the mentioned main memory bandwidth constrain you.
Step 3:
Figure out whether or not the operating system kernel needs your help scheduling the threads of each SoB-LLR task such that CPU caches are used effectively. This is where "task pinning" may get involved.
I will write more later.
Step 1 is most important. Step 2 doesn't have to be done perfectly; effort and effect follow the Pareto principle here. Step 3 gets quite computer specific, as mentioned.