MPI中的通信代价建模

MPI中的通信代价建模,mpi,Mpi,有人知道有任何关于MPI项目中通信成本的论文吗?我试图预测(比如)两阶段I/O中的通信步骤所花费的时间。这取决于进程的数量、发送/接收的消息的大小和数量、网络互连和体系结构等。我们可以提出一个公式来评估通信所花费的时间。我读过一些论文,但没有一篇涉及多个进程同时通信的情况 任何时间估计中最关键的因素都是要发送的总数据和互连速度。这将为您提供一个有效的“最短”消息传输时间 之后,您可以测量实际花费的时间,并使用该时间来确定MPI实现的大致效率等级。随着数据量的增加,所需的时间也将使用比例因子增加。

有人知道有任何关于MPI项目中通信成本的论文吗?我试图预测(比如)两阶段I/O中的通信步骤所花费的时间。这取决于进程的数量、发送/接收的消息的大小和数量、网络互连和体系结构等。我们可以提出一个公式来评估通信所花费的时间。我读过一些论文,但没有一篇涉及多个进程同时通信的情况

任何时间估计中最关键的因素都是要发送的总数据和互连速度。这将为您提供一个有效的“最短”消息传输时间


之后,您可以测量实际花费的时间,并使用该时间来确定MPI实现的大致效率等级。随着数据量的增加,所需的时间也将使用比例因子增加。这是一个非常粗略的估算方法。请记住,当数据大小超过某些有趣的阈值(例如页面大小、缓存大小等)时,可能需要修改比例因子

你能更详细地描述一下你感兴趣的那个案例吗?“多个进程同时通信”之间的操作是什么?(谁将向谁发送数据)假设您有10个进程,其中2个是聚合器(专用于执行I/O的进程),I/O的第一步要求所有进程将其数据发送到聚合器(假设进程0..3将数据发送到进程8,进程4..7将数据发送到进程9)。这是一个简单的场景。当更改进程总数、聚合器数量、消息大小等时会发生什么情况?如何对执行此通信步骤所需的时间建模?