I originally asked this question on StackOverflow, but as there came no answers, and this question is more about how to configure a server, this question might be more suited on ServerFault.
I have some applications that I start with the Windows START command. With the option /AFFINITY I force the processes on all cores of a Numa node. I want to include some load-balancing logic (so that e.g. the first application is started on node 0, the next on node 1, the next again on node 0).
Additional elements:
- I don't want to move processes from one Numa node to another, so dynamically changing the process affinity mask is not needed.
- I want to keep track of all running processes, so that I can correctly balance newly started processes.
- I want to add a kind of weight to the process (I have heavy processes and light processes) so that I can schedule multiple light processes on the same node, but spread heavy processes over the different Numa nodes
Writing this logic myself is not that hard (some central server application can simply track all started processes), but I was wondering if such software maybe already exists. Load balancing over different computers is not needed.
Does this kind of software already exists? Or is it better to simply write this myself?