Parallel processing 在UMA机器上使用MPI的优点

Parallel processing 在UMA机器上使用MPI的优点,parallel-processing,mpi,openmp,multicore,numa,Parallel Processing,Mpi,Openmp,Multicore,Numa,在UMA机器上使用MPI的优势是什么。在我看来,在UMA机器上使用OpenMP更有意义,因为它们都共享内存。其中MPI在NUMA机器上更有意义,因为NUMA为每个进程提供了自己的内存 即使在名义上统一的共享内存硬件上,使用MPI或Charm++等分布式内存编程模型的价值在于,它能产生更具局部意识的算法和实现设计。即使是单核,内存访问成本也是不一致的——空间和时间局部性的假设深入到通用微处理器内存层次结构的设计中。设计分布式内存还意味着设计对本地数据块进行操作,而不是一次对整个工作集进行操作 此外

在UMA机器上使用MPI的优势是什么。在我看来,在UMA机器上使用OpenMP更有意义,因为它们都共享内存。其中MPI在NUMA机器上更有意义,因为NUMA为每个进程提供了自己的内存

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


此外,请记住,即使是单个套接字多核系统,每个核心仍具有专用缓存,并且将数据从一个缓存传输到另一个缓存所需的通信成本高于访问本地缓存中的专用数据所需的通信成本。有关如何在应用程序中实现这一点的示例,请参阅。

您似乎混淆了一些术语。NUMA系统仍然是共享内存系统——只是地址空间中有“快”(本地)和“慢”(远程)部分,这在UMA中是不存在的。如果存在多个物理上独立的地址空间,则称为分布式内存系统。