MPI-based Evaluation of Coordinator Election Algorithms
在本文中,我们详细介绍了两种类型的分布式协调员选举算法可以比较的高性能计算(HPC)基础设施的评估的基础上的性能。基于MPI(消息传递接口)实现的实验方法,其目标是表征相关的评价指标的统计处理的结果的基础上。所提出的方法可用于学习分布式软件课程的硕士生协调员选举算法的基础知识,以及如何进行实验性能评估研究。最后,分布式协调选举算法是有用的用例。
2022-11-08 cs.DC
MPI-Q: A Message Communication Library for Large-Scale Classical-Quantum Heterogeneous Hybrid Distributed Computing
Laboratory for Advanced Computing and Intelligence Engineering, Information Engineering University(信息工程大学先进计算与智能工程实验室)
针对经典-量子系统异构性问题,提出MPI-Q库,通过统一管理经典与量子进程、轻量通信路径和异构同步机制,实现高效混合分布式计算,实验显示其具有接近线性扩展性。
2026-04-02 cs.DC
Layout-Agnostic MPI Abstraction for Distributed Computing in Modern C++
Charles University(查理大学)
针对 MPI 纯 C 接口缺乏现代 C++ 类型与泛型支持的问题,本文基于 Noarr 提出布局无关抽象,并通过分布式 GEMM 验证其灵活性及与现有 MPI C++ 绑定相当的性能。
2025-10-19 cs.DC
Scalable Distributed DNN Training using TensorFlow and CUDA-Aware MPI: Characterization, Designs, and Performance Evaluation
TensorFlow是最广泛采用的机器/深度学习框架。然而,文献中几乎没有提供对TensorFlow为需要大规模计算和通信的大型ML/DL模型的分布式训练提供的功能的全面理解。最常用的TF分布式训练方法可以分为以下几类:1)Google Remote Procedure Call(gRPC),2)gRPC+X:X=(InfiniBand Verbs,Message Passing Interface,GPUDirect RDMA),3)No-gRPC:Baidu Allreduce with MPI,Horovod with MPI,Horovod with NVIDIA NCCL。在本文中,我们对这些分布式训练方法在各种GPU集群上的性能进行了深入的表征和分析,包括Piz Daint系统(Top500排名第6)。我们进行实验以获得以下向量的新见解:1)DNN训练的应用级可扩展性,2)批量大小对扩展效率的影响,3)用于no-gRPC方法的MPI库的影响,以及4)DNN架构的类型和大小。基于这些实验,我们提出了两个关键的见解:1)总体而言,与大多数配置的基于gRPC的方法相比,No-gRPC设计实现了更好的性能,以及2)No-gRPC的性能受到使用Allreduce的梯度聚合的严重影响。最后,我们提出了一个真正的CUDA感知MPI Allreduce设计,利用CUDA内核和指针缓存,…
2018-10-25 cs.DC
Distributed Multiscale Computing with MUSCLE 2, the Multiscale Coupling Library and Environment
我们提出了多尺度耦合库和环境:肌肉2。这个基于多尺度组件的执行环境具有简单易用的Java、C++、C、Python和Fortran API,与MPI、OpenMP和线程代码兼容。我们展示了它的本地和分布式计算的能力,并比较其性能的肌肉1,文件复制,MPI,MPWide,和GridFTP。MPI的本地吞吐量大约高出两倍,因此非常紧密耦合的代码应该使用MPI作为MUSCLE 2的单个子模型; GridFTP的分布式性能较低,特别是对于小消息。我们用MUSCLE 2测试了一个运河系统模型的性能,与MPI相比,它引入了小到5%的开销。
2013-11-22 cs.CE cs.DC cs.PF
RAMP: A Flat Nanosecond Optical Network and MPI Operations for Distributed Deep Learning Systems
University College London(伦敦大学学院)
分布式深度学习(deep learning,简称深度学习)系统对网络性能有很强的依赖性。当前的电子分组交换(EPS)网络架构和技术遭受可变直径拓扑、低对分带宽和影响通信和集体操作的完成时间的超额预订。我们介绍了一个近十亿级,全平分带宽,所有到所有,单跳,全光网络架构与纳秒重新配置称为RAMP,它支持大规模的分布式和并行计算系统(12.8~Tbps的每个节点高达65,536个节点)。首次提出了一种自定义的RAMP-x MPI策略和网络转码器,以无调度和无竞争的方式在光电路交换(OCS)网络上运行MPI集体操作。RAMP在所有MPI操作的完成时间上实现了7.6-171 $\times$的加速,与现实的EPS和OCS同行相比。它还可以在Megatron和DLRM训练时间上分别减少1.3-16 $\times$和7.8-58 $\times$,同时在能耗和成本上分别减少42-53 $\times$和3.3-12.4 $\times$。
2023-02-24 cs.DC cs.LG cs.NI
Distributed Processing for Encoding and Decoding of Binary LDPC codes using MPI
低密度奇偶检验(LDPC)码是在通信系统中用于前向纠错(FEC)的线性纠错码。但是,LDPC码的编码和解码需要密集的计算,使得其难以在基于通用软件的信号处理系统中实际使用。为了加速LDPC码的编码和解码,使用消息传递接口(MPI)在多个多核CPU上执行分布式处理。实现是使用流处理和批处理机制和执行时间为两种实现进行比较w.r.t变化的CPU数量和每个CPU的核心数。分布式处理的性能评估是通过执行时间w.r.t.处理器(CPU核心)数量的增加。
2022-01-12 cs.DC cs.IT eess.SP
MPICH-G2: A Grid-Enabled Implementation of the Message Passing Interface
用于分布式计算“网格”的应用程序开发可以从各种工具中受益,这些工具可以隐藏或启用对异构环境的关键方面的应用程序级管理。作为这些问题的调查的一部分,我们已经开发了MPICH-G2,网格启用的消息传递接口(MPI)的实现,允许用户在多台计算机上运行MPI程序,在相同或不同的网站,使用相同的命令,将在并行计算机上使用。此库扩展了MPI的Argonne MPICH实现,以使用Globus Toolkit提供的服务进行身份验证、授权、资源分配、可执行文件暂存和I/O,以及进程创建、监视和控制。各种性能关键操作(包括启动和集合操作)被配置为利用网络拓扑信息。该库还利用MPI结构进行性能管理;例如,MPI通信器结构用于应用程序级发现和适应网络拓扑和网络服务质量机制。我们描述了MPICH-G2的设计和实施,目前的性能结果,并审查应用程序的经验,包括创纪录的分布式模拟。
2002-06-25 cs.DC
ClassdescMP: Easy MPI programming in C++
ClassdescMP是一个用于C++和MPI的分布式内存并行编程系统。它使用Classdesc反射系统来简化构建要在进程之间发送的复杂消息的任务。它没有隐藏底层的MPI API,因此它是MPI功能的增强。如果出于性能原因需要,用户仍然可以调用标准MPI函数调用。
2004-01-27 cs.DC
Fast Dynamic Updates and Dynamic SpGEMM on MPI-Distributed Graphs
稀疏矩阵乘法(SpGEMM)是在许多不同的应用领域中使用的基本内核,包括数值和离散。例如,许多代数图算法依赖于热带半环中的SpGEMM来计算图中的最短路径。最近,SpGEMM已经收到了越来越多的关注,具体的(并行)架构的实现。然而,这只涉及静态问题,其中两个输入矩阵都不改变。然而,在许多应用中,矩阵(或其对应的图形)会随时间而变化。虽然从头开始重新计算是非常昂贵的,我们不知道在文献中的任何动态SpGEMM算法。因此,在本文中,我们提出了一个基于MPI的并行计算的批动态算法。我们的动态SpGEMM建立在允许快速更新的分布式图/矩阵数据结构之上,显著减少了通信量。它通过利用更新改变的矩阵条目比输入操作数中的非零少得多来实现。我们对流行基准图的实验表明,我们的方法是值得的。对于批量插入或删除矩阵条目,我们的动态SpGEMM比最先进的竞争对手CombBLAS,CTF和PETSc中的静态算法快得多。
2022-05-31 cs.DC
EURETILE D7.3 - Dynamic DAL benchmark coding, measurements on MPI version of DPSNN-STDP (distributed plastic spiking neural net) and improvements to other DAL codes
EURETILE项目需要选择一套专用基准并进行编码。本课题研究的是未来多瓦片分布式容错系统的软硬件体系结构。我们专注于以大量数值处理要求为特征的动态工作负载。目标是确定可以应用于嵌入式系统和HPC领域的通用技术。本文档是工作包7的第一个公开交付成果:安装平铺应用程序。
2014-08-20 cs.CE cs.DC cs.MS
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
Communication-Efficient and Memory-Aware Parallel Bootstrapping using MPI
School of Advanced Technology Xi’an Jiaotong-Liverpool University(西交利物浦大学先进技术学院)
针对并行自助法的通信与内存瓶颈,本文基于 MPI 提出局部统计量聚合和同步伪随机数生成策略,并通过复杂度模型证明其可显著减少通信量与内存占用。
2025-10-18 cs.DC cs.MS cs.NA
Hybrid MPI/StarSs - a case study
混合并行编程模型结合了分布式和共享内存的范例,在高性能计算中得到了很好的建立。HPC中混合编程的经典原型是MPI/OpenMP,但许多其他组合正在研究中。最近,数据依赖性驱动,任务并行模型共享内存并行命名StarSs已被建议与MPI结合使用。在本文中,我们应用混合MPI/StarSs的格子玻尔兹曼代码。特别是,我们提出的混合编程模型,我们期望的好处,在移植的挑战,最后比较MPI/StarSs混合,MPI/OpenMP混合和原来的MPI只有版本的相同的代码的性能。
2012-04-18 cs.DC
Solutions for Distributed Memory Access Mechanism on HPC Clusters
Sano Centre for Computational Medicine(Sano计算医学中心)
本文提出并评估了高性能计算集群中远程内存访问机制的解决方案,比较了共享存储与MPI的性能,并指出医疗应用可能从中受益。
2025-12-02 cs.DC
A fast MPI-based Distributed Hash-Table as Surrogate Model demonstrated in a coupled reactive transport HPC simulation
University of Potsdam(波茨坦大学);GFZ Helmholtz Centre for Geosciences(德国地球科学研究中心);Zuse Institute Berlin(柏林祖尔研究所);Potsdam Institute for Climate Impact Research(波茨坦气候影响研究所)
针对 HPC 场景,本文提出基于 MPI 共享进程内存的无锁分布式哈希表代理模型,相较显式锁方案具备更好的读写扩展性,并将反应输运模拟加速 14%–42%。
2025-10-21 cs.DC
An Overview of Portable Distributed Techniques
在本文中,我们回顾了几个可移植的并行编程范例中使用的分布式编程环境。这里回顾的技术是可移植的。这些主要是基于MPI纯Java的分布式计算,基于MPI本地Java(JNI)和PVM。我们将根据我们的文献综述讨论每种技术的架构和实用程序。我们从可伸缩性、容错、负载均衡和性能这四个重要特性来探讨这些可移植分布式技术。我们已经确定了改善这四个重要特征的各种因素和问题。
2011-01-13 cs.DC
PennyLane-Lightning MPI: A massively scalable quantum circuit simulator based on distributed computing in CPU clusters
本文提出PennyLane-Lightning MPI,通过依赖索引的门特定并行化策略在分布式CPU集群上实现可扩展量子电路模拟,支持高达41量子比特和数十万并行进程,并作为PennyLane插件为韩国量子计算云服务提供后端资源。
2025-08-19 cs.DC cs.MS quant-ph
Distributed Tera-Scale Similarity Search with MPI: Provably Efficient Similarity Search over billions without a Single Distance Computation
Rice University(莱斯大学)
我们提出了SLASH(草图局部敏感哈希),MPI(消息传递接口)为基础的分布式系统的近似相似性搜索TB级规模的数据集。SLASH提供了流行的LSH(局部敏感哈希)算法的多节点实现,该算法通常在单个机器上实现。我们展示了如何在LSH算法中添加重打击者草图来证明解决(高)相似性搜索问题,而无需单个距离计算。总体而言,我们数学上表明,在现实的数据假设下,我们可以确定一个给定的查询$q$的近邻在次线性($ \ll O(n)$)数量的简单的草图聚合操作。为了使这样一个系统实用,我们提供了一个新颖的设计和草图解决方案,以减少机器间的通信开销指数。在可比硬件上的直接比较中,SLASH比PySpark中流行的LSH包快10000倍以上。PySpark是LSH算法在大型数据集上的广泛采用的分布式实现,并部署在商业平台上。最后,我们展示了我们的系统如何扩展到具有超过40亿个样本的Tera-scale Criteo数据集。SLASH可以在不到一小时的时间内为20个节点上的2.3TB数据建立索引,查询时间只需几毫秒。据我们所知,目前还没有一个开源系统可以对Criteo进行商品集群索引和相似性搜索。
2020-08-17 cs.DB cs.DC cs.IR
MPI Collectives for Multi-core Clusters: Optimized Performance of the Hybrid MPI+MPI Parallel Codes
集群中多核/众核处理器的出现倡导混合并行编程,其将用于节点间并行的消息传递接口(MPI)与用于节点上并行的共享存储器模型相结合。与传统的MPI + OpenMP混合方法相比,一种新的、但很有前途的MPI + MPI-3共享内存扩展(MPI+MPI)混合方法正受到越来越多的关注。我们描述了一种算法的集体操作(与allgather和广播作为具体的例子)的混合MPI+MPI的上下文中,以尽量减少内存消耗和内存副本。使用这种方法,只有一个内存副本由节点上的进程维护和共享。这允许删除在纯MPI上下文中调用集合时MPI进程之间所需的复制数据的不必要的节点上副本。我们比较了混合MPI+MPI和传统MPI的集体方法,并讨论了保证数据完整性所需的同步。我们的方法的性能已在Cray XC 40系统(Cray MPI)和NEC集群(OpenMPI)上进行了验证,表明它实现了可比或更好的性能allgather操作。我们进一步验证了我们的方法与标准的计算内核,即分布式矩阵乘法,和贝叶斯概率矩阵分解代码。
2020-07-14 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
What does fault tolerant Deep Learning need from MPI?
深度学习(DL)算法已经成为用于大规模数据分析的事实上的机器学习(ML)算法。DL算法在计算上是昂贵的-即使是使用MPI的分布式DL实现也需要在通常研究的数据集上进行数天的训练(模型学习)时间。长时间运行的DL应用程序变得容易受到故障的影响-除了容错DL算法之外,还需要开发容错系统基础设施。这就提出了一个重要的问题:设计容错DL实现需要MPI提供什么?在本文中,我们解决这个问题的永久故障。我们激励需要一个容错MPI规范的DL算法和它们的属性,驱动需要特定的容错功能的最近的创新的深入考虑。我们提出了一个深入的讨论不同的并行类型(模型,数据和混合)的适用性;需要(或缺乏)的任何关键数据结构的检查点;最重要的是,考虑几个容错建议(用户级故障缓解(ULFM),Reinit)在MPI和它们的适用性容错DL实现。我们利用Caffe的分布式内存实现,目前可在机器学习工具包极端规模(MaTEx)。我们通过扩展MaTEx-Caffe来实现我们的方法,以使用基于ULFM的实现。我们使用ImageNet数据集和AlexNet以及GoogLeNet神经网络拓扑进行的评估证明了使用基于OpenMPI的ULFM的容错DL实现的有效性。
2017-09-11 cs.DC
TTK is Getting MPI-Ready
CNRS(法国国家科学研究中心);Sorbonne Université(索邦大学);University of Lille(里尔大学);RPTU Kaiserslautern-Landau(凯泽斯劳滕-兰道工业大学);Centrale Lille(里尔中央理工大学)
本文为拓扑工具包TTK扩展MPI分布式内存并行能力,提出通用方法支撑拓扑分析流水线,优化数据结构与接口,完成算法分类与性能验证,给出扩展路线图。
2024-04-15 cs.CG cs.CV cs.DC
Towards a Scalable and Efficient PGAS-based Distributed OpenMP
本文提出 DiOMP,将 PGAS 概念集成到 OpenMP 中,基于 LLVM 和 GASNet-EX 实现,实验表明其带宽比 MPI+OpenMP 最高提升 25%、延迟最多降低 45%,为分布式内存并行编程提供了更高效的替代方案。
2024-09-04 cs.DC cs.PF
Dynamic Scheduling of MPI-based Distributed Deep Learning Training Jobs
SAIC-Toronto(三星高级技术研究院多伦多分院)
解决适合深度学习的问题有一个总的趋势,即在更大的训练集上训练更复杂的深度学习架构。这需要更长的计算时间和更大的数据并行化或模型并行化。数据和模型并行在参数服务器架构中的速度在历史上都更快,但是由于算法的改进,数据并行在环形架构中开始更快。在本文中,我们分析了数学背后的环形架构,并作出明智的适应动态调度环形架构。为此,我们制定了一个非凸,非线性,NP-难整数规划问题和一个新的有效的加倍启发式的解决方案。我们构建在Horovod之上:一个基于TensorFlow的开源环架构框架。我们表明,Horovod工作有一个低成本的停止和重新启动,停止和重新启动环架构的工作导致更快的完成时间。这两个事实使环形结构作业的动态调度成为可能。最后,我们使用这些运行模拟调度程序,并显示在某些工作负载模式下平均作业时间减少了一半以上。
2019-08-21 cs.DC cs.LG stat.ML
MPIgnite: An MPI-Like Language and Prototype Implementation for Apache Spark
基于MPI的横向扩展并行处理是一个有25年历史的标准,在高性能计算社区中,至少还有十年的历史。MapReduce、Hadoop和Spark等较新的框架代表了工业可扩展计算解决方案,这些解决方案因其相对简单的使用、对相关问题的适用性以及利用可扩展分布式资源的能力而得到广泛采用。虽然MPI提供了性能和可移植性,但它缺乏生产力和容错能力。同样,Spark是当前一代MapReduce和数据并行计算基础设施的一个具体示例,它可以实现这些目标,但又缺乏对等通信支持,无法实现轻量级、高度可扩展的对等数据并行代码部分。本文的主要贡献是演示如何将MPI的集体和点对点对等通信概念引入Spark环境。这样做是为了产生性能便携,面向对等和面向组的通信服务,同时保留Spark的基本,理想的属性。考虑了容错和生产率的附加概念。这种方法与将MapReduce框架作为上层中间件添加到传统的MPI实现作为基线基础设施相比。
2017-07-15 cs.DC
Experience with Distributed Memory Delaunay-based Image-to-Mesh Conversion Implementation
本研究评估了基于共享内存实现构建的分布式内存Delaunay图像转网格算法的可扩展性与开发效率,发现分布式版本有一定加速比但单节点开销较高,对黑盒复用共享内存代码的思路提出质疑。
2023-08-24 cs.DC
Frustrated with MPI+Threads? Try MPIxThreads!
针对 MPI+Threads 混合编程存在线程间无法用 MPI 通信、易串行化致性能差的问题,提出 MPIX Thread Communicator 扩展,为线程分配独立 MPI 秩,构建统一并行环境,实现代码更简洁、性能更优。
2024-01-29 cs.DC
On the performance of two-sided MPI, MPI-3 RMA and SHMEM in a Lagrangian particle cluster algorithm
本文面向地球物理流体EPIC方法中的拉格朗日粒子团簇算法,对比了点对点MPI、MPI-3 RMA、SHMEM三种分布式内存通信模型的并行性能,通过两类测试用例在三种不同互连的计算系统上完成了可扩展性测量。
2025-05-17 cs.DC
Building Near-Real-Time Processing Pipelines with the Spark-MPI Platform
探测器和计算技术的进步为应用研究和基础科学提供了新的机会。同时,实验数据的三个V(体积,速度和多样性)和计算任务的规模的急剧增加产生了对实验设施中新的实时的【形】处理系统的需求。最近,Spark-MPI方法将Spark数据密集型平台与MPI高性能框架连接起来,解决了这一需求。与现有的数据管理和分析系统相比,Spark引入了一种基于弹性分布式数据集(RDD)的新中间件,该中间件将各种数据源与高级处理算法解耦。RDD中间件极大地扩展了数据密集型应用程序的范围,从SQL查询扩展到机器学习再到图形处理。Spark-MPI通过使用进程管理接口的MPI应用程序进一步扩展了Spark生态系统。本文探讨了这个集成平台的背景下,在线重叠关联和断层重建管道。
2018-05-13 cs.DC
Parallel Programming Model for the Epiphany Many-Core Coprocessor Using Threaded MPI
Adapteva Epiphany众核架构包括具有最少非核功能的低功耗RISC内核的2D平铺网格片上网络(NoC)。它为整数和浮点计算以及并行可扩展性提供了高计算能效。然而,尽管有有趣的架构特性,一个令人信服的编程模型还没有提出日期。本文展示了一个有效的并行编程模型的Epiphany架构的消息传递接口(MPI)标准的基础上。使用MPI利用了Epiphany架构和传统的并行分布式串行核心集群之间的相似性。我们的方法使MPI代码执行的RISC阵列处理器上的修改很少,并实现高性能。我们报告了四种算法(密集矩阵-矩阵乘法、N体粒子相互作用、五点2D模板更新和2D FFT)的线程MPI实现的基准测试结果,并强调了快速核间通信对架构的重要性。
2015-06-17 cs.DC
Batched matrix operations on distributed GPUs with application in theoretical physics
矩阵-矩阵乘法(GEMM)是许多线性代数函数中最重要和最常用的运算之一,它也是许多科学代码获得高性能的关键组成部分。它是一个计算密集型函数,需要$O(n^3)$操作,其高计算强度使其非常适合使用GPU进行显著加速。今天,许多研究问题需要解决大量相对较小的GEMM操作,这些操作无法利用整个GPU。为了克服这个瓶颈,开发了特殊的函数,将多个GEMM操作打包成一个,然后在GPU上同时计算它们,这被称为批处理操作。在这项研究工作中,我们提出了一种不同的方法,基于链接多个GEMM操作到MPI行列,然后绑定多个MPI行列到一个GPU。为了提高GPU利用率,增加了更多的MPI秩(即GEMM操作)。我们在理论物理领域实现并测试了这种方法,通过模拟退火蒙特卡罗模拟量子自旋链来计算纠缠特性。对于特定的用例,我们能够模拟更大的自旋系统,并实现了高达$35\times$的速度提升,与仅使用并行CPU的版本相比。
2022-03-17 cs.DC
Practical, Linear-time, Fully Distributed Algorithms for Irregular Gather and Scatter
我们提出了新的,简单的,完全分布式的,实用的算法与线性时间通信成本不规则的收集和分散操作中,处理器的贡献或消耗可能不同的数据量。在具有启动延迟$α$和单位成本$β$的线性成本传输模型中,新算法花费时间$3|{\log_2 p}|α+β\sum_{i\neq r}m_i$,其中$p$是处理器的数量,$m_i$是处理器$i, 0\leq i<p$的数据量,处理器$r, 0\leq r<p$是由算法确定的根处理器。对于固定的、外部给定的根处理器$r$,存在至多$β(M_{d'}-m_{r_{d'}}-\sum_{0\leq j<d'}M_j)$时间步的附加惩罚,其中每个$M_j$是由该算法构造的具有根$r_j$的$2^j$不同处理器的树中的数据总量。最差情况的惩罚小于$β\sum_{i\neq r}m_i$时间步长。该算法具有实现MPI(消息传递接口)的操作有吸引力的属性。使用固定树的标准算法在最坏的情况下花费$|{\log_2 p}|(α+β\sum_{i\neq r} m_i)$时间,或者花费$\sum_{i\neq r}(α+βm_i)$时间。我们已经使用了新的算法,给出原型实现的MPI_Gatherv和MPI_Scatterv集体的MPI,并提出了基准测试结果从一个小型和中型的InfiniBand集群。为了构建实验评价,我们制定了新的性能准则,不规则的集体,可以用来评估相应的定期…
2017-04-12 cs.DC
Distributed macroscopic traffic simulation with Open Traffic Models
本文介绍了OTM-MPI,开放交通模型平台(OTM)的扩展运行宏观交通模拟在高性能计算环境。宏观模拟适合于研究区域交通情况时,总趋势的兴趣,而不是个别车辆的痕迹。它们也适用于研究各类车辆的路由行为,例如应用程序通知的车辆。用METIS进行网络划分。进程间的通信通过MPI(消息传递接口)完成。结果提供了两个网络:一个现实的网络,这是从开放的街道地图查塔努加,TN,另一个更大的合成网格网络。该软件记录了查塔努加使用256个核心的加速比为198,合成网络使用1,024个核心的加速比为475。
2020-03-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
A 2D Parallel Triangle Counting Algorithm for Distributed-Memory Architectures
三角形计数是一种基本的图分析操作,广泛用于网络科学和图挖掘。随着需要分析的图形的大小不断增长,需要为分布式存储器并行系统开发可扩展的算法。为此,我们提出了一个分布式内存三角形计数算法,它使用了一个二维循环分解,以平衡的计算和减少通信开销。该算法构造其通信和计算步骤,以减少其内存开销,并包括利用图的稀疏性和计算结构的方式的关键优化。合成和真实世界的图上的实验表明,我们的算法获得了平均相对加速比,范围在3.24和7.22之间的10.56跨数据集使用169 MPI排名超过16 MPI排名所取得的性能。此外,我们得到了10.2倍的平均加速比与以前开发的分布式存储器并行算法。
2019-07-22 cs.DC
Distributed Quantum Computing with QMPI
量子计算机的实际应用需要数百万个物理量子位,单个量子处理器要达到这样的量子位数将是一个挑战。因此,在分布式环境中研究量子算法的资源需求是及时的,其中多个量子处理器通过相干网络互连。我们引入了消息传递接口(MPI)的扩展,以实现分布式量子算法的高性能实现。反过来,这些实现可以用于测试、调试和资源估计。除了量子MPI的原型实现,我们提出了一个分布式量子计算的性能模型,SENDQ。该模型的灵感来自经典的LogP模型,使得它在分布式量子计算机编程时能够为算法决策提供信息。具体来说,我们考虑了两个量子算法的物理和化学问题的几个优化,我们详细介绍了它们对SENDQ模型性能的影响。
2021-05-03 cs.DC cs.ET quant-ph
Efficient Distributed-Memory Parallel Matrix-Vector Multiplication with Wide or Tall Unstructured Sparse Matrices
本文提出了一种有效的技术,矩阵向量和向量转置矩阵乘法在分布式内存并行计算环境中,矩阵是非结构化的,稀疏的,有一个显着的列数比行数或反之亦然。我们的方法允许并行I/O,不需要大量的预处理,并具有相同的通信复杂性的矩阵向量乘法与列或行分区。我们使用MPI实现该方法。我们将矩阵划分为单个非零元素,而不是行或列,并使用与矩阵匹配的“重叠”向量表示。转置乘法使用矩阵特定的MPI通信和减少,我们可以建立一个有效的方式。所提出的技术实现了良好的工作每处理器的平衡,即使一些列是密集的,同时保持通信成本相对较低。
2018-12-03 cs.DC cs.MS
D2O - a distributed data object for parallel high-performance computing in Python
我们介绍了D2 O,一个集群分布式多维数值数组的Python模块。它充当算法代码和数据分发逻辑之间的抽象层。主要目标是在不损失数值性能和可伸缩性的情况下实现可用性。D2 O的全局接口类似于numpy.ndarray的接口,而集群节点的本地数据可以直接访问,以便在定制的高性能模块中使用。D2 O是用纯Python编写的,这使得它具有可移植性,易于使用和修改。昂贵的操作由专门的外部库执行,如numpy和mpi 4py。对于串行应用程序,D2 O的性能与numpy相当,并且在迁移到MPI集群时可以很好地扩展。D2 O是在GNU通用公共许可证v3(GPL-3)下提供的开源软件,网址为https://gitlab.mpcdf.mpg.de/ift/D2O
2016-08-13 cs.DC cs.MS
Parallel Graph Coloring Algorithms for Distributed GPU Environments
图着色通常用于并行化在分布式和多GPU环境中运行的科学计算;它标识可以并行更新的独立数据集。在单个GPU或分布式存储器中存在许多用于图着色的算法,但据我们所知,混合MPI+GPU算法直到本工作才被探索。基于Gebremedhin等人的分布式着色算法和Deveci等人的共享内存着色算法,提出了几种MPI+GPU着色方法。节点上的并行着色使用KokkosKernels中的实现,它为多核CPU和GPU提供并行化。我们进一步扩展我们的方法来计算距离-2和部分距离-2着色,给出了第一个已知的分布式,多GPU算法,这些问题。此外,我们提出了一种新的启发式,以减少通信的分布式图着色的包围圈。我们的实验表明,我们的方法有效地运行在输入太大,适合在一个单一的GPU和扩展到图形与76.7十亿边运行在128个GPU。
2021-06-30 cs.DC cs.DM
HyPar-Flow: Exploiting MPI and Keras for Scalable Hybrid-Parallel DNN Training using TensorFlow
The Ohio State University(俄亥俄州立大学)
为了减少大规模DNN的训练时间,科学家们已经开始探索数据并行、模型并行和混合并行等并行化策略。虽然数据并行已经得到了广泛的研究和发展,但在有效实现模型并行和混合并行方面还存在一些问题。我们关注的四个主要问题是:1)定义跨进程的分布式模型的概念,2)实现跨进程边界的前向/反向传播,这需要显式通信,3)在固有的顺序任务上获得并行加速,以及4)实现可扩展性而不损失模型的准确性。为了解决这些问题,我们创建了HyPar-Flow --一个模型大小/类型不可知的,可扩展的,实用的和用户透明的系统,用于通过利用MPI,Keras和TensorFlow进行混合并行训练。HyPar-Flow提供了一个API,可用于对任何Keras模型进行大规模的数据、模型和混合并行训练。我们创建了用户提供的Keras模型的内部分布式表示,利用TF的Eager执行功能进行跨进程的分布式前向/反向传播,利用流水线来提高性能,并利用高效的MPI原语进行可扩展的通信。在模型分区之间,我们使用send和recv来交换层数据/部分错误,而allreduce用于累积/平均模型副本之间的梯度。除了HyPar-Flow的设计和实现,我们还提供了三个最先进的HPC系统的全面正确性和性能结果,包括TACC Frontera(Top500.org上排名第5)。对于超深度模型ResNet-1001,HyPar-Flow提供:1)基于Horo…
2020-02-19 cs.AI cs.DC cs.LG
Efficient Embedding of MPI Collectives in MXNET DAGs for scaling Deep Learning
IBM T J Watson Research Center(IBM托马斯·J·沃森研究中心)
高性能计算基础设施(如GPU和CPU集群)的可用性推动了分布式学习系统的发展。深度学习框架将神经网络表示为DAG,并在GPU等计算资源上执行这些DAG。在本文中,我们提出了有效的设计嵌入MPI集体操作到数据并行DAG。不正确的设计很容易导致死锁或程序崩溃。特别是,我们展示了三种设计:漏斗,并发通信和依赖链使用MPI集体与DAG。这些设计通过允许与其他任务的并发执行来自动地实现计算与通信的重叠。我们直接将这些设计实现到MXNET的KVStore API中。这使我们能够直接利用其余的基础设施。使用ImageNet和CIFAR数据集,我们展示了我们设计的潜力。特别是,我们的设计可扩展到256个GPU,ImageNet 1K数据集的历元时间低至50秒。
2018-02-20 cs.DC cs.LG
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
Developing a High Performance Software Library with MPI and CUDA for Matrix Computations
如今,并行计算的范式正在发生变化。CUDA现在是GPU上通用计算的流行编程模型,大量应用程序被移植到CUDA,与优化的CPU实现相比,获得了数量级的加速。将消息传递模型与用于并行计算的共享内存模型相结合的混合方法是非常大型应用程序的解决方案。我们考虑了一个异构集群,它使用MPI和CUDA将CPU和GPU计算结合起来,以开发高性能线性代数库。我们的图书馆处理大型线性系统求解器,因为它们是科学和工程领域的常见问题。由于高存储器需求和计算成本,用于计算此类系统的解的直接方法可能非常昂贵。一种有效的替代方法是只计算解的近似值的迭代法。在本文中,我们提出了一个实现的库,使用MPI和CUDA实现直接和迭代线性系统求解器的混合计算模型。我们的库使用MPI/CUDA组合实现了基于LU和Cholesky分解的求解器和一些非平稳迭代法。我们比较了我们的MPI/CUDA实现的性能与经典的程序写在一个单一的CPU上运行。
2015-11-23 cs.DC cs.MS
Lightweight Task Offloading Exploiting MPI Wait Times for Parallel Adaptive Mesh Refinement
平衡复杂模拟的工作负载本质上是困难的,因为我们必须在网格上平衡计算工作负载和内存占用,这些网格可以随时改变或产生不可预测的每个网格实体的成本,而现代超级计算机及其互连开始表现出波动的性能。我们提出了一种新的轻量级的MPI+X的平衡技术,伴随着传统的,基于预测的负载均衡。它是一种反应扩散方法,使用MPI空闲时间的在线测量将任务暂时从过载迁移到未充分就业的行列。任务被部署到否则将等待的队列,以高优先级处理,并再次提供给过载的队列。这种迁移是非持久性的。我们的方法劫持空闲时间来做有意义的工作,并且是完全非阻塞的,异步的,分布式的,没有全局数据视图。在ExaHyPE引擎中开发的地震模拟代码的测试揭示了该方法的潜力。我们发现,在没有对代码库进行逻辑修改的情况下,不平衡的情况下,速度可以提高2-3倍,并表明该策略能够快速响应临时变化的工作负载或节点性能。
2020-04-14 cs.DC
An Optimized Error-controlled MPI Collective Framework Integrated with Lossy Compression
本文提出C-Coll框架,将误差有界有损压缩(定制SZx)集成到MPI集合通信中,在保持数据精度的同时显著降低通信开销,实验表明性能提升1.8至2.7倍。
2024-01-17 cs.DC
Parallel DNA Sequence Alignment on High-Performance Systems with CUDA and MPI
本文提出CUDA与MPI混合的Needleman-Wunsch并行序列比对方案,通过GPU并行与多节点分布式计算显著加速大规模比对,无需修改底层算法。
2024-12-30 cs.DC
A Locality-Aware Bruck Allgather
集合算法是MPI的重要组成部分,允许应用程序员利用常见分布式操作的底层优化。MPI_Allgather收集数据,这些数据最初分布在所有进程中,因此所有数据都可用于每个进程。对于较小的数据大小,Bruck算法通常用于最小化任何进程所通信的最大消息数。然而,通信的每个步骤的成本取决于源和目的地进程的相对位置,其中非本地消息(诸如节点间消息)比本地消息(诸如节点内消息)成本高得多。本文对Bruck算法进行了局部感知优化,最大限度地减少非局部消息的数量和大小,以提高聚集操作的性能和可扩展性
2022-08-23 cs.DC
Enhancing Type Safety in MPI with Rust: A Statically Verified Approach for RSMPI
本文提出基于RSMPI库的MPI类型安全通信框架TypedCommunicator,利用Rust的Equivalence trait在编译时或运行时验证类型兼容性,消除常见MPI错误并保持性能,为并行计算鲁棒性奠定基础。
2025-09-13 cs.DC
Performance Evaluation of Python Parallel Programming Models: Charm4Py and mpi4py
本文通过CPU和GPU微基准测试及科学计算小型应用,比较了Charm4Py与mpi4py两个Python并行编程框架的相对性能,以帮助实践者选择合适框架。
2021-11-11 cs.DC cs.PF cs.PL
Performance Analysis and Optimization of a Hybrid Distributed Reverse Time Migration Application
处理地震数据的应用程序采用可扩展的并行系统来产生及时的结果。为了充分利用新兴的处理器体系结构,应用程序将需要在节点内采用线程并行,并在节点之间传递消息。如今,MPI+OpenMP是此任务的首选编程模型。然而,为集群调优混合程序是困难的。性能工具可以帮助用户识别瓶颈并发现改进的机会。这张海报描述了我们应用Rice University的HPCToolkit和硬件性能计数器来深入了解在多核处理器集群上执行反向时间迁移(RTM)的MPI+OpenMP代码的经验。这些工具为我们提供了对域分解策略的有效性、线程并行性的使用以及单个内核中功能单元利用率的深入了解。通过应用从工具中获得的见解,我们能够将RTM代码的性能提高约30%。
2016-03-12 cs.DC
Densifying Assumed-sparse Tensors: Improving Memory Efficiency and MPI Collective Performance during Tensor Accumulation for Parallelized Training of Neural Machine Translation Models
Amazon(亚马逊);SURFSara;Dell EMC(戴尔易安信);Intel(英特尔);Uber(优步)
神经机器翻译-使用神经网络翻译人类语言-是一个积极的研究领域,探索新的神经元类型和网络拓扑结构,目标是显着提高机器翻译性能。目前最先进的方法,如多头注意力为基础的Transformer,需要非常大的翻译语料库和许多时代,以产生合理的质量模型。最近尝试在多个节点上并行化官方TensorFlow“Transformer”模型,但由于内存使用过多以及在执行MPI集合时导致内存错误而遇到了障碍。本文描述了对Horovod MPI分布式训练框架的修改,通过将假定的稀疏张量转换为密集张量,并随后用密集梯度降低取代稀疏梯度聚集,来减少Transformer模型的内存使用。其结果是横向扩展能力的大幅提高,仅CPU的扩展测试实现了高达1200个MPI进程(300个节点)的91%弱扩展效率,以及使用Stampede 2超级计算机高达400个MPI进程(200个节点)的65%强扩展效率。
2019-05-10 cs.CL cs.DC cs.LG
Automated MPI-X code generation for scalable finite-difference solvers
本文将面向分布式内存并行的自动化 MPI-X 代码生成技术集成入 Devito,使用户无需改源码即可大规模运行显式有限差分模板,并在 CPU/GPU 集群上验证了优异的强、弱扩展性能。
2025-01-06 cs.DC cs.MS 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