多进程:将Python函数委托给群集

2024-05-21 01:29:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否可以通过网格/集群上的多处理包而不是在同一台本地机器上执行/运行python函数。它将帮助我创建100个必须使用相同功能的工作岗位,并通过DRMAA将它们分包给我们的本地集群。我不确定这是否可能,或者对子进程/分支有意义。在

任何例子或建议都会有帮助。在

PS:在python列表上交叉发布

谢谢! -阿比希


Tags: 函数功能机器网格进程分支集群建议
3条回答

另一个可能的选择是iPython。他们有一个很好的并行处理教程。在

Parallel Python可能是您需要的。在

通常,我们使用MPI之类的方法。在

有一个仲裁者,他唯一的工作就是给节点分配任务并检查节点的活跃性。(池)每个脚本都应该相同,包含所有需要的代码并分发给所有节点。在

一旦设置好了,为每个节点维护一个任务和参数(方法名+参数)队列,以完成任务并将结果排队返回仲裁器。在

天真的例子:

def do_something(arg1, arg2):
  return arg1 + arg2

def get_next_task():
  task, args = server.retrieve_task()
  result = task(args)
  server.queue_result(result, node_id)

if __name__ == '__main__':
  if sys.argv[1] == '-a': # arbiter
    arbiter()
  if sys.argv[1] == '-n': # node
    run_node()

相关问题 更多 >