2015-10-12 39 views
0

我正在编写一个程序,它需要用Java编写的一些任务,然后在同一个局域网上的计算机上执行(有关这种情况的细节不在此问题范围内)。我应该使用哪种类型的调度算法?

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

E.g.该程序获得50个任务,在局域网上有3台计算机,每台计算机有4个核心。应如何安排这些任务?是否可以通过将机器数量与机器数量分解来完成任务?

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

+0

你有什么其他的要求?有没有理由不采用先到先得的方式? – azurefrog

+0

缺少一些细节。例如。硬件规格是完全无用的,除非您可以确定约。需要的操作数量/所需的空间等。还需要知道机器与执行任务所花费的时间相关的时间。 – fabian

+0

@azurefrog我已经更新了这个问题 - 我考虑过使用FCFS算法,但执行时间可能因任务不同而不同,这意味着如果我将包含大型任务的一组任务发送给资源较低的计算机,则需要永久完成。然而,这个项目正处于开发的早期阶段,所以想要了解那里比什么都更多。 – Tom

回答

0

在做了一些更多的研究后,我发现我的问题更多的是一个负载平衡问题,而不是一个调度问题。这些任务需要在可用的网络资源之间进行正确的平衡,并由每台计算机上的核心数加权。

相关问题