我应该使用什么类型的调度算法?

What type of scheduling algorithm should I use?

我正在编写一个程序,该程序接受一些用 Java 编写的任务,然后在同一 LAN 上的机器上执行(如何发生的细节不在这个问题范围内)。

任务将全部立即交给程序,这意味着工作的主要部分是将任务拆分并将任务​​分配给网络上的机器。我假设这将通过某种调度算法来完成。

例如该程序有 50 个任务,它在局域网中有 3 台计算机,每台计算机有 4 个内核。任务应该如何安排?是否可以通过将任务拆分为机器数量并考虑机器拥有的内核数量来完成?

假设我有这些机器的硬件规格,我应该用什么算法来调度这些任务?

经过更多研究后,我发现我的问题更多是负载平衡问题,而不是调度问题。这些任务需要在由每台机器上的内核数量加权的可用网络资源之间进行正确平衡。