Asynchronous 异步MPI主从模型

Asynchronous 异步MPI主从模型,asynchronous,parallel-processing,mpi,master-slave,Asynchronous,Parallel Processing,Mpi,Master Slave,主机有一大组任务,它将这些任务分配给任何发出就绪信号的从机 这些任务在计算时间上并不相等,但都在计算某些值。作为输出,主机需要计算所有任务的最大最小值 这里的问题是,我不想使用同步send recv调用来分发作业,因为我不想在将作业发送到下一个进程之前等待一个进程完成 那么,我如何收集结果呢?我需要知道每个返回值,以便返回最小值,但我无法告诉何时将值发送回主服务器,或以什么顺序发送 感谢您的帮助。在主设备上使用非阻塞发送/接收,在从设备上使用阻塞发送/接收。基本上: 大师: 通过非阻塞发送发送作

主机有一大组任务,它将这些任务分配给任何发出就绪信号的从机

这些任务在计算时间上并不相等,但都在计算某些值。作为输出,主机需要计算所有任务的最大最小值

这里的问题是,我不想使用同步send recv调用来分发作业,因为我不想在将作业发送到下一个进程之前等待一个进程完成

那么,我如何收集结果呢?我需要知道每个返回值,以便返回最小值,但我无法告诉何时将值发送回主服务器,或以什么顺序发送


感谢您的帮助。

在主设备上使用非阻塞发送/接收,在从设备上使用阻塞发送/接收。基本上:

大师:

  • 通过非阻塞发送发送作业
  • 为每个结果发布非阻塞接收
  • 定期检查是否有任何结果到达。如果是这样,发送一个新作业,并为其发布一个非阻塞接收
  • 重复步骤3。直到所有结果都出来
  • 奴隶:

  • 等待具有阻止接收的作业
  • 使用阻塞发送发送发送结果
  • 转到1