DMTCP Checkpoint/Restart of MPI Programs via Proxies
MPI通过公开一个隐藏消息传递底层机制实现的标准API,实现了进程之间的可移植、标准化的消息传递。到目前为止,MPI程序的检查点设置需要了解这些底层机制。通过添加一个代理,我们证明了MPI程序可以被检查点和重新启动,无论MPI实现利用。此外,代理可以使MPI程序能够在一个MPI实现上被检查点,并且在另一个MPI实现上被重新启动。
2018-03-25 cs.DC
Making Applications Faster by Asynchronous Execution: Slowing Down Processes or Relaxing MPI Collectives
本文研究通过异步执行(如减慢MPI进程或放宽集合操作)加速内存受限并行程序,利用相空间图可视化,在多个超级计算机平台上验证了噪声可被利用以提升性能。
2023-02-24 cs.DC cs.PF
Extending a serial 3D two-phase CFD code to parallel execution over MPI by using the PETSc library for domain decomposition
为了利用过去二十年的高性能计算(HPC)向通过快速互连绑定在一起的计算节点集群的转变,现代可扩展CFD代码必须能够使用消息传递接口(MPI)在多个节点之间有效地分配工作。MPI可以使非常大的模拟运行在非常大的集群,但它是必要的,大部分的CFD代码编写与MPI铭记,一个障碍,并行化现有的串行代码。在这项工作中,我们提出了现有的两阶段的三维Navier-Stokes求解器,这是完全串行的,并行执行模型,使用MPI的结果。用连续表面力法求解了两种不可压流体的三维纳维-斯托克斯方程,用levelset方法确定了界面的位置。我们采用可移植的可扩展工具包的科学计算(PETSc)域分解(DD)的框架中,只有一小部分的代码需要修改。我们研究了所得代码的强弱标度。案例研究,是相关的基本了解电聚结器中的油/水分离。
2014-05-15 cs.DC physics.comp-ph physics.flu-dyn
Two automated techniques for analyzing and debugging Mpi-based programs
消息传递接口(MPI)是编写并行程序最常用的范例,因为它不仅可以在单个处理节点内使用,而且可以跨多个连接的节点使用。数据流分析的概念,技术和工具,需要理解和分析基于MPI的程序,以检测这些程序中出现的错误。在本文中,我们提出了两种自动化技术来分析和调试基于MPI的程序源代码。
2013-11-04 cs.DC cs.PL
Power Redistribution for Optimizing Performance in MPI Clusters
功率效率近来已成为高性能计算领域中的主要关注点。HPC中心由影响执行时间的功率限制提供。自然地,在功率效率和计算效率之间出现折衷。本文解决了MPI应用程序的性能优化问题,其中功率界假设。本文公开了使用MPI利用集群并行的HPC应用程序的子集,其中节点遇到多个同步点并表现出节点间的依赖性。我们将这种结构抽象成一个依赖图,并利用不同节点上的并行作业执行时间的不对称性,通过将空闲阻塞节点获得的功率重新分配给工作滞后的节点。我们介绍了一种基于整数线性规划(ILP)的最优功率分配算法,最大限度地减少总的执行时间,同时保持一个上限的功率解决方案。然后,我们提出了一个在线的启发式,动态重新分配权力在运行时间。启发式显示显着减少了一组并行基准的总执行时间,加速高达2.25倍。
2014-10-24 cs.DC
Distributed TensorFlow with MPI
机器学习和数据采掘(MLDM)算法在分析由模拟、实验和移动设备生成的大量数据方面变得越来越重要。随着数据量的增加,分布式存储器系统(例如紧密连接的超级计算机或云计算系统)在设计存储器内和大规模并行MLDM算法中变得重要。然而,大多数开源MLDM软件仅限于顺序执行,少数支持多核/众核执行。在本文中,我们扩展了最近提出的Google TensorFlow,以便使用消息传递接口(MPI)在大规模集群上执行。我们的方法只需要对TensorFlow运行时进行最小的更改-使所提出的实现具有通用性,并且易于为越来越多的TensorFlow用户使用。我们评估我们的实现使用InfiniBand集群和几个众所周知的datasets。我们的评估表明,我们提出的实施的效率。
2017-08-18 cs.DC
MPI-rical: Data-Driven MPI Distributed Parallelism Assistance with Transformers
Ben-Gurion University(本-古里安大学);Israel Atomic Energy Commission(以色列原子能委员会);Intel Labs(英特尔实验室);Nuclear Research Center – Negev(内盖夫核研究中心);Technion – Israel Institute of Technology(以色列理工学院)
针对手动编写MPI并行代码易出错的问题,本文提出数据驱动的编程辅助工具MPI-RICAL,利用监督语言模型实时建议MPI函数及位置,并构建了MPICodeCorpus语料库,在真实科学计算基准上达到0.87-0.91的F1分数。
2023-08-30 cs.CL cs.DC cs.LG
MPIrigen: MPI Code Generation through Domain-Specific Language Models
Ben-Gurion University(本-古里安大学);Intel Labs(英特尔实验室);Intel(英特尔);Technion(以色列理工学院)
针对生成 MPI 并行程序的挑战,本研究提出基于 HPCorpusMPI 微调 MonoCoder 的领域特定模型 MPIrigen,其在位置、函数及参数预测上准确率分别达 0.8 和 0.9 以上,优于 GPT-3.5,证明了领域微调对并行代码生成的关键作用。
2024-04-23 cs.AI cs.CL cs.DC
Deadlock Detection in Basic Models of MPI Synchronization Communication Programs
提出了MPI同步通信程序的一种模型,并定义了它的三个基本简化模型。给出并严格证明了一系列判定三种模型之间是否会发生死锁的定理和方法。这些简单模型死锁检测的理论和方法为实际MPI程序死锁检测奠定了必要的基础。该方法是基于一个静态分析通过程序和运行时检测在必要的情况下,他们能够在编译前确定是否会死锁的三个基本模型。对于另一个模型,一些死锁情况可以在编译之前发现,而另一些在运行时发现。我们的定理可以用来证明目前流行的MPI程序死锁检测算法的正确性。我们的方法可以减少那些算法需要改变到MPI源或profiling接口的代码,并可以在程序执行之前检测死锁,从而大大减少了开销。
2008-01-28 cs.DC
To parallelize or not to parallelize, bugs issue
程序正确性是并行编程中最困难的挑战之一。消息传递接口MPI被广泛用于编写并行应用程序。由于MPI不是一种编译语言,程序员在编写MPI程序时会遇到一些编程错误,本文介绍了MPI程序中最常见的编程错误,以帮助程序员在并行性的优点和检测和修复这些错误所需的额外工作之间进行折衷。一个代数规格的MPI类程序设计语言,称为简单MPI(SMPI),用于编写MPI程序规范也已提出。此外,SMPI程序中的不确定性和死锁现象也在Maud系统中得到了验证。
2013-11-04 cs.DC cs.PL
MATCH: An MPI Fault Tolerance Benchmark Suite
MPI已被广泛部署在旗舰HPC系统中,旨在加速在成千上万个进程和计算节点上运行的分布式科学应用程序。保持MPI应用程序执行的正确性和完整性至关重要,特别是对于安全关键的科学应用程序。因此,已经提出了一系列有效的MPI容错技术,以使MPI应用程序的执行能够有效地从系统故障中恢复。然而,还没有结构化的方法来研究和比较不同的MPI容错设计,从而指导针对不同场景选择和开发高效的MPI容错技术。为了解决这个问题,我们设计,开发,并评估一个基准套件称为匹配的特征,研究,并全面比较不同的组合和配置的MPI容错设计。我们的研究得出了有用的发现:(1)Reinit恢复一般比ULFM恢复更好;(2)Reinit恢复是独立的缩放大小和输入问题的大小,而ULFM恢复不是;(3)使用FTI检查点的Reinit恢复是一个高效的容错设计。MATCH代码可在https://github.com/kakulo/MPI- FT- Bench上获得。
2021-02-13 cs.DC
Synthesizing Proxy Applications for MPI Programs
本文提出Siesta框架,通过通信-计算轨迹自动合成MPI程序代理应用,以参数化代码片段模拟计算行为并提取行为模式文法,实验证明其能精确逼近原程序性能特征。
2025-05-06 cs.DC cs.PF
Strategies for Molecular Dynamics using Hybrid Systems: LAMMPS Use Case
Universidade São Francisco (USF)(圣弗朗西斯科大学)
本文以抗菌肽Tritrpticin为工作负载,系统分析了LAMMPS模拟器在粗粒化生物分子模拟中的纯MPI与混合MPI+OpenMP性能,发现纯MPI在多节点扩展性差,而混合策略在大规模下更高效。
2026-06-01 cs.DC
Legio: Fault Resiliency for Embarrassingly Parallel MPI Applications
由于高性能计算机规模的不断增大,故障的存在正成为应用程序必须面对的一种可能性。MPI本身不支持在检测到错误之后执行,这变得越来越有约束性。随着ULFM(用户级故障缓解库)的引入,它已经提供了一种可能的方法,在应用程序执行期间以代码修改为代价来超越故障。ULFM在应用程序中具有侵入性,并且还需要对其恢复过程有深入的了解。在本文中,我们提出了Legio,一个框架,降低了复杂性,引入弹性的并行MPI应用程序。通过将ULFM隐藏在MPI调用之后,该库能够以透明的方式向应用程序公开弹性功能,从而消除任何集成工作。一旦发生故障,失败的节点将被丢弃,并且只继续执行未失败的节点。还提出了该解决方案的分层实现,以在向大量节点扩展时减少修复过程的开销。我们在CINECA的Marconi 100集群上评估了我们的解决方案,结果表明该库引入的开销可以忽略不计,并且不会限制MPI的可扩展性。此外,我们还将该解决方案集成到实际应用中,通过注入故障来进一步证明其鲁棒性。
2021-04-29 cs.DC cs.PF
Towards deductive verification of MPI programs against session types
消息传递接口(MPI)是开发并行应用程序的事实标准消息传递基础设施。在第一版库规范发布20年后,基于MPI的应用程序现在通常部署在超级计算机和集群计算机上。这些用C或Fortran编写的应用程序表现出复杂的消息传递行为,因此很难静态验证重要属性,例如不存在死锁。我们的工作建立在会话类型,一个理论描述协议,在这方面提供正确的建设保证。我们注释MPI原语和C代码与会话类型的合同,写在语言的软件验证C。然后用软件验证器检查带注释的代码的正确性。我们提出了初步的结果,并讨论了未来的挑战,验证现实的MPI程序符合会话类型。
2013-12-10 cs.DC cs.LO cs.PL
Fibers are not (P)Threads: The Case for Loose Coupling of Asynchronous Programming Models and MPI Through Continuations
异步编程模型(APM)正在获得越来越多的关注,允许应用程序将可用的并发性公开给负责协调执行的运行时系统。虽然MPI长期以来一直支持多线程通信和非阻塞操作,但它无法充分支持APM,因为正确有效地处理不同模型中的MPI通信仍然是一个挑战。与此同时,轻量级、协作调度的执行上下文的新低级实现(纤程,也称为用户级线程)旨在作为高级APM的基础,并且它们在MPI实现中的集成已经被提议作为传统POSIX线程支持的替代品,以减轻这些挑战。在本文中,我们首先建立了一个分类法,试图清楚地区分不同的概念,在并行软件栈。我们认为,提出的紧密集成的纤维实现与MPI既没有保证,也没有好处,而是不利于MPI的目标是一个便携式通信抽象。我们提出MPI Continuations作为MPI标准的扩展,以提供基于回调的通知完成的操作,从而通过提供MPI和APM之间的松耦合机制来明确分离关注点。我们表明,这个接口是灵活的,并与不同的APM,即OpenMP分离的任务,Ompss-2,和Argobots交互良好。
2020-11-12 cs.DC
XMPIaaS: Towards Cloud Native MPI via Cooperative Process Migration
Virginia Tech(弗吉尼亚理工大学)
本文提出XMPIaaS,一种面向云环境的MPI协作式进程迁移系统,通过选择性迁移受抢占影响的进程组,避免全局检查点开销,实现低成本、弹性的云原生MPI执行。
2026-09-16 cs.DC
OMP2MPI: Automatic MPI code generation from OpenMP programs
本文介绍了一个从OpenMP中自动生成MPI源代码的工具OMP 2 MPI。通过这种转换,原始程序可以通过超越大型HPC集群上节点级别的限制来适应更大数量的处理器。转换还可以用于调整源代码以在具有消息传递支持的分布式存储器多核中执行。此外,生成的MPI代码可以用作起点,软件工程师还可以进一步优化。转换过程的重点是检测OpenMP并行循环,并将它们分布在主/工作模式中。一组微基准测试已被用来验证转换的正确性,并衡量由此产生的性能。令人惊讶的是,不仅自动生成的代码在构造上是正确的,而且即使在使用MPI执行时,它也通常执行得更快。
2015-06-11 cs.DC cs.PF cs.PL
Trace-based, time-resolved analysis of MPI application performance using standard metrics
High Performance Computing Center Stuttgart (HLRS), University of Stuttgart(斯图加特高性能计算中心(HLRS),斯图加特大学)
本文提出了一种基于跟踪的时间分辨分析方法,用于评估 MPI 应用的性能,通过离散化执行跟踪来计算标准指标,揭示局部性能瓶颈。
2025-12-01 cs.DC
Static Deadlock Detection in MPI Synchronization Communication
由于静态方法有一定的局限性,所以在MPI程序中经常使用动态方法来检测死锁。为保证基于MPI的重要应用软件的高可靠性,抽象了MPI同步通信模型,并设计了一种静态死锁检测方法。该模型有三种不同复杂程度的形式:顺序模型、单回路模型和嵌套回路模型。序贯模型是所有模型的基础。单回路模型必须用一种特殊的方程组来处理,而嵌套回路模型则是对其他两种模型的扩展。在此基础上,构造了一个标准的基于Java的MPI程序同步通信死锁判定框架。实践表明,该软件框架能在基于MPI的程序运行之前,挖掘出所有的同步通信死锁,优于那些使用动态方法的工具。
2007-09-24 cs.DC
Algorithm of Static Deadlock Detection in MPI Synchronization Communication Sequential Model
MPI同步通信程序中死锁的检测非常困难,需要建立程序模型。所有复杂模型都是基于序列模型的。将顺序模型映射为一组字符串,并将其死锁检测问题转化为等价的多队列字符串匹配问题。设计并实现了一种静态检测MPI同步通信程序时序模型中死锁的算法。该算法的时间和空间复杂度均为O(n),其中n为模型中的消息量。该算法优于通常的圆检测方法,能很好地适应动态消息流。
2007-09-24 cs.DC
Minimizing Energy Consumption of MPI Programs in Realistic Environment
动态电压和频率缩放被证明是降低服务器能耗的有效方法。节能通常通过在某些程序阶段设置精心选择的频率来实现。然而,确定合适的程序阶段及其相关的最佳频率是一个复杂的问题。此外,硬件受到不可忽略的频率过渡延迟的限制。因此,提出了各种方法来确定和应用频率,但评估其效率仍然是一个问题。在本文中,我们将能量最小化问题转化为一个混合整数规划,专门模拟目前大多数硬件的限制。然后,问题解决方案估计最小能量消耗和相关联的频率调度。本文提供了两种不同的配方和讨论的可行性,他们每个人的实际应用。
2015-02-25 cs.DC
Enabling Highly-Scalable Remote Memory Access Programming with MPI-3 One Sided
现代互连提供远程直接存储器访问(RDMA)功能。然而,大多数应用程序依赖于显式的消息传递进行通信,尽管它们有不必要的开销。MPI-3.0标准定义了一个直接利用RDMA网络的编程接口,但它的可扩展性和实用性必须在实践中得到证明。在这项工作中,我们开发了可扩展的无缓冲协议,实现MPI-3.0规范。我们的协议支持扩展到数百万个内核,内存消耗可以忽略不计,同时提供最高的性能和最小的开销。为了武装程序员,我们为所有关键功能提供了一系列性能模型,并通过多达50万个进程的几项应用研究证明了我们的库和模型的可用性。我们表明,我们的设计是可比的,或优于UPC和Fortran Coarrays的延迟,带宽和消息速率。我们还展示了应用程序的性能改进与可比的编程复杂性。
2020-06-30 cs.DC cs.PF
Exploring metrics for analyzing dynamic behavior in MPI programs via a coupled-oscillator model
本文提出一种受Kuramoto模型启发的耦合振子方法,将MPI进程建模为带拓扑交互和噪声的振子,通过序参量、同步熵等多种度量指标分析同步、瓶颈等性能现象,为并行计算性能建模和软硬件协同设计提供新视角。
2025-06-03 cs.DC physics.app-ph physics.comp-ph
Desynchronization and Wave Pattern Formation in MPI-Parallel and Hybrid Memory-Bound Programs
众所周知,分布式内存并行代码的第一原理性能分析模型是不精确的。即使对于具有非常规则和均匀的计算通信阶段的应用,简单地将通信时间添加到计算时间通常也不会产生令人满意的并行运行时间预测,这是由于系统噪声、通信时间的变化和固有的负载不平衡引起的与预期的简单锁步模式的偏差。在本文中,我们突出的具体情况下,激发和自发的deskerization内存绑定,批量同步纯MPI和混合MPI+OpenMP程序。使用简单的微基准测试,我们观察到,虽然去同步化可以增加每个进程的等待时间,它不一定会导致较低的资源利用率,但可能会导致每个核心的可用带宽增加。在通信开销很大的情况下,即使是自然噪声也会使系统进入通信和计算自动重叠的状态,从而缩短解决问题的总体时间。饱和点,即,实现全内存带宽所需的每个内存域的进程数量在该进程的动态和出现的稳定波形中是关键的。我们还演示了混合MPI-OpenMP编程如何通过消除进程之间的带宽瓶颈来防止理想的去同步。切比雪夫滤波器对角化应用程序用于演示在现实环境中观察到的一些效果。
2020-02-07 cs.DC cs.PF
DART-MPI: An MPI-based Implementation of a PGAS Runtime System
分区全局地址空间(PGAS)方法将分布式系统视为在全局级别上共享内存。给定这样的关于存储器的全局视图,用户可以非常类似于共享存储器系统来编程应用。这大大简化了开发并行应用程序的任务,因为在程序中不必指定用于不同计算节点之间的数据交换的显式通信。在本文中,我们提出了DART,一个运行时环境,它实现了PGAS范式的大规模高性能计算集群。我们的实现的一个特定功能是使用消息传递接口(MPI)版本3(即MPI-3)作为底层通信基板的单边通信。我们评估了几个低级别内核的实现的性能,以确定与底层MPI-3相比的开销和限制。
2015-07-07 cs.DC
Exploring Techniques for the Analysis of Spontaneous Asynchronicity in MPI-Parallel Applications
University of Erlangen-Nürnberg(埃尔朗根-纽伦堡大学);KTH Royal Institute of Technology(瑞典皇家理工学院)
本文利用数据分析和机器学习技术,通过微基准测试和代理应用,在超级计算平台上识别和分类MPI并行程序的异步性动态,提出新方法以简化分析并推动通用分类。
2022-05-27 cs.DC cs.LG cs.PF
From a Last-Week Add-On to First-Day Practice: Three Years of Integrating MPI Performance Analysis into HPC Education with EduMPI Suite
Fulda University of Applied Sciences(富尔达应用科技大学)
EduMPI Suite 通过自动化与可视化降低 MPI 性能分析门槛,三年实践表明早期引入能提升学生理解与接受度,应贯穿 MPI 教育。
2026-10-26 cs.DC
MPI Errors Detection using GNN Embedding and Vector Embedding over LLVM IR
针对并行MPI程序错误检测难题,首次提出基于LLVM IR结合GNN嵌入与向量嵌入的两类检测模型,在同基准测试集上准确率达92%,跨基准超80%,并验证了错误模式关联性与模型泛化性。
2024-03-04 cs.DC cs.SE
MPI Windows on Storage for HPC Applications
即将到来的HPC集群将在每个计算节点上提供混合内存和存储设备。在这项工作中,我们建议使用MPI单边通信模型和MPI窗口作为编程内存和存储的唯一接口。我们描述了MPI存储窗口的设计和实现,并提出了它的好处,核外执行,并行I/O和容错。此外,我们探讨了异构窗口分配的集成,内存和存储共享一个统一的虚拟地址空间。当执行大型的,不规则的内存操作,我们验证MPI窗口本地存储招致平均55%的性能损失。当使用Lustre并行文件系统时,观察到不对称的性能,写入操作的性能下降超过90%。尽管如此,分布式哈希表,HACC I/O内核迷你应用程序,和一个新的MapReduce实现的基础上使用的MPI单边通信的实验结果表明,MPI窗口的整体损失存储在大多数情况下可以忽略不计在现实世界中的应用程序。
2018-10-09 cs.DC
Deductive Verification of Parallel Programs Using Why3
消息传递接口规范(MPI)定义了一个用于并行计算机编程的可移植消息传递API。MPI程序在正确性方面存在许多挑战:通信中的发送值和期望值可能不匹配,导致不正确的计算,可能导致崩溃;程序可能会死锁,导致资源浪费。现有的工具是不完全令人满意的:模型检查不规模与过程的数量,测试技术浪费资源,并高度依赖于测试集的质量。作为一种替代方案,我们提出了一个原型的基于类型的方法来编程和验证MPI像程序对协议。协议是用依赖类型语言编写的,旨在捕获MPI中最常见的原语,此外还包含一种原语递归和集体选择的形式。然后将协议翻译成Why 3,一种演绎软件验证工具。而源代码则是用Why 3平台的语言WhyML编写的,并根据协议进行检查。保证通过验证的程序是通信安全的,没有死锁。我们使用我们的方法验证了教科书中的几个并行程序,并报告了结果。
2015-08-20 cs.DC cs.PL
MPI Benchmarking Revisited: Experimental Design and Reproducibility
消息传递接口(MPI)是当今超级计算机上普遍使用的编程模型。因此,MPI库开发人员正在寻找跨许多不同超级计算机架构的单个MPI函数的最佳性能(最短运行时间)。已经开发了几个MPI基准套件来评估MPI实现的性能。不幸的是,这些基准的结果往往既不能复制,也不能从统计上说是可靠的。为了克服这些问题,我们展示了哪些实验因素对阻塞集体MPI操作的运行时产生影响以及如何控制它们。我们解决了MPI基准测试中的进程和时钟同步问题。最后,我们提出了一种新的实验方法,使我们能够获得可重复的和统计上健全的MPI测量。
2016-05-27 cs.DC
To parallelize or not to parallelize, control and data flow issue
多核处理器的新趋势意味着使用标准编程模型为分布式内存多处理器和工作站PC集群开发高效、可靠且可移植的程序。使用MPI的消息传递被广泛用于编写高效、可靠和可移植的应用程序。理解和分析MPI程序需要控制和数据流分析概念、技术和工具。如果我们的兴趣点是程序控制和数据流分析,以决定并行化或不并行化我们的应用程序,有一个问题要回答,“可以现有的概念,技术和工具,用于分析顺序程序也可以用来分析并行的MPI?".在本文中,我们将试图回答这个问题。
2013-11-04 cs.DC cs.PL
MPI Advance : Open-Source Message Passing Optimizations
本文提出MPI Advance,一个位于MPI之上的开源库集合,通过优化集合通信、邻域集合通信、分区通信和GPU感知通信,提升任何现有MPI库的底层性能。
2023-09-13 cs.DC
DNA sequence alignment: An assignment for OpenMP, MPI, and CUDA/OpenCL
本文介绍一项并行计算课程作业,以多模式精确DNA序列比对的暴力解法为载体,训练学生用OpenMP、MPI及CUDA/OpenCL实现并行化,并覆盖竞态条件、归约、通信和推测计算终止等关键概念。
2024-09-09 cs.DC
Distributed Order Recording Techniques for Efficient Record-and-Replay of Multi-threaded Programs
Nanchang Hangkong University(南昌航空大学);Pacific Northwest National Laboratory(太平洋西北国家实验室);RIKEN R-CCS(理化学研究所计算科学研究中心);NVIDIA(英伟达);Lawrence Livermore National Laboratory(劳伦斯利弗莫尔国家实验室);Technical University of Munich(慕尼黑工业大学)
本文提出基于分布式时钟和纪元的记录回放技术,提升多线程程序的回放效率,并可与 MPI 工具结合处理复杂混合编程应用。
2026-02-17 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
cMPI: Using CXL Memory Sharing for MPI One-Sided and Two-Sided Inter-Node Communications
University of California, Merced(加州大学默塞德分校)
cMPI通过CXL内存共享优化MPI通信,显著降低跨节点通信的延迟和带宽,适用于高性能计算场景。
2025-12-13 cs.AR cs.DC cs.NI
Support Vector Machine Implementation on MPI-CUDA and Tensorflow Framework
Ain Shams University(艾因沙姆斯大学)
本文比较了支持向量机在MPI-CUDA和TensorFlow框架上的并行实现,发现MPI-CUDA实现加速更高,而TensorFlow实现提供跨平台解决方案以减少开发时间。
2023-11-25 cs.DC cs.LG
COUNTDOWN Slack: a Run-time Library to Reduce Energy Footprint in Large-scale MPI Applications
超级计算机的功耗是系统所有者、用户和社会面临的重大挑战。它限制了系统安装的容量,需要大型冷却基础设施,并且是导致大量碳足迹的原因。在不改变应用程序源代码或增加完成时间的情况下降低应用程序执行期间的功率在现实生活中的高性能计算场景中是非常期望的。在过去十年中提出的功率管理运行时间框架是基于这样的假设,即MPI应用中的通信和应用阶段的持续时间可以被预测并在运行时间用于权衡通信松弛与功耗。在这篇手稿中,我们首先表明,这种假设过于笼统,导致错误预测,减缓应用,从而危及声称的好处。然后,我们提出了一种新的方法的基础上(i)分离的通信阶段和松弛在MPI调用和(ii)超时算法,以应付硬件电源管理延迟,这共同使得有可能实现性能中性的MPI应用程序中的节能,而不需要劳动密集型和风险的应用程序源代码修改。我们在一级生产环境中验证了我们的方法,该环境具有广泛采用的科学应用程序。我们的方法有一个时间完成开销低于1%,而它成功地利用松弛的通信阶段,以实现平均节能10%。如果我们专注于一个大规模的应用程序运行,所提出的方法实现了22%的节能,只有0.4%的开销。相对于最先进的方法,COUNTDOWN Slack是唯一一种总是以可忽略不计的开销(<3%)实现节能的方法。
2019-09-27 cs.DC
From Skew to Symmetry: Node-Interconnect Multi-Path Balancing with Execution-time Planning for Modern GPU Clusters
The Ohio State University(俄亥俄州立大学)
本文提出NIMBLE系统,通过动态重分布流量平衡节点内和节点间路径的利用率,提升GPU集群的通信性能。
2026-03-31 cs.DC cs.NI
Parallel Spawning Strategies for Dynamic-Aware MPI Applications
Universitat Jaume I(豪梅一世大学)
本研究提出了一种并行生成策略,用于动态感知MPI应用,以降低资源重新配置成本并提高扩展和缩小操作效率。
2026-01-27 cs.DC
COUNTDOWN: a Run-time Library for Performance-Neutral Energy Saving in MPI Applications
电力和能源消耗正在成为成功部署第一台亿次超级计算机的关键挑战。大规模HPC应用程序在通信和同步相关的空闲时间中浪费大量电力。然而,由于通信发生的时间尺度,在通信的空闲时间期间转换到低功率状态可能在应用的执行时间中引入不可接受的开销。在本文中,我们提出了COUNTDOWN,一个运行时库,支持的方法和分析工具,用于识别和自动降低功耗的计算元素在通信和同步。COUNTDOWN仅在电源状态转换开销可以忽略的空闲时间内降低CPU功耗,从而节省能源,而不会显著增加完成时间。这对用户是透明的,不需要劳动密集型和容易出错的应用程序代码修改,也不需要重新编译应用程序。我们在生产Tier-0系统中测试我们的方法。对于NAS基准测试,COUNTDOWN可节省6%到50%的能源,解决问题的时间损失低于5%。在一个完整的生产-量子ESTERO-为3.5K核心运行,COUNTDOWN节省22.36%的能源,与性能损失低于3%。节能增加到37%,性能损失6.38%,如果应用程序在没有通信调优的情况下执行。
2019-05-23 cs.DC
Automated MPI-X code generation for scalable finite-difference solvers
本文将面向分布式内存并行的自动化 MPI-X 代码生成技术集成入 Devito,使用户无需改源码即可大规模运行显式有限差分模板,并在 CPU/GPU 集群上验证了优异的强、弱扩展性能。
2025-01-06 cs.DC cs.MS cs.PF
pMR: A high-performance communication library
在许多并行机上,LQCD应用程序花费在通信上的时间对总挂钟时间有很大的贡献,特别是在强伸缩限制下。我们提出了一种新的高性能通信库,可以作为一个事实上的下拉式替代MPI在现有的软件。它的轻量级特性避免了MPI引入的一些不必要的开销,使我们能够在不更改任何算法或复杂实现的情况下提高应用程序的通信性能。作为第一个真实世界的基准,我们使用的pMR库在Regensburg实现的DD- $α$ AMG算法的粗网格求解。在现实的网格上,我们看到纯通信时间提高了2倍,总执行时间节省了20%。
2017-01-30 cs.DC hep-lat physics.comp-ph