Simultaneous Execution and Thread Pinning
larsgottesbueren opened this issue · 3 comments
Our current thread pinning prevents simultaneous executions of mt-kahypar because we pin to the cpus 0, ... , p-1.
A simple alternative would be to simultaneously perform independent runs from the same process, i.e. feed multiple instances to mt-kahypar and let the user set a limit on the threads per instance. Then we could stick with the current thread pinning.
Your alternative would be not a good idea, because then we would have no guarantees where the threads are pinned. Threads of the same run should be pinned to a consecutive range of CPUs such that they share a common cache hierarchy.
But I like the idea of feeding Mt-KaHyPar with multiple instances.
Couldn't you provide two different settings: One with thread pinning enabled (default) and one where it is disabled? This way, users that want to run multiple instances in parallel could do that by just disabling it.