[论文解读] Parallel Programming with MatlabMPI
本论文提出 MatlabMPI,这是一种轻量级、纯 MATLAB 实现的 MPI 标准,通过文件 I/O 实现跨共享内存和分布式内存系统的并行编程。其在大消息传输时的带宽接近基于 C 的 MPI,且在图像滤波应用中,64 个处理器的加速比超过 64,证明了使用极少代码开销的 MPI 类并行计算在 MATLAB 中的可行性。
MatlabMPI is a Matlab implementation of the Message Passing Interface (MPI) standard and allows any Matlab program to exploit multiple processors. MatlabMPI currently implements the basic six functions that are the core of the MPI point-to-point communications standard. The key technical innovation of MatlabMPI is that it implements the widely used MPI ``look and feel'' on top of standard Matlab file I/O, resulting in an extremely compact (~100 lines) and ``pure'' implementation which runs anywhere Matlab runs. The performance has been tested on both shared and distributed memory parallel computers. MatlabMPI can match the bandwidth of C based MPI at large message sizes. A test image filtering application using MatlabMPI achieved a speedup of ~70 on a parallel computer.
研究动机与目标
- 通过广泛采用的通信模型,实现在多处理器系统上高效执行 MATLAB 程序。
- 通过利用事实上的标准 MPI 接口,克服以往 MATLAB 并行化解决方案缺乏广泛采用的问题。
- 仅使用标准文件 I/O 操作,在 MATLAB 环境中提供一种可移植、轻量级且完全兼容的 MPI 类接口。
- 证明通过轻量级、纯 MATLAB 实现,MATLAB 程序可在明显并行工作负载中实现高性能和强可扩展性。
提出的方法
- 仅使用标准 MATLAB 文件 I/O 操作,实现 MPI 点对点通信标准的一个子集。
- 将 MPI 函数调用(如 MPI_Send、MPI_Recv)映射为基于文件的消息传递,即消息被写入和从共享目录读取。
- 使用所有节点均可访问的共享目录作为通信媒介,无需底层系统调用或外部库。
- 设计系统以完全可移植,仅依赖 MATLAB 的标准功能,适用于所有 MATLAB 运行平台。
- 优化消息处理,以最小化延迟开销并最大化大消息的带宽。
- 在共享内存的 SGI Origin2000 系统上验证实现,并与基于 C 的 MPI 进行性能比较。
实验结果
研究问题
- RQ1纯 MATLAB 实现的 MPI 是否能在多种计算平台上实现高效且可移植?
- RQ2基于文件 I/O 的 MPI 性能与原生 C 基 MPI 相比如何,特别是在大消息尺寸下?
- RQ3MATLAB 应用程序能否通过这种基于文件的 MPI 抽象在明显并行工作负载中实现强加速?
- RQ4使用文件 I/O 作为通信机制在多任务 MATLAB 程序中对延迟和带宽的影响有多大?
- RQ5MPI 模型能否在不依赖底层系统访问或编译器扩展的情况下有效适配 MATLAB?
主要发现
- MatlabMPI 在大消息(如 ~1 MB)下的带宽性能与基于 C 的 MPI 相当,证明文件 I/O 可在大规模场景中作为有效的通信机制。
- 在 2D 图像滤波应用中,64 个处理器的加速比超过 64,且由于缓存利用效率提高,观察到超线性加速。
- MatlabMPI 的延迟约为每条消息 35 毫秒,远高于 C MPI,但对粗粒度并行应用而言可接受。
- 该系统极为紧凑,仅约 100 行代码,且可在任何安装 MATLAB 的平台上运行,确保了广泛的可移植性。
- 使用文件 I/O 支持高级功能,如大缓冲区、消息记录、多播和单边通信,且额外复杂度极低。
- 该方法具有可扩展性,可轻松适配其他脚本语言(如 Python、IDL 或 Perl),表明其在 MATLAB 之外也具有广泛适用性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。