【发布时间】:2012-06-26 06:32:34
【问题描述】:
我想使用 MPI 开发一个任务调度程序,其中有一个主处理器和工作/客户端处理器。每个工作人员都有它需要计算的所有数据,但从主服务器获取索引来处理。计算完成后,worker 将一些数据返回给 master。问题是有些进程会很快,有些进程会很慢。 如果我运行一个循环,以便在每次迭代中主机发送和接收(阻塞/非阻塞)数据,那么它无法继续下一步,直到它从分配给它的前一个索引中接收到来自当前工作人员的数据。底线是,如果一个 worker 计算时间过长,那么它就会成为限制因素,即使使用了非阻塞技术,master 也无法继续为下一个 worker 分配索引。是否可以跳过分配给工作人员并继续下一步。
我开始认为 MPI 可能不是执行此操作的范例。 python 会是一个很好的任务调度平台吗?
【问题讨论】:
-
LAM/MPI 提供了一个detailed example 您想要实现的内容。请注意,“主/从”术语有点过时,为了政治正确,现在称为“经理/工人”。
标签: scheduled-tasks mpi