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
Quantifying Overheads in Charm++ and HPX using Task Bench
本研究通过扩展Task Bench基准测试,对比异步多任务系统Charm++、HPX与MPI等主流并行库,量化不同任务分配场景下的开销,分析二者特性及系统可扩展性、通信延迟隐藏能力。
2022-07-21 cs.DC cs.PF
Experiences Porting Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study
本文以多维FFT为例,研究将分布式应用移植到异步多任务模型HPX的过程,发现强制任务同步反而因提升缓存性能而优于异步执行,但HPX后端整体表现仍具竞争力,且LCI parcelport能显著加速通信。
2024-05-03 cs.DC
Asynchronous Stochastic Variational Inference
Bournemouth University(伯恩茅斯大学);IMT Lille Douai(IMT里尔杜埃)
随机变分推断(SVI)采用随机最优化将贝叶斯计算扩展到海量数据。由于SVI的核心是一种基于随机梯度的算法,因此可以利用水平并行来进行更大规模的推理。我们提出了一个无锁的并行实现SVI,它允许分布式计算在多个奴隶在异步风格。我们表明,我们的实现导致线性加速,同时保证渐近遍历收敛速度($O(1/\sqrt(T)$)给定的奴隶的数量是有界的$\sqrt(T)$($T$是迭代的总次数)。该实现是在高性能计算(HPC)环境中使用Python的消息传递接口(MPI)(MPI4py)完成的。大量的实证评估表明,我们的并行SVI是无损的,表现良好,其对应的串行SVI与线性加速。
2018-01-12 cs.DC cs.LG stat.ML
JACK2: a new high-level communication library for parallel iterative methods
在本文中,我们解决的问题,设计一个分布式应用程序意味着运行经典和异步迭代。MPI库在科学界非常流行和广泛使用,然而异步迭代法在通信请求和缓冲区的有效管理方面提出了不可忽视的困难。此外,引入了收敛检测问题,这需要实施的各种国家的最先进的终止方法,这不一定是高度可靠的大多数计算环境。我们在这里提出了一个基于MPI的通信库,它以非侵入式的方式处理所有这些问题,为实现经典和异步迭代提供了一个独特的接口。很少有细节强调我们的方法,以实现最佳的通信速率,并确保准确的收敛检测。在两台超级计算机上的实验结果证实了所引入的低开销通信成本和我们的库的有效性。
2022-06-30 cs.DC
A C++20 Interface for MPI 4.0
本文提出一个基于 C++20 的 MPI 4.0 接口,利用反射自动生成数据类型并将操作映射为 future,以简化异步编程,并评估其相对 C 接口的性能开销。
2023-06-20 cs.DC
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
A simple asynchronous replica-exchange implementation
我们讨论了实现异步复制交换(或并行回火)分子动力学的可能性。在我们的方案中,交换尝试是由一个计算节点发送的异步消息驱动的,因此允许不同的副本在后续尝试之间执行不同数量的时间步长。实现很简单,基于消息传递接口(MPI)。我们说明了我们的计划相对于标准的同步算法的优点,我们基准测试它的模型Lennard-Jones液体IBM-LS 21叶片中心集群。
2008-12-09 cs.DC physics.comp-ph
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
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
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
Asynchronous One-Level and Two-Level Domain Decomposition Solvers
线性迭代求解器的并行实现通常在数据交换阶段和本地计算阶段之间交替。异构系统上的问题规模越来越大,使得负载平衡和网络布局成为非常具有挑战性的任务。特别是,内积等全球传播模式在规模上变得越来越有限。我们探讨了使用异步通信的基础上单边MPI原语在众多的区域分解求解器。特别地,提出了一种可扩展的异步两级方法。我们讨论的实际问题中遇到的发展一个可扩展的求解器,并显示实验结果上获得的最先进的超级计算机系统,说明异步求解器的好处,在负载平衡以及负载不平衡的情况下。使用这种新方法,我们可以观察到比经典同步等效方法高达4倍的速度提升。
2020-08-11 cs.DC cs.NA math.NA
RDMA-Based Algorithms for Sparse Matrix Multiplication on GPUs
本文针对GPU分布式环境下的稀疏矩阵乘法,提出基于RDMA和NVSHMEM的异步SpMM与SpGEMM算法,实验表明其性能优于批量同步方案,并支持工作窃取等新算法。
2024-05-31 cs.DC
Accurate Coarse Residual for Two-Level Asynchronous Domain Decomposition Methods
本文针对两层异步区域分解方法中加性粗空间校正的实现缺陷,通过提高粗右端项精度实现更频繁校正,并提出更适合异步方案的双边MPI实现,数值实验证明其显著提升了性能。
2023-10-19 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
AIR: A Light-Weight Yet High-Performance Dataflow Engine based on Asynchronous Iterative Routing
分布式流处理系统(DSPS)是当前数据管理中最新兴的主题之一,其应用范围从实时事件监控到处理复杂的流程序和大数据分析。该领域的主要市场参与者明显由Apache Spark和Flink代表,它们为SQL,统计推断,机器学习,流处理等提供了各种前端API。然而,很少有关于这些引擎集成到底层高性能计算(HPC)基础设施和它们使用的通信协议的细节报道。例如,Spark和Flink是用Java实现的,仍然依赖于一个专用的主节点来管理计算集群中工作节点之间的控制流。在本文中,我们描述了我们的AIR引擎,这是从头开始设计的C++使用消息传递接口(MPI),pthreads的多线程,并直接部署在一个共同的HPC工作负载管理器,如SLURM的顶部。AIR实现了一种轻量级的动态分片协议(称为“异步迭代路由”),它促进了所有客户端节点之间的直接和异步通信,从而完全避免了由主节点的控制流引起的开销,否则可能形成性能瓶颈。我们在各种基准设置上的实验证实,AIR在延迟和吞吐量方面优于Spark和Flink高达15倍;此外,我们还证明AIR比现有的DSP更好地扩展到由多达8个节点和224个核心组成的集群。
2020-01-03 cs.DC cs.SY eess.SY
Code modernization strategies for short-range non-bonded molecular dynamics simulations
针对现代HPC硬件特性,对ESPResSo++分子动力学模拟包进行代码现代化改造,通过数据布局优化、向量化及基于HPX的细粒度并行实现了显著性能提升。
2023-06-15 cs.DC physics.comp-ph