为多处理器寻找DAG的静态调度 - 库?

时间:2013-12-16 15:20:35

标签: c++ python parallel-processing scheduling directed-acyclic-graphs

我有一张所有任务的依赖关系图,以及每项任务的成本。现在我想计算给定数量的CPU的调度。我发现很多关于调度算法的论文,对于我的问题大小(大约100个节点)来说,最佳调度程序似乎太贵了,因为它是一个NP难问题。我会选择一种启发式算法,最好是一种能够达到最佳状态的启发式算法。我现在的问题是:我真的需要自己编码吗?这本来应该已经解决了很多次,它可以很容易地应用到项目管理中,也许存在某种东西?

如果你碰巧知道python中的一个库是完美的,或者下一个最好的东西就是C ++,否则我会满足于其他任何东西。

1 个答案:

答案 0 :(得分:2)

这是一个非常常见的问题。它也出现在硬件设计中。 解决它的算法已经有很多工作要做。

如果您打算自己写一些东西,请先查看“胡的算法”。

如果您只是想要一个解决方案,这些功能都内置于架构综合程序中。 查看有关高级综合和逻辑综合的维基百科页面。 如果您可以通过学校或工作访问它们,有几种专业工具可以解决这个问题。

您可以免费获得大学课程,这些课程也可以解决这个问题。 我不知道目前可用的最新信息。一个非常古老的是来自伯克利的MIS II。它的脚本语言是Tcl,而不是Python。