【发布时间】:2013-08-21 06:38:03
【问题描述】:
有些任务从文件中读取,进行一些处理并写入文件。这些任务将根据依赖关系进行调度。任务也可以并行运行,因此需要优化算法以串行运行相关任务,并尽可能并行运行。
例如:
- A -> B
- A -> C
- B -> D
- E -> F
所以运行它的一种方法是运行 1、2 和 4 并联。其次是 3。
另一种方式可能是 运行 1,然后并行运行 2、3 和 4。
另一个可以串行运行 1 和 3,并行运行 2 和 4。
有什么想法吗?
【问题讨论】:
-
什么是
A,B,...?并行运行1和2是否意味着A运行了两次?这是一件坏事吗? -
我的理解是 A,B ... 是任务,而 1,2,3 是依赖声明。我会说通常 D 依赖于 B 依赖于 A,依此类推。
-
@njzk2 1,2,3 和 4 是任务。 A、B 等是文件。因此,任务 1 从 A 读取并写入 B。因此,除非任务 1 完成,否则任务 3 无法启动。
-
@user2186138 :好的,那么您需要首先将其建模为“1->3”(这是唯一的依赖项)
标签: algorithm scheduled-tasks scheduling