My machine has 8 physical cores and 16 logical cores or threads. If I spawn, for example 6 workers, can I ensure each runs on it's own physical core and no two workers share a physical core? I believe this is handled by the OS, but does anyone know what the criteria are? Would it distribute tasks this way automatically? Or can it be influenced somehow?
The reason is that the tasks I'm assigning to the workers are CPU heavy and involve little to no IO operations so I believe running two on a single core will simply cause them both run twice as slow.