首页 > 解决方案 > 列表中每个任务的不同资源分配

问题描述

我有一个独立任务列表,每个任务都需要不同的资源并需要不同的计算时间。我必须为列表中的每个任务指定资源约束,并为首先完成资源最少的任务设置优先级。

@dask.delayed()
def func(...)
...
 
task_list = []
...
   task_list.append(dask.delayed(func)(...))

dask.compute(*task_list, resources={'memory':10e9}, optmize_graph=False)

在上面的代码中,我可以为列表中的所有任务分配资源约束,但相反,我想为列表中的每个任务分配不同的资源约束。

像这样的东西:

task_list = [delayed(func1..), delayed(func2) .....]

delayed(func1) - {'memory':10e9} # this task needs 10 GB of memory to start
delayed(func2): {'memory':5e9} # # this task needs 5 GB of memory to start
...

dask.compute(*task_list)

有人可以帮忙吗。

谢谢 !

标签: resourcesdaskdask-delayed

解决方案


截至 2020-08-07 Dask 不支持此功能。这是一个经常被要求的功能。您可能想浏览 github 问题,看看是否可以找到类似的人并分享您的想法。


推荐阅读