Examining MPI and its Extensions for Asynchronous Multithreaded Communication
针对HPC架构和AMT系统对异步多线程通信的需求,本研究在HPX环境下评估MPI的VCI和延续扩展,发现其性能提升但存在限制,强调需优化VCI内线程效率以实现可扩展通信。
2025-08-26 cs.DC
Asynchronous MPI for the Masses
我们提出了一个简单的库,配备MPI实现真正的异步非阻塞点到点操作,这是独立的底层通信基础设施。它利用MPI分析接口(PMPI)和MPI_THREAD_MULTIPLE线程兼容级别,并与当前版本的英特尔MPI、Open MPI、MPICH 2、MVAPICH 2、Cray MPI和IBM MPI配合使用。我们展示了一个商品InfiniBand集群和两个第1层系统在德国的性能比较,使用低级别和应用程序的基准。线程/进程的位置和不同的MPI实现的特点的问题进行了详细讨论。我们还确定了已经支持异步操作的MPI库。最后,我们展示了我们的想法可以扩展到MPI-IO。
2013-02-18 cs.DC cs.PF
Radiation Hydrodynamics at Scale: Comparing MPI and Asynchronous Many-Task Runtimes with FleCSI
University of Stuttgart(斯图加特大学);Louisiana State University(路易斯安那州立大学)
本文通过FleCSI框架比较MPI与异步多任务运行时在大规模辐射流体动力学计算中的性能,发现HPX后端在部分场景下表现更优。
2026-03-05 cs.DC
Promise-Future Synchronization for Cluster Asynchronous Many-Task Runtimes via MPI One-Sided Communication
University of Kassel(卡塞尔大学)
针对 ItoyoriFBC AMT 运行时中 future 模型限制动态依赖创建的问题,提出 promise-future 模型并实现,支持层次 LU 分解等动态算法,在 16 节点上实现近理想扩展(15.6 倍加速)。
2026-07-02 cs.DC
Performance Evaluation of an Algorithm-based Asynchronous Checkpoint-Restart Fault Tolerant Application Using Mixed MPI/GPI-2
当前大数据领域最大的挑战之一是缺乏在可接受的时间内处理大量信息的能力。这项工作的目标是通过探索和比较在商品集群架构上实现的分布式计算框架,确定使用典型的大数据工具来解决高性能计算问题是否有用:实验将取决于使用Apache Spark等工具所需的计算时间。这将与“等效的更传统”的方法进行比较,例如在分布式文件系统(如HDFS(Hadoop分布式文件系统))上使用带有MPI的分布式内存模型和创建接口以封装此文件系统功能的本机C库,以及使用GASPI协议的GPI-2实现及其内存检查点库为应用程序提供容错功能。更准确地说,我们选择了K-means算法作为实验,它将在可变大小的数据集上运行,然后我们将比较两种方法的计算运行时间和时间弹性。
2018-05-06 cs.DC
Experiences Porting Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study
本文以多维FFT为例,研究将分布式应用移植到异步多任务模型HPX的过程,发现强制任务同步反而因提升缓存性能而优于异步执行,但HPX后端整体表现仍具竞争力,且LCI parcelport能显著加速通信。
2024-05-03 cs.DC
Implementing OpenSHMEM for the Adapteva Epiphany RISC Array Processor
高能效的Adapteva Epiphany架构在具有快速片上网络(NoC)的RISC内核的物理紧凑型2D阵列中展示了巨大的众核可扩展性。通过能够执行MIMD的完全发散的核,核和网络的物理拓扑和存储器映射能力很好地转化为分区全局地址空间(PGAS)并行编程模型。在对使用线程MPI的双侧通信的使用进行调查之后,正在探索使用SHMEM的单侧通信。在这里,我们提出了正在进行的工作上的OpenSHMEM 1.2实现的主显节架构的发展。
2016-04-14 cs.DC
Making Applications Faster by Asynchronous Execution: Slowing Down Processes or Relaxing MPI Collectives
本文研究通过异步执行(如减慢MPI进程或放宽集合操作)加速内存受限并行程序,利用相空间图可视化,在多个超级计算机平台上验证了噪声可被利用以提升性能。
2023-02-24 cs.DC cs.PF
Exploring Performance-Productivity Trade-offs in AMT Runtimes: A Task Bench Study of Itoyori, ItoyoriFBC, HPX, and MPI
University of Kassel(卡塞尔大学);Fulda University of Applied Sciences(富尔达应用技术大学);Los Alamos National Lab (LANL)(洛斯阿拉莫斯国家实验室)
本研究通过任务基准测试比较了AMT运行时在性能与生产力上的权衡,发现MPI在通信轻量任务中效率最高但代码冗长,HPX在负载不平衡时效率稳定但生产力较低,Itoyori在通信密集型任务中表现最佳,而ItoyoriFBC在同步机制上具有表达不规则工作负载的潜力。
2026-03-13 cs.DC
Multithreaded Fine-Grained Asynchronous BSP for Integer Sorting with LCI and OpenMP
Advanced Micro Devices, Inc.(超威半导体公司)
针对BSP模型在非规则负载下的通信瓶颈,提出结合LCI和OpenMP的多线程细粒度异步BSP方法,通过细粒度零拷贝主动消息实现计算通信重叠,在NAS整数排序基准测试中显著优于传统同步MPI实现。
2026-05-25 cs.DC
JACK2: a new high-level communication library for parallel iterative methods
在本文中,我们解决的问题,设计一个分布式应用程序意味着运行经典和异步迭代。MPI库在科学界非常流行和广泛使用,然而异步迭代法在通信请求和缓冲区的有效管理方面提出了不可忽视的困难。此外,引入了收敛检测问题,这需要实施的各种国家的最先进的终止方法,这不一定是高度可靠的大多数计算环境。我们在这里提出了一个基于MPI的通信库,它以非侵入式的方式处理所有这些问题,为实现经典和异步迭代提供了一个独特的接口。很少有细节强调我们的方法,以实现最佳的通信速率,并确保准确的收敛检测。在两台超级计算机上的实验结果证实了所引入的低开销通信成本和我们的库的有效性。
2022-06-30 cs.DC
Accelerating Particle-in-Cell Monte Carlo Simulations with MPI, OpenMP/OpenACC and Asynchronous Multi-GPU Programming
本文通过集成MPI、OpenMP/OpenACC并采用异步多GPU编程扩展BIT1模拟器,在EuroHPC和MareNostrum 5上显著提升性能,最高达8.77倍加速,为百亿亿次聚变等离子体模拟奠定基础。
2025-04-24 cs.DC cs.PF physics.comp-ph
A high-level C++ approach to manage local errors, asynchrony and faults in an MPI application
C++提倡将异常作为处理代码中实现的意外行为的首选方法。这不能很好地与MPI的错误处理集成,在MPI失败的情况下,这或多或少总是导致程序终止。特别是,本地C++异常当前可能会由于远程主机上未完成的通信请求而导致死锁。与此同时,未来的MPI实现预计将包括一个API,即使在硬故障(节点丢失),即最坏的可能的意外行为后,也可以继续计算。在本文中,我们提出了一种方法,增加了扩展的异常传播支持C++ MPI程序。我们的技术允许传播本地异常到远程主机,以避免死锁,并映射远程主机上的MPI故障本地异常。一个特别感兴趣的用例是异步“本地故障本地恢复”弹性方法。我们的原型实现仅使用MPI-3.0特性。此外,我们提出了一个专用的实现,它与MPI-ULFM无缝集成,即最突出的建议扩展MPI走向容错。我们的实现可以在https://gitlab.dune-project.org/christi/test-mpi-exceptions上获得。
2018-04-13 cs.DC
Callback-based Completion Notification using MPI Continuations
异步编程模型(APM)正获得越来越多的关注,允许应用程序将可用的并发性公开给负责协调执行的运行时系统。虽然MPI长期以来一直支持多线程通信和非阻塞操作,但它无法充分支持APM,因为正确有效地处理不同模型中的MPI通信仍然是一个挑战。我们之前已经提出了一个MPI标准的扩展,使用回调提供操作完成通知,即所谓的MPI Continuations。此接口足够灵活,可以容纳各种不同的APM。在本文中,我们提出了一个扩展到前面描述的接口,允许更精细的控制的MPI Continuations接口的行为。然后,我们提出了一些我们的第一次经验,在不同的应用程序,包括NAS并行基准测试,PaRSEC基于任务的运行时系统,并在自适应网格细化求解器称为ExaHyPE的负载平衡计划中使用的接口。我们表明,该接口,实现内部开放MPI,使低延迟,高吞吐量的完成通知,优于在应用程序空间中实现的解决方案。
2021-12-22 cs.DC
Understanding the Communication Needs of Asynchronous Many-Task Systems -- A Case Study of HPX+LCI
本文以 HPX 为案例分析 AMT 系统区别于 BSP 的通信需求,并基于 LCI 设计新型 parcelport,结合单侧通信等技术实现最高 50 倍微基准与 2 倍应用加速。
2025-03-17 cs.DC
MPI Progress For All
针对MPI通信进度机制定义不明确、阻碍HPC应用性能提升与编程范式集成的问题,本文分析MPI消息实现细节,提出可让用户显式构建管理高效进度引擎的MPI扩展,经验证其复杂度更低、有效性更高。
2024-07-12 cs.DC
Implicit Actions and Non-blocking Failure Recovery with MPI
科学应用程序长期以来一直将MPI作为在大型分布式系统上执行的首选环境。用户级故障缓解(ULFM)规范扩展了MPI标准,以解决弹性问题,并使MPI应用程序能够在故障后恢复其通信能力。这项工作建立在该领域获得的广泛经验的基础上,以消除当前实践与理想的、更异步的恢复模型之间的差距,在理想的恢复模型中,多个组件的容错活动可以同时进行并重叠。这项工作提出:(1)在向应用程序报告故障时提供所需的一致性(即,使应用程序能够评估计算阶段的成功而不招致不可接受的性能冲击);(2)提出允许应用程序中的故障恢复的有效范围的构建块,使得应用程序中的独立组件可以在不相互干扰的情况下恢复,并且应用程序中的单独的进程组可以独立地或一致地恢复;以及(3)恢复系统一致性所必需的重叠恢复活动(例如,从通信组中驱逐故障进程)与应用恢复活动(例如,从检查点恢复数据集)。
2022-12-16 cs.DC
BCL: A Cross-Platform Distributed Container Library
针对单边通信缺乏应用级库的问题,提出跨平台分布式容器库BCL,提供高性能数据结构,在隐藏底层细节的同时实现与手工优化代码媲美的性能。
2023-12-15 cs.DC
HDOT -- an Approach Towards Productive Programming of Hybrid Applications
MPI应用程序很重要。然而,随着众核处理器的出现,传统的MPI应用程序面临着实现令人满意的性能的挑战。这是由于这些应用程序无法响应负载不平衡,以减少串行化所施加的同步通信模式,重叠通信与计算,并最终处理不断增加的内存开销。MPI规范提供了异步调用来缓解其中的一些因素。然而,应用程序开发人员很少努力有效地应用它们。在这项工作中,我们提出了一种方法来开发混合应用程序,称为分层域过度分解与任务(HDOT),减少编程工作,强调重用的数据分区方案从进程级和应用它们的任务级,允许自顶向下的方法来表达并发性,并允许MPI和共享内存编程模型之间的自然共存。我们的MPI和OmpSs-2的集成显示出可喜的成果,在一组应用程序的可编程性和性能测量。
2019-12-19 cs.DC
Designing and Prototyping Extensions to MPI in MPICH
针对MPI标准对异构架构混合编程支持不足的问题,在MPICH中实现六项扩展,增强MPI与OpenMP等运行时的互操作性及线程与GPU感知能力,提升HPC应用性能。
2024-02-19 cs.DC
Towards performance portability through locality-awareness for applications using one-sided communication primitives
MPI是高性能计算中应用最广泛的数据传输和通信模型。该标准的最新版本MPI-3允许熟练的程序员利用最新和未来超级计算系统的所有硬件功能。修改后的异步远程内存访问模型结合共享内存窗口扩展,特别是允许编写隐藏通信延迟的代码,并根据数据源和目的地的位置优化通信路径。后者对于今天的多核和众核系统尤为重要。然而,编写如此高效的代码是非常复杂和容易出错的。在本文中,我们评估了最近的远程内存访问模型,即DART-MPI。该模型声称对程序员隐藏了上述复杂性,但提供了本地感知的远程内存访问语义,在多核系统上优于MPI-3单边通信原语。从概念上讲,DART-MPI接口很简单;同时,它还考虑了底层MPI-3和系统拓扑的复杂性。这使得DART-MPI成为移植遗留应用程序的有趣候选者。我们评估这些索赔使用一个现实的科学应用程序,特别是有限差分模板代码,解决了热扩散方程,在一个大规模的克雷XC 40安装。
2016-09-29 cs.DC
RDMA-Based Algorithms for Sparse Matrix Multiplication on GPUs
本文针对GPU分布式环境下的稀疏矩阵乘法,提出基于RDMA和NVSHMEM的异步SpMM与SpGEMM算法,实验表明其性能优于批量同步方案,并支持工作窃取等新算法。
2024-05-31 cs.DC
Quantifying Overheads in Charm++ and HPX using Task Bench
本研究通过扩展Task Bench基准测试,对比异步多任务系统Charm++、HPX与MPI等主流并行库,量化不同任务分配场景下的开销,分析二者特性及系统可扩展性、通信延迟隐藏能力。
2022-07-21 cs.DC cs.PF
Asynchronous Distributed-Memory Triangle Counting and LCC with RMA Caching
三角形数和局部聚类系数是图分析的两个核心度量。它们在诸如社区发现和链接推荐等分析中得到了广泛的应用。当前最先进的解决方案遭受同步开销或分发图所需的昂贵的预计算,从而实现有限的缩放能力。我们提出了一个完全异步实现的三角形计数和局部聚类系数的基础上一维分区,使用远程存储器访问传输数据,避免同步。此外,我们展示了这些算法如何在远程存储器访问上呈现数据重用,以及如何通过缓存这些访问来提高整体通信时间。最后,我们扩展了CLaMPI,MPI RMA的软件层缓存系统,包括应用程序特定的分数缓存条目和影响驱逐过程,以提高缓存效率。我们的研究结果表明,共享内存的改进,我们实现了14倍的加速从4到64个节点的LiveJournal1图上的分布式内存。此外,我们演示了如何缓存远程访问减少了高达73%的总运行时间相对于非缓存版本。最后,我们将我们的实现与2020年图形冠军论文TriC进行了比较,并在无标度图上实现了高达100倍的速度。
2022-03-01 cs.DC
Asynchronous One-Level and Two-Level Domain Decomposition Solvers
线性迭代求解器的并行实现通常在数据交换阶段和本地计算阶段之间交替。异构系统上的问题规模越来越大,使得负载平衡和网络布局成为非常具有挑战性的任务。特别是,内积等全球传播模式在规模上变得越来越有限。我们探讨了使用异步通信的基础上单边MPI原语在众多的区域分解求解器。特别地,提出了一种可扩展的异步两级方法。我们讨论的实际问题中遇到的发展一个可扩展的求解器,并显示实验结果上获得的最先进的超级计算机系统,说明异步求解器的好处,在负载平衡以及负载不平衡的情况下。使用这种新方法,我们可以观察到比经典同步等效方法高达4倍的速度提升。
2020-08-11 cs.DC cs.NA math.NA
Improving strong scaling of the Conjugate Gradient method for solving large linear systems using global reduction pipelining
本文介绍了性能比较流行的共轭梯度(CG)方法和它的几个通信隐藏(或“流水线”)的变种基于MPI的实现结果。流水线CG方法被设计为在大规模并行分布式存储器硬件上有效地解决SPD线性系统,并且与经典CG相比通常显示显著改进的强缩放。这种并行性能的提高是通过重叠全局约简阶段(MPI_Iallreduce)来实现的,该全局约简阶段(MPI_Iallreduce)通过(主要是局部的)计算工作(例如矩阵向量积以及其他全局通信)来计算每次迭代中的内积。这项工作包括对深度流水线CG方法的简要介绍,以供可能不熟悉该方法细节的读者使用。实现细节的简要概述提供了实现该算法所需的实用工具。随后,使用在开源PETSc库中可用的p(1)-CG的实现方式,呈现了在高达1024个节点上的美国能源部(DoE)NERSC机器“Cori”(阶段I - Haswell节点)上的容易再现的强缩放结果,其中每个节点具有16个MPI等级。观察交错和重叠的异步,非阻塞的全球通信阶段与通信和计算内核的实验。
2019-05-15 cs.DC
Communication-Efficient Asynchronous Stochastic Frank-Wolfe over Nuclear-norm Balls
University of Texas at Austin(德克萨斯大学奥斯汀分校)
大规模机器学习训练面临两个挑战,特别是对于分布式系统的核规范约束问题:由于分散的工人而导致的同步速度减慢,以及高通信成本。在这项工作中,我们提出了一个异步随机弗兰克沃尔夫(SFW-asyn)的方法,这是第一次,同时解决了这两个问题,同时成功地保持了相同的收敛速度香草SFW。我们在python中实现了我们的算法(使用MPI),并在Amazon EC2上运行,并证明了与vanilla SFW相比,SFW-asyn的速度几乎与机器数量成线性关系。
2019-10-17 cs.DC cs.LG cs.NA
A HPX Communication Benchmark: Distributed FFT using Collectives
本文针对 HPX 运行时的 TCP、MPI 和 LCI 通信后端,利用分布式多维 FFT 应用在 16 节点集群上进行了基准测试,发现 LCI parcelport 在集合通信上表现最佳且比 MPI+X 参考实现快最高达 3 倍,突显了 HPX 消息抽象的潜力。
2025-03-04 cs.DC
Exploiting the Interplay of Compute- and Memory-Bound kernels in MPI Applications
University of Bonn(波恩大学)
本文发现MPI应用中通信停顿可缓解内存带宽争用,通过并行光流求解器展示去同步化带来的加速,并开发微基准测试与模拟器验证,表明自然去同步化是架构感知优化。
2026-10-02 cs.DC cs.PF
Efficient MPI-based Communication for GPU-Accelerated Dask Applications
The Ohio State University(俄亥俄州立大学)
Dask是一个流行的并行和分布式计算框架,它可以与Apache Spark竞争,实现基于任务的可扩展大数据处理。Dask Distributed库构成了此计算引擎的基础,并为添加新的通信设备提供支持。它目前有两个通信设备:一个用于TCP,另一个用于使用UCX-Py的高速网络-UCX的Cython包装器。本文介绍了Dask的一个新的通信后端的设计和实现-称为MPI 4Dask-这是针对现代HPC集群与GPU构建。MPI 4Dask通过MVAPICH 2-GDR利用mpi 4py,MVAPICH 2-GDR是消息传递接口(MPI)标准的GPU感知实现。MPI 4Dask提供了点对点异步I/O通信协程,这是使用Python的Python框架中的alloc/await关键字定义的非阻塞并发操作。我们的延迟和吞吐量比较表明,MPI 4Dask在1字节消息和大消息(2 MB及以上)方面分别比UCX高出6倍和4倍。我们还使用两个基准应用程序对MPI 4Dask与UCX进行了比较性能评估:1)cuPy数组及其转置的总和,以及2)cuDF合并。MPI 4Dask将这两个应用程序的总体执行时间分别平均提高了3.47倍和3.11倍,这两个应用程序是在使用NVIDIA Tesla V100 GPU构建的内部集群上运行的,适用于1-6名Dask工作人员。我们还针对TACC的Frontera(GPU)系统上的…
2021-01-21 cs.DC cs.LG cs.PF
Enhancing the scalability and load balancing of the parallel selected inversion algorithm via tree-based asynchronous communication
我们开发了一种方法,用于在大规模并行分布式存储器机器上提高最近开发的并行选择反演算法[Jacquelin,Lin和Yang 2014](名为PSelInv)的并行可扩展性。在PSelInv方法中,我们计算稀疏矩阵A的逆的选定元素,该稀疏矩阵A可以分解为A = LU,其中L是下三角形,U是上三角形。更新A-1的这些所选元素需要在由L和U的块循环分布创建的每个列或行通信组内的处理器子集之间进行受限的集体通信。我们描述了这种类型的限制集体通信可以通过使用异步点对点MPI通信功能结合基于二叉树的数据传播方案来实现。由于并行选择反演算法中可能同时发生多个受限的集体通信,因此需要使用启发式算法来防止参与多个集体通信的处理器接收到过多的消息。这种启发式算法使我们能够减少通信负载不平衡,提高所选反演算法的整体可扩展性。例如,当使用6,400个处理器时,我们观察到测试矩阵的加速超过5倍。它还减轻了由非均匀网络拓扑引入的性能变化。
2015-04-18 cs.DC cs.MS
Multi-GPU Performance Optimization of a CFD Code using OpenACC on Different Platforms
本文研究了在不同平台上使用MPI和OpenACC指令的3D浮力驱动空腔求解器的多GPU性能。该文件表明,在不同的维度上分解的总问题会影响GPU的强大的缩放性能显着。如果没有适当的性能优化,它表明,1D域分解的规模不佳,由于多个GPU的非连续内存访问。本文通过一系列的性能优化,提高了算法的性能。由于浮力驱动腔代码在所检查的集群上是延迟受限的,因此设计了一系列不可知的和针对平台定制的优化,以有效地降低延迟成本并提高主机和设备之间的内存吞吐量。首先,为主机和设备之间的非连续数据移动开发的并行消息打包/解包策略将整体性能提高了约2倍。其次,基于不同变量的模板大小传输不同的数据进一步减少了通信开销。这两个优化足够通用,对于在所有测试的集群上具有重影更改的模板计算是有益的。第三,使用GPUDirect来改善集群上的通信,这些集群具有硬件和软件支持,可以在不占用CPU内存的情况下直接进行GPU之间的通信。最后,如果只使用MPI或MPI+OpenACC,则在多GPU上重叠通信和计算是没有效率的。虽然我们相信我们的实现已经揭示了足够的重叠,但由于缺乏异步进程,实际运行并没有很好地利用重叠。
2020-06-04 cs.DC cs.PF
Hoplite: Efficient and Fault-Tolerant Collective Communication for Task-Based Distributed Systems
University of California, Berkeley(加州大学伯克利分校);Duke University(杜克大学)
基于任务的分布式框架(例如,Ray,Dask,Hydro)在包含异步和动态工作负载的分布式应用程序中越来越受欢迎,这些工作负载包括异步梯度下降、强化学习和模型服务。随着越来越多的数据密集型应用程序运行在基于任务的系统之上,集体通信效率已成为一个重要问题。不幸的是,传统的集体通信库(例如,MPI、Horovod、NCCL)是不合适的,因为它们要求在运行前知道通信调度,并且它们不提供容错。我们设计并实现了Hoplite,一个有效的和容错的集体通信层的任务为基础的分布式系统。我们的关键技术是计算的数据传输时间表的飞行和执行的时间表,通过细粒度的流水线有效地。与此同时,当一个任务失败时,数据传输计划会快速调整,以允许其他任务继续前进。我们将Hoplite应用于一个流行的基于任务的分布式框架Ray。我们证明了Hoplite可以分别将异步随机梯度下降、强化学习和机器学习模型的集成速度提高7.8倍、3.9倍和3.3倍,而这些模型在传统的集体通信中难以有效执行。
2021-09-28 cs.DC cs.LG cs.NI
BAGUA: Scaling up Distributed Learning with System Relaxations
ETH Zürich(苏黎世联邦理工学院);Kuaishou Technology(快手科技)
近年来,分布式数据并行训练的系统越来越多。现有的系统很大程度上适合于两种范例,即,参数服务器和MPI风格的集体操作。在算法方面,研究人员提出了一系列通过系统松弛来降低通信的技术:量化,分散化和通信延迟。然而,大多数(如果不是全部的话)现有系统仅依赖于基于标准同步和异步随机梯度(SG)的优化,因此,不能利用机器学习社区最近开发的所有可能的优化。考虑到当前系统和理论之间的差距,我们构建了BAGUA,一个MPI风格的通信库,提供了一个原语集合,它既灵活又模块化,以支持分布式训练的最先进的系统松弛技术。在这种设计的支持下,BAGUA有很强的能力来实现和扩展各种最先进的分布式学习算法。在一个拥有多达16台机器(128个GPU)的生产集群中,BAGUA可以在各种任务的端到端训练时间中以显著的优势(高达2倍)超过PyTorch-DDP,Horovod和BytePS。此外,我们进行了严格的权衡探索表明,不同的算法和系统松弛在不同的网络条件下实现最佳性能。
2021-11-25 cs.DC cs.LG
The Role of Idle Waves, Desynchronization, and Bottleneck Evasion in the Performance of Parallel Programs
分布式存储系统上的高度并行应用程序的性能受到许多因素的影响。分析性能建模技术旨在提供对性能限制的深入了解,并且通常是优化工作的起点。然而,跨系统层次(套接字,节点,网络)耦合分析模型未能涵盖程序代码和硬件之间的复杂相互作用,特别是当涉及执行和通信瓶颈时。在本文中,我们调查的影响,“瓶颈规避”,以及它是如何导致自动重叠的通信开销与计算。瓶颈规避会导致并行代码逐渐失去初始的大容量同步行为,从而使其进程变得非同步化。这种情况在内存受限的程序中最为突出,这就是为什么我们选择内存受限的基准测试和应用程序代码,特别是MPI增强的STREAM Triad,稀疏矩阵向量乘法和集体避免Chebyshev滤波器对角化代码,以展示在两个不同的超级计算平台上去冗余化的后果。我们调查空闲波的作用,可能触发desertification和自动异步通信的频谱的代码属性和参数,如饱和点,矩阵结构,域分解,通信并发的影响。我们的研究结果揭示了如何消除同步点(如集体通信或障碍)沉淀性能的改善,超出了可以预期的只是从整体运行时减去集体的开销。
2022-05-09 cs.DC cs.PF