Parallel processing 使用openMPI在流程中分配任务的模型是什么?

Parallel processing 使用openMPI在流程中分配任务的模型是什么?,parallel-processing,ipc,mpi,Parallel Processing,Ipc,Mpi,我想问你的是:我有一个大的源代码的几个步骤,每个步骤都有一个虚拟计算时间和虚拟通信数据,我只取虚拟,因为我想建模延迟,我设法在整个源代码中测量它们。我需要通过让代码在计算时间内休眠并传输与通信数据等效的数据来测试这一点。你能推荐一些相同的配置模型吗?我的目标是最大限度地减少程序的总体执行时间,因此我显然希望减少该过程可能产生的开销 我想到的最简单的是: 对所有进程进行计算,并通过对根进程进行异步调用来发送虚拟数据 对同步调用执行相同的操作。 假设通信时间与通信数据成线性关系。使用一些算法将任务划

我想问你的是:我有一个大的源代码的几个步骤,每个步骤都有一个虚拟计算时间和虚拟通信数据,我只取虚拟,因为我想建模延迟,我设法在整个源代码中测量它们。我需要通过让代码在计算时间内休眠并传输与通信数据等效的数据来测试这一点。你能推荐一些相同的配置模型吗?我的目标是最大限度地减少程序的总体执行时间,因此我显然希望减少该过程可能产生的开销

我想到的最简单的是:

对所有进程进行计算,并通过对根进程进行异步调用来发送虚拟数据 对同步调用执行相同的操作。 假设通信时间与通信数据成线性关系。使用一些算法将任务划分到每个受负载平衡启发的进程 从根进程的第一个任务开始,将数据发送到下一个进程,在该进程上执行休眠并显示。
如果这个策略有很大的不同,你能给我一些想法或验证一下吗

现在还不清楚你到底想做什么。并行编程中有很多众所周知的模式,其中大部分(如果不是全部的话)在延迟和通信开销、性能和执行负载平衡的能力方面都很清楚。你能对我解释的4种方式发表意见吗?感谢您到目前为止的支持。鉴于您所描述的,听起来您自己拥有形成此分析的智能工具。根据您所述的简单延迟/带宽模型,每种方法需要多长时间?听起来你好像要我们帮你做点家庭作业。