MPI 中不同类型的点对点通信在性能方面有何不同?
Posted
技术标签:
【中文标题】MPI 中不同类型的点对点通信在性能方面有何不同?【英文标题】:How do the different types of point to point communication in MPI differ in terms of performance? 【发布时间】:2022-01-14 09:03:22 【问题描述】:最新版本的 MPI 包括以下类型的点对点 (p-p) 通信:
阻止 普通非阻塞 持久非阻塞 分区非阻塞据我所知,历史上阻止 p-p 通信是存在的第一种类型。然后不同类型的非阻塞 p-p 通信一个接一个地被引入以提高性能。例如,它们允许计算和通信的重叠。但是是否存在阻塞 p-p 通信实际上比非阻塞替代方案更快的情况?如果不是,什么是他们存在的理由?只是向后兼容和使用简单?
【问题讨论】:
【参考方案1】:认为非阻塞通信是由性能驱动的,这是一种误解:它主要是为了能够表达无死锁/无序列化的通信模式。 (事实上,实际上只有通过“Iprobe 技巧”才能实现通信/计算的重叠。直到最近才使用“进度线程”才成为一种更系统的可能性。)
分区通信适用于多线程上下文。您可以将其称为性能参数或全新的用例。
持久发送确实具有提高性能的潜力,因为可以摊销各种设置和缓冲区分配。但是,我没有看到太多证据表明 MPI 实现确实做到了这一点。 https://arxiv.org/abs/1809.10778
最后,您缺少缓冲、同步和就绪的发送。这些确实具有提高性能的潜力,尽管我再次没有看到太多证据表明它们确实如此。
【讨论】:
以上是关于MPI 中不同类型的点对点通信在性能方面有何不同?的主要内容,如果未能解决你的问题,请参考以下文章
各位,请问有没有支持CC2530的点对点通信的zigbee例程呢? 谢谢