在 UMA 机器上使用 MPI 的优势

Posted

技术标签:

【中文标题】在 UMA 机器上使用 MPI 的优势【英文标题】:Advantages of using MPI on a UMA machine 【发布时间】:2014-10-20 21:58:46 【问题描述】:

在 UMA 机器上使用 MPI 有哪些优势。在我看来,将 OpenMP 与 UMA 机器一起使用会更有意义,因为它们都共享内存。 MPI 在 NUMA 机器上更有意义,因为 NUMA 为每个进程提供了自己的内存。

【问题讨论】:

您似乎混淆了一些术语。 NUMA 系统仍然是共享内存系统——只是地址空间中有“快”(本地)和“慢”(远程)部分,在 UMA 情况下没有区别。存在多个物理上独立的地址空间的地方,称为分布式内存系统。 【参考方案1】:

即使在名义上统一的共享内存硬件上使用分布式内存编程模型(如 MPI 或 Charm++)的价值在于,它会产生更加注重局部性的算法和实现设计。即使对于单个内核,内存访问成本也是不均匀的——空间和时间局部性的假设深深地融入了通用微处理器内存层次结构的设计中。为分布式内存设计还意味着设计为对本地数据块进行操作,而不是一次对整个工作集进行操作。

另外,请记住,即使是单插槽多核系统,每个内核仍具有私有缓存,并且将数据从一个缓存传输到另一个缓存所需的通信成本高于访问本地缓存中的私有数据的通信成本。有关如何在应用程序中发挥作用的示例,请参阅 Jetley & Kale, "Optimizations for Message Driven Applications on Multicore Architectures", published at HiPC 2011。

【讨论】:

以上是关于在 UMA 机器上使用 MPI 的优势的主要内容,如果未能解决你的问题,请参考以下文章

MPI + 线程并行化与仅 MPI 相比有啥优势(如果有)?

为什么100万个perl可以财务自由

深度学习工业界应用-加速-训练-MPI和RDMA

本源发布量子机器学习框架VQNet,可高效连接机器学习和量子算法展现量子优势

在Windows上使用visual studio在本机环境中进行iphone应用程序开发的优势

八大机器学习框架对比及Tensorflow的优势