编写 Numa 负载均衡器

编写 Numa 负载均衡器

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

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

附加元素:

  • 我不想将进程从一个 Numa 节点移动到另一个 Numa 节点,因此不需要动态更改进程亲和性掩码。
  • 我想跟踪所有正在运行的进程,以便能够正确平衡新启动的进程。
  • 我想给流程添加一种权重(我有重流程和轻流程),这样我就可以在同一节点上安排多个轻流程,但将重流程分散到不同的 Numa 节点上

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

这种软件已经存在了吗?还是我干脆自己写一个?

相关内容