我正在研究MPI快速排序的并行实现的通信复杂度,并在一本书中发现了以下内容:
“单个进程从其他p-1个进程中收集p个常规样本。由于传递的值较少,消息延迟可能是这一步骤的主导项。因此,聚集的通信复杂性为O(log p)”(O实际上是theta,p是处理器数量)。
广播信息也有相同的说法。
这些组通信为什么是O(log p)的复杂度?是因为使用了某种基于树形结构的层次结构进行通信吗?
如果延迟不是主导项,并且有大量数据被发送怎么办?复杂度是否为O(n log (p))��其中n为发送数据的大小除以可用带宽?
那么,MPI_Send()和MPI_Recv()的通信复杂度又如何呢?
谢谢!
“单个进程从其他p-1个进程中收集p个常规样本。由于传递的值较少,消息延迟可能是这一步骤的主导项。因此,聚集的通信复杂性为O(log p)”(O实际上是theta,p是处理器数量)。
广播信息也有相同的说法。
这些组通信为什么是O(log p)的复杂度?是因为使用了某种基于树形结构的层次结构进行通信吗?
如果延迟不是主导项,并且有大量数据被发送怎么办?复杂度是否为O(n log (p))��其中n为发送数据的大小除以可用带宽?
那么,MPI_Send()和MPI_Recv()的通信复杂度又如何呢?
谢谢!
p
的值是多少? - suszterpatt