编写一个Numa负载平衡器

我最初在StackOverflow上问这个问题,但是因为没有find答案,而且这个问题更多的是关于如何configuration一个服务器,所以这个问题可能更适合于ServerFault。

我有一些使用Windows START命令启动的应用程序。 使用/ AFFINITY选项强制Numa节点的所有内核上的进程。 我想包含一些负载平衡逻辑(例如,第一个应用程序在节点0上启动,下一个在节点1上,下一个在节点0上启动)。

其他要素:

  • 我不想将进程从一个Numa节点移动到另一个节点,因此不需要dynamic更改进程关联掩码。
  • 我想跟踪所有正在运行的进程,以便正确地平衡新启动的进程。
  • 我想为stream程添加一种权重(我有沉重的stream程和轻量级stream程),这样我就可以在同一个节点上安排多个轻量级stream程,但是会在不同的Numa节点上分散繁重的stream程

自己编写这个逻辑并不困难(一些中央服务器应用程序可以简单地跟踪所有已启动的进程),但是我想知道这样的软件是否已经存在。 不需要在不同计算机上进行负载平衡。

这种软件是否已经存在? 还是自己写这个更好?