【问题标题】:How do the different types of point to point communication in MPI differ in terms of performance?MPI 中不同类型的点对点通信在性能方面有何不同?
【发布时间】:2022-01-14 09:03:22
【问题描述】:

最新版本的 MPI 包括以下类型的点对点 (p-p) 通信:

  • 阻止
  • 普通非阻塞
  • 持久非阻塞
  • 分区非阻塞

据我所知,历史上阻止 p-p 通信是存在的第一种类型。然后不同类型的非阻塞 p-p 通信一个接一个地被引入以提高性能。例如,它们允许计算和通信的重叠。但是是否存在阻塞 p-p 通信实际上比非阻塞替代方案更快的情况?如果不是,什么是他们存在的理由?只是向后兼容和使用简单?

【问题讨论】:

    标签: mpi


    【解决方案1】:

    认为非阻塞通信是由性能驱动的,这是一种误解:它主要是为了能够表达无死锁/无序列化的通信模式。 (事实上​​,实际上只有通过“Iprobe 技巧”才能实现通信/计算的重叠。直到最近才使用“进度线程”才成为一种更系统的可能性。)

    分区通信适用于多线程上下文。您可以将其称为性能参数或全新的用例。

    持久发送确实具有提高性能的潜力,因为可以摊销各种设置和缓冲区分配。但是,我没有看到太多证据表明 MPI 实现确实做到了这一点。 https://arxiv.org/abs/1809.10778

    最后,您缺少缓冲、同步和就绪的发送。这些确实具有提高性能的潜力,尽管我再次没有看到太多证据表明它们确实如此。

    【讨论】:

      猜你喜欢
      • 2019-09-15
      • 2016-09-28
      • 2019-06-11
      • 2018-05-11
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 2016-05-07
      • 2014-11-03
      相关资源
      最近更新 更多