19、可扩展MPI内存使用与派生数据类型性能指南

可扩展MPI内存使用与派生数据类型性能指南

可扩展MPI内存使用:MPICH2案例研究

在MPI的应用中,内存使用的可扩展性是一个关键问题。当前的实现中,某些通信器在整个系统中会消耗 $O(p^2)$ 的内存(假设 $k$ 为常数)。下面我们将探讨如何减少MPICH2的内存消耗。

减少MPICH2内存消耗的步骤
  • 已实现的解决方案
    • 虚拟通道(VC)管理的改进 :针对VC在通信伙伴少甚至为零时仍消耗 $O(p^2)$ 内存的问题,开发了MPICH2的原型版本,对VC的管理方式进行了重大改进。新方案采用延迟创建VC对象的方式,仅在需要时创建,而非在 MPI_Init 时静态创建。这需要对VC的存储和访问方式进行根本性改变。
    • LPID映射(LPM)的引入 :取消了每个通信器的VCRT,取而代之的是LPM。LPM将通信器的秩映射到LPID,而不是像VCRT那样直接通过密集数组机制将通信器秩映射到VC。LPM是真正的不透明对象,只能通过函数调用和宏进行访问,这种设计使得通信器的表示可以采用最简洁、内存高效的方式编码。例如,可以使用利用特定领域知识的压缩技术,或者支持恒等映射(LPID始终等于通信器秩),对于满足这种映射的通信器(如 MPI_COMM_WORLD ),可将每个进程的内存消耗从 $O(p)$ 降低到 $O(1)$。
    • VC的延迟实例化和存储 :在较低层次,通过引用LPI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值