kahypar/mt-kahypar

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.