Performance-Driven Optimization of Parallel Breadth-First Search
本文针对多核系统并行BFS的不规则内存访问等问题,提出混合遍历、位图已访问集合和非原子距离更新等优化策略,在Intel和AMD平台上对小直径图实现3-10倍加速,但大直径图表现复杂。
2025-03-01 cs.DC
Space Efficient Breadth-First and Level Traversals of Consistent Global States of Parallel Programs
计算全局一致状态的枚举是并行计算中的一个基本问题,在并行程序的调试、测试和运行时验证中有着广泛的应用。广度优先搜索(BFS)枚举对于这些应用程序特别有用,因为它用尽可能少的事件找到错误的一致全局状态。全局状态中已执行事件的总数称为其等级。BFS还允许枚举给定等级或等级范围内的所有全局状态。如果n个进程上的计算平均每个进程有m个事件,则传统的BFS(Cooper-Marzullo及其变体)在最坏情况下需要$\mathcal{O}(\frac{m^{n-1}}{n})$空间,而我们的算法执行BFS需要$\mathcal{O}(m^2n^2)$空间。因此,我们降低了空间复杂度的BFS枚举一致的全局状态指数。并给出了该任务的第一个多项式空间算法。在我们对七个基准测试的实验评估中,传统的BFS在许多情况下都会失败,因为耗尽了允许给JVM的2 GB堆空间。相比之下,我们的实现使用不到60 MB的内存,在许多情况下也更快。
2017-07-25 cs.DC
Optimizing Communication by Compression for Multi-GPU Scalable Breadth-First Searches
广度优先搜索(BFS)算法是许多基于图的高级操作(如生成树、最短路径和介数中心性)的基础和构建块。该算法的重要性与日俱增,因为它是当今流行的许多数据结构的关键要求。当BFS算法通过将图分布在多个处理器之间来并行化时,互连网络限制了性能。因此,在这方面的改进可能有利于算法的整体性能。这项工作提出了一种替代的压缩方案,在分布式BFS处理通信。它侧重于使用通用图形处理单元的BFS处理器。
2017-04-03 cs.DC cs.DS cs.PF
Breadth-First Pipeline Parallelism
ServiceNow Research(ServiceNow研究院)
本文提出广度优先流水线并行训练调度方法,通过结合高GPU利用率、小批量与全分片数据并行,在520亿参数模型上相比Megatron-LM实现最高43%的训练吞吐量提升。
2023-07-06 cs.AI cs.CL cs.DC
SlimSell: A Vectorizable Graph Representation for Breadth-First Search
矢量化和GPU将深刻改变图形处理。针对32位或64位内存访问调整的传统图形算法在英特尔Knights Landing(KNL)众核CPU中已经存在的512位宽(或更大)指令单元的架构上效率低下。预计这种转变,我们提出SlimSell:一个矢量化的图形表示,以加速基于稀疏矩阵密集向量(SpMV)产品的广度优先搜索(BFS)。SlimSell扩展并结合了最先进的SIMD友好的Sell-C-sigma矩阵存储格式与热带,实数,布尔和sel-max半环运算。由此产生的设计减少了必要的存储(高达50%),从而减少了内存子系统的压力。我们用SlimWork和SlimChunk方案增强了SlimSell,减少了工作量,改善了负载平衡,进一步加速了BFS。我们评估了英特尔Haswell多核CPU、最先进的英特尔至强融核KNL多核CPU和NVIDIA Tesla GPU上的所有方案。我们的实验表明,半环提供最高的BFS加速,并说明SlimSell加速了高达33%的调整Graph 500 BFS代码。这项工作表明,矢量化可以确保高性能的BFS的基础上SpMV产品,所提出的原则和设计可以扩展到其他图形算法。
2020-10-21 cs.DC cs.DS
Optimizations to the Parallel Breath First Search on Distributed Memory
图及其遍历由于其适用于数学、科学和技术的各个领域而变得越来越重要。生物化学(基因组学)、电子工程(通信网络)、计算机科学(算法和计算)等领域的各种问题都可以建模为图问题。真实世界的场景,包括社区,他们的相互联系和相关的属性可以使用图进行研究。因此快速、可扩展、低成本地执行并行图算法是非常重要的。在这个实现中的并行宽度优先搜索的图形,我们实现了并行BFS算法与1-D分区的图中所描述的[2],并已减少了执行时间,通过优化通信的本地缓冲区。
2020-03-10 cs.DC
Breadth First Search Vectorization on the Intel Xeon Phi
广度优先搜索(BFS)是用于图算法的构建块,并且最近已被用于包括社交网络、图数据库和web搜索的各种应用中的信息的大规模分析。由于其重要性,许多不同的并行编程模型和架构已被利用来优化BFS。然而,由于不规则的内存访问模式和大型图的非结构化性质,其有效的并行化是一个挑战。Xeon Phi是一种大规模并行架构,可用作现成的加速器,其中包括一个功能强大的512位矢量单元,具有优化的分散和收集功能。考虑到其潜在的好处,在此架构上进行图遍历相关的工作是一个活跃的研究领域。我们提出了一组实验中,我们探索的Xeon Phi的架构功能,以及如何最好地利用它们在一个自上而下的BFS算法,但技术可以应用到目前最先进的混合,自上而下加上自下而上,算法。我们专注于开发一个改进的高度向量化的OpenMP并行算法,使用向量的内在函数,并了解使用数据对齐和预取的向量单元。此外,我们调查的超线程和线程亲和力对性能的影响,一个主题,出现在文献中的研究。因此,我们在实验中使用的Xeon Phi版本上实现了我们认为最快的自上而下BFS算法。本文中提供的矢量化BFS自顶向下源代码可以作为免费软件提供。
2016-04-11 cs.DC
Techniques for Distributed Reachability Analysis with Partial Order and Symmetry based Reductions
在这项工作中,我们提出了有效的可达性分析的状态空间的技术(例如,坏状态的检测),在分布式设置中使用基于偏序和对称性的简化的组合。所提出的技术集中在显式状态空间枚举基于模型检查器,如SPIN。我们考虑的变体的深度优先以及基于广度优先生成的减少状态图的飞行。
2009-01-01 cs.DC cs.SE
Distributed Vertex Cover Algorithms For Wireless Sensor Networks
顶点覆盖在无线传感器网络中有着重要的应用,如链路故障监测、设施定位、聚类和数据聚合等。在这项研究中,我们设计了三个算法来构建无线传感器网络中的顶点覆盖。第一个算法是Parnas & Ron算法的一个改进,它是一个贪婪的方法,通过使用节点的度来找到顶点覆盖。第二个算法发现一个顶点覆盖图匹配Hoepman的加权匹配算法。第三种算法首先构造一棵广度优先搜索树,然后从广度优先树中选择预定义层次的节点来构造顶点覆盖。我们所设计的算法的操作,分析它们,并提供在TOSSIM环境中的仿真结果。最后,我们已经实现,比较和评估所有这些方法。第一个算法的发送消息数是最小的其他算法,其中第三个算法已被证明是提出最好的结果,在顶点覆盖近似比。
2014-02-10 cs.DC cs.NI
Extending and Implementing the Self-adaptive Virtual Processor for Distributed Memory Architectures
未来的众核架构很可能具有分布式内存组织,并且需要细粒度的并发管理才能有效地使用。自适应虚拟处理器(SVP)是一个抽象的并发编程模型,可以提供这一点,但该模型及其当前的实现假设一个单一的地址空间共享内存。我们调查和扩展SVP处理分布式环境,并讨论了原型SVP实现透明地支持执行异构分布式内存集群通过TCP/IP连接,同时保留原始的SVP编程模型。
2011-04-19 cs.DC
Parallel and distributed Gröbner bases computation in JAS
本文研究了多核计算节点的分布式并行计算机上的并行格罗布纳基算法。总结了三种不同的格罗布纳基实现:共享内存并行、纯分布内存并行和分布内存与共享内存相结合的并行。最后一种算法称为分布式混合算法,在主节点和工作节点之间只使用一个控制通信信道,并将多项式保存在节点上的共享内存中。多项式在单独的分布式数据结构中被异步传输到算法的控制流。实现是通用的,适用于所有实现的(精确)字段。我们提出了新的性能测量和讨论的算法的性能。
2010-07-30 cs.DC
A Distributed Chunk Calculation Approach for Self-scheduling of Parallel Applications on Distributed-memory Systems
循环调度技术旨在实现科学应用程序的负载平衡执行。用于分布式存储器系统的动态循环自调度(DLS)库通常是基于MPI的,并且采用集中式块计算方法(CCA)来分配循环迭代的可变大小的块。我们提出了一个分布式块计算方法(DCA),支持各种类型的DLS技术。使用CCA和DCA,十二DLS技术的实施和评估在不同的CPU减速的情况下。结果表明,使用DCA实现的DLS技术优于其相应的CCA实现的,特别是在极端的系统减速的情况下。
2021-01-18 cs.DC
A Model for Coherent Distributed Memory For Race Condition Detection
我们提出了一个新的模型,分布式共享内存系统的基础上,远程数据访问。这些功能由允许单侧操作、远程直接内存访问和操作系统旁路的网络接口卡提供。该模型导致新的分布式算法的解释,使我们能够提出一种创新的竞争条件的检测技术,只基于逻辑时钟。事实上,并行程序中(数据)竞争的存在使其难以推理,通常被认为是一个错误。
2011-02-12 cs.DC
Impact of the Consistency Model on Checkpointing of Distributed Shared Memory
在这份报告中,我们考虑分布式共享内存的检查点和回滚算法的一致性模型的影响。特别是,我们认为具体实现的四个一致性模型的分布式共享内存,即线性化,顺序一致性,因果一致性和最终的一致性,并开发检查点和回滚算法,可以集成到实现的一致性模型。我们的研究结果实证表明,用于实现更强的一致性模型的机制,导致更简单或更有效的检查点算法。
2022-08-04 cs.DC
Paving the way for Distributed Non-Blocking Algorithms and Data Structures in the Partitioned Global Address Space
分区的全局地址空间在共享内存和分布式内存之间架起了一座桥梁,通过这座桥梁,共享内存概念(如非阻塞编程)能够适应分布式系统(如超级计算机)。为了实现非阻塞算法,我们提出了通过远程直接内存地址和指针压缩对远程内存中的对象执行可扩展原子操作的方法。为了解决分布式系统中并发安全的内存回收问题,我们将基于历元的内存回收方法应用于分布式内存,并以支持全局视图编程的方式实现。这个结构是为Chapel程序设计语言设计和实现的,但是可以进行调整和推广,以适用于其他语言和库。
2020-03-15 cs.DC
Parallel Breadth-First Search and Exact Shortest Paths and Stronger Notions for Approximate Distances
我们引入更强的近似单源最短路径距离的概念,展示了如何有效地计算它们从较弱的标准概念,并展示了这些新的概念和变换的算法能力。一个应用程序是第一个工作效率的并行算法计算精确的单源最短路径图-解决了一个主要的开放问题,在并行计算。给定一个具有多项式有界非负整数长度的有向图中的源顶点,该算法计算$m \log^{O(1)} n$工作和$n^{1/2+o(1)}$深度的精确最短路径树。以前,没有已知的并行算法在不显著增加工作的情况下改进Dijkstra算法的平凡线性深度,即使对于无向和无权图的情况(即,用于计算BFS树)。我们的主要结果是一个黑盒变换,使用$\log^{O(1)} n$标准的近似距离计算产生的近似距离,也满足减法三角不等式($(1+\varepsilon)$因素),甚至诱导一个确切的最短路径树的图中,只有轻微的扰动边的长度。这些增强的近似在算法上显著更强大,并且克服了使用近似距离的众所周知的和经常遇到的障碍。在有向图中,它们甚至可以被提升到精确的距离。这导致了任何(并行或分布式)有向图中近似最短路径算法的黑盒变换,变成了基本上没有成本的精确距离计算算法。将其应用于Fineman等人最近的突破,通过近似跳集计算近似SSSP距离,给出了精确最短路径的新并行分布式算法。
2022-10-28 cs.DC cs.DS
Solutions for Distributed Memory Access Mechanism on HPC Clusters
Sano Centre for Computational Medicine(Sano计算医学中心)
本文提出并评估了高性能计算集群中远程内存访问机制的解决方案,比较了共享存储与MPI的性能,并指出医疗应用可能从中受益。
2025-12-02 cs.DC
knor: A NUMA-Optimized In-Memory, Distributed and Semi-External-Memory k-means Library
k-means是最有影响力和最常用的机器学习算法之一。它的计算限制了许多统计分析和机器学习任务的性能和可扩展性。我们重新思考和优化现代NUMA架构的k均值,开发一种新的并行化方案,延迟和最大限度地减少同步障碍。\textit{k-means NUMA Optimized Routine}(\textsf{knor})库具有(i)内存中(\textsf{knori})、(ii)分布式内存(\textsf{knord})和(iii)半外部内存(\textsf{knors})模块,这些模块可以针对不同的内存和硬件预算从根本上提高k均值算法的性能。\textsf{knori}可将单机数据集的性能提高一个数量级或更多。\textsf{knors}提高了k均值算法在使用SSD的内存预算上的可扩展性。\textsf{knors}可在一台机器上扩展到数十亿个点,只使用分布式内存系统所需资源的一小部分。\textsf{knord}保留了\textsf{knori}的性能特征,同时通过云中的分布式计算在内存中进行扩展。\textsf{knor}修改埃尔坎的三角不等式修剪算法,使我们利用它对十亿点的数据集没有显着的内存开销的原始算法。我们证明了\textsf{knor}优于分布式商业产品,如H $_2$ O,Turi(以前的Dato,GraphLab)和Spark的MLlib超过一个数量级的数据集的$1…
2017-06-24 cs.DC
Analytical study of the "master-worker" framework scalability on multiprocessors with distributed memory
本文致力于分析研究的“主工人”框架的可扩展性与分布式存储器的多处理器。提出了一种新的并行计算模型BSF。BSF模型基于BSP和SPMD模型。BSF模型的适用范围是计算密集型应用。定义了BSF计算机的体系结构。描述了BSF程序的结构。利用该度量,给出了分布式内存多处理器上BSF程序的可扩展性上界。还提出了BSF程序并行效率的估计公式。
2017-09-10 cs.DC
Distributed Graph Layout for Scalable Small-world Network Analysis
内存中的图形布局或组织对分布式内存图形计算的时间和能量效率具有相当大的影响。它影响内存局部性、任务间负载平衡、通信时间和整体内存利用率。图形布局可以指顶点和边数组的分区或复制、保存元数据的数据结构的选择性复制以及顶点和边标识符的重新排序。在这项工作中,我们提出了DGL,一个快速,并行和内存高效的分布式图形布局策略,是专门为小世界网络(低直径图与倾斜的顶点度分布)。基于标签传播的分区和可扩展的基于BFS的排序是布局策略中的主要步骤。我们表明,DGL布局可以显着提高五个具有挑战性的图分析工作负载的端到端性能:PageRank,一个并行子图枚举程序,调整实现的广度优先搜索和单源最短路径,和RDF 3X-MPI,一个分布式SPARQL查询处理引擎。使用这些基准测试,我们还提供了一个全面的分析,关于图布局如何影响具有可变计算和通信特性的图分析的性能。
2017-01-02 cs.DC
PULSE: Accelerating Distributed Pointer-Traversals on Disaggregated Memory (Extended Version)
针对分解内存架构中CPU缓存无法提升链式结构指针遍历性能的问题,设计了靠近内存、兼顾表达性、能效与分布式执行的PULSE框架,实验证明其可显著提升相关工作负载的性能与能效。
2024-12-15 cs.DC
Experience with Distributed Memory Delaunay-based Image-to-Mesh Conversion Implementation
本研究评估了基于共享内存实现构建的分布式内存Delaunay图像转网格算法的可扩展性与开发效率,发现分布式版本有一定加速比但单节点开销较高,对黑盒复用共享内存代码的思路提出质疑。
2023-08-24 cs.DC
High Performance Parallel Sort for Shared and Distributed Memory MIMD
我们提出了四种高性能的混合排序方法开发的各种并行平台:共享内存多处理器,分布式多处理器,集群利用共享和分布式内存的存在。合并排序以其稳定性而闻名,被用于设计我们的几个算法。我们通过将其与快速排序相结合来提高其并行性能。我们提出了两个模型设计的共享内存MIMD(OpenMP):(a)一个非递归的合并排序和(b)混合快速排序和合并排序。第三个模型是设计用于分布式内存MIMD(MPI)使用混合快速排序和合并排序。我们的第四个模型的目的是利用共享内存的各个节点的今天的集群系统,并消除所有的内部数据传输之间的不同节点,我们的模型实现了一个一步MSD-Radix分发数据在10个包(MPI),而每个节点的并行核心使用Quicksort排序他们的数据分区顺序,然后合并和排序他们在并行采用OpenMp。所有开发的模型的性能优于基线性能。在对小数据进行排序时,混合快速排序和合并排序的性能优于集群平台中使用混合MSD-Radix和快速排序的混合内存并行合并排序,但对于较大的数据,集群平台中使用混合MSD-Radix和快速排序的混合内存并行合并排序的加速比变得更大并且不断改进。其中分布存储并行混合快速排序和归并排序的加速比最好。
2020-03-02 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
AccFFT: A library for distributed-memory FFT on CPU and GPU architectures
我们提出了一个新的库并行分布式快速傅立叶变换(FFT)。FFT在科学和工程中的重要性以及高性能计算的进步需要进一步改进。AccFFT将支持CUDA的图形处理单元(GPU)的现有FFT库扩展到分布式内存集群。我们使用重叠的通信方法来减少PCIe从/到GPU的传输开销。我们目前的数值计算结果小牛平台在得克萨斯州高级计算中心(TACC)和泰坦系统在橡树岭国家实验室(ORNL)。我们将库扩展到Titan的4,096个K20 GPU。
2016-05-25 cs.DC
Streaming Message Interface: High-Performance Distributed Memory Programming on Reconfigurable Hardware
分布式存储器编程是在高性能计算(HPC)系统中使用的已建立的范例,其需要节点和设备之间的显式通信。当FPGA部署在分布式环境中时,通信通常通过主机进行处理,牺牲性能,或者通过固定的设备到设备连接进行流式传输,牺牲灵活性。我们提出了流消息接口(SMI),一个通信模型和API,统一了明确的消息传递与面向硬件的编程模型,促进最小的开销,灵活,高效的FPGA间通信。代替批量传输,消息在计算期间通过网络流式传输,允许通信无缝集成到流水线设计中。我们提出了一个高层次的综合实现SMI针对一个专用的FPGA互连,暴露运行时可配置的路由与支持任意网络拓扑结构,并实现了一组分布式内存基准。使用SMI,程序员可以在可重构硬件上实现分布式、可扩展的HPC程序,而不会偏离硬件设计的最佳实践。
2019-09-07 cs.DC
Graph Sampling with Distributed In-Memory Dataflow Systems
给定一个大图,图样本确定一个子图,该子图对于原始图的某些度量具有相似的特征。样本更小,从而加速和简化了大型图形的分析和可视化。我们专注于为大数据框架和内存中的分布式图采样系统(如Apache Spark或Apache Flink)实现分布式图采样。我们评估新的实现的可扩展性,并分析在何种程度上的采样方法保留某些图形的度量相比,原来的图。后一种分析也使用比较图形可视化。所提出的方法将是开源的,并集成到Gradoop中,Gradoop是一个分布式图形分析系统。
2019-10-10 cs.DC
TARDIS: Timestamp based Coherence Algorithm for Distributed Shared Memory
提出了一种新的存储一致性协议Tardis。Tardis使用时间戳计数器来表示逻辑时间和物理时间,以便在任何类型的共享内存系统中对内存操作进行排序并强制执行顺序一致性。Tardis的独特之处在于,与广泛采用的目录一致性协议及其变体相比,它完全避免了多播,并且对于N核系统,每个缓存块只需要O(log N)存储,而不是O(N)共享器信息。Tardis更简单,更容易推理,但在16,64和256个核心上运行的各种基准测试中,其性能与目录协议相似。
2015-09-23 cs.DC
An Initial Evaluation of Distributed Graph Algorithms using NWGraph and HPX
Louisiana State University(路易斯安那州立大学)
本文提出基于HPX的分布式图算法实现,评估BFS和PageRank性能,显示BFS优于BGL,但PageRank仍有优化空间。
2026-01-26 cs.DC
Self-Evolving Distributed Memory Architecture for Scalable AI Systems
Pacific Coast University(太平洋海岸大学);Tongji University(同济大学);Institute for Intelligent Systems, Northern Research Laboratory(北方研究实验室智能系统研究所)
本文提出一种三层架构,通过动态内存管理提升AI系统在计算、通信和部署层的效率,实现内存利用率提升和通信延迟降低。
2026-05-16 cs.DC
Analytical Estimation of the Scalability of Iterative Numerical Algorithms on Distributed Memory Multiprocessors
本文提出了一种新的高级并行计算模型BSF-Bulk Synchronous Farm。BSF模型扩展了BSP模型,以处理在分布式内存多处理器系统上执行的计算密集型迭代数值方法。BSF模型基于主-工作者范式和SPMD编程模型。BSF模型使得能够以很高的精度预测BSF程序的可伸缩性上界。BSF模型还提供了用于估计BSF程序的加速比和并行效率的方程。
2017-11-10 cs.DC
Notes on Theory of Distributed Systems
本文总结了分布式系统理论的核心概念和方法,涵盖了广播、共识算法、故障容忍、共享内存等关键技术,并探讨了分布式算法的理论基础和实现挑战。
2026-05-18 cs.DC
Distributed-Memory Vertex-Centric Network Embedding for Large-Scale Graphs
网络嵌入是基于图数据的各种计算中的重要步骤。然而,现有的方法仅限于具有少于一百万条边的小型或中型图。在实践中,web或社交网络图是更大的数量级,因此使得大多数当前方法对于非常大的图是不切实际的。为了解决这个问题,我们介绍了一种新的分布式内存并行网络嵌入方法基于Apache Spark和GraphX。我们证明了我们的方法的可扩展性,以及它的能力,以产生有意义的嵌入顶点分类和链接预测在现实世界和合成图。
2020-06-07 cs.DC
Software-Distributed Shared Memory for Heterogeneous Machines: Design and Use Considerations
分布式共享内存(DSM)允许使用方便的共享内存编程模型将应用程序实现和部署到分布式体系结构上,在该模型中,一组任务能够分配和访问数据,而不管它们的远程本地化。随着HPC和嵌入式环境中分布式异构体系结构的发展,人们对诸如DSM之类的系统重新产生了兴趣,这些系统简化了复杂硬件的可编程性。在这份报告中,一些设计考虑,建立一个完整的软件DSM(S-DSM)。这个S-DSM被称为SAT(Share Among Things),是在欧洲项目M2 DC(Modular Microserver DataCentre)的框架内由CEA(法国替代能源和原子能委员会)开发的,以解决在微服务器架构上管理共享数据的问题。S-DSM的特点是将大型数据自动分解为称为块的原子块,可以部署多个一致性协议来管理不同的块,基于事件编程的混合编程模型和微睡眠机制来减少消息接收的能耗。
2020-09-03 cs.DC
DASHMM Accelerated Adaptive Fast Multipole Poisson-Boltzmann Solver on Distributed Memory Architecture
我们提出了一个更新版本的AFMPB软件包的快速计算分子的溶剂化自由能。新版本的主要特点是成功采用了DASHMM库,使AFMPB能够在分布式内存计算机上运行。因此,新版本可以轻松处理更大的分子或精度要求更高的情况。为了演示更新后的代码,我们将新版本应用于一个拥有超过100万个原子和大约2000万个三角形网格的登革热病毒系统,并且能够将解决问题的时间从上一版本中报告的10小时减少到使用12,288个核心的Cray XC 30集群上的不到30秒。
2017-10-17 cs.DC
Atomic RMI 2: Highly Parallel Pessimistic Distributed Transactional Memory
分布式事务存储器(DTM)是一种新兴的分布式同步方法,它基于事务抽象在分布式计算中的应用。DTM有几种系统模型,但控制流模型(CF)特别强大,因为它允许事务将计算委托给远程节点以及访问共享数据。然而,没有现有的CF DTM系统与在其他模型中操作的最先进的系统具有同等的性能。因此,我们介绍了一个CF DTM同步算法,OptSVA-CF。它支持细粒度的悲观并发控制,因此避免了中止,从而避免了不可撤销操作的问题。此外,它使用早期发布和可扩展性来高度并行并发事务,同时保持强大的安全属性。我们将其实现为Atomic RMI 2,实际上产生了一个CF DTM系统,正如我们的评估所示,它可以胜过最先进的非CF DTM,如HyFlow 2。
2016-06-13 cs.DC
A Complexity Separation Between the Cache-Coherent and Distributed Shared Memory Models
我们考虑异步多处理器系统中的进程通过访问共享内存进行通信。在这样的多处理器中的进程之间的信息交换需要称为\emph{remote memory references}(RMR)的昂贵的存储器访问,其在连接处理器和主存储器的互连上生成通信。在本文中,我们比较了两种流行的共享内存架构模型,即\emph{cache-coherent}(CC)和\emph{distributed shared memory}(DSM)模型,在他们的权力有效地解决同步问题的RMR。我们考虑的特定问题需要一个进程向其他进程的子集发送“信号”。我们表明,这个问题的一个变种可以非常有效地解决相对于RMR的CC模型,但不是这样的DSM模型,即使我们考虑摊销RMR的复杂性。据我们所知,这是CC和DSM模型之间在摊销RMR复杂性方面的第一次分离。它也是第一个在RMR复杂性方面的分离(对于异步系统),它不以任何方式依赖于等待自由-一个过程在有限数量的自己的步骤中取得进展的要求。
2011-09-23 cs.DC
A Simple Communication Scheme for Distributed Fast Multipole Methods
Graphcore(格科)
本文提出基于MPI邻域集体和统一树的简单分层通信方案,用于将现有的高性能共享内存统一树FMM实现扩展到分布式内存,同时保持共享内存优化。
2026-04-30 cs.DC
A sparsity-aware distributed-memory algorithm for sparse-sparse matrix multiplication
提出一种分布式内存1D SpGEMM算法,利用MPI RDMA和块获取策略降低通信成本,在多种配置下优于CombBLAS中的2D和3D实现。
2024-08-26 cs.DC
Making local algorithms efficiently self-stabilizing in arbitrary asynchronous environments
本文提出转换器,将任意终止型同步局部算法转为在不公平守护进程下移动与轮数均高效的异步静默自稳定算法,并给出着色、BFS树、k-聚类和领导者选举实例。
2023-07-13 cs.DC
A Distributed Shared Memory Model and C++ Templated Meta-Programming Interface for the Epiphany RISC Array Processor
Adapteva Epiphany众核架构包括一个可扩展的2D网状片上网络(NoC),由低功耗RISC内核组成,具有最少的非核功能。尽管这样的处理器提供了高计算能量效率和并行可扩展性,但开发解决独特架构特征的有效编程模型已经提出了许多挑战。我们在这里提出了一个分布式共享内存(DSM)模型支持软件透明使用C++模板元编程技术。该方法提供了一个非常简单的并行编程模型非常适合的架构。初步结果表明,该方法,并提供洞察的编程模型的效率和能力的NoC支持DSM没有明确的控制数据移动和本地化。
2017-04-26 cs.DC
Programming Strategies for Irregular Algorithms on the Emu Chick
Emu Chick原型在一个新颖的硬件系统中实现了迁移存储器端处理。Emu Chick不是通过系统互连传输大量数据,而是在每次远程内存读取开始之前将轻量级线程上下文移动到近内存核心。以前的工作的特点是性能的小鸡原型方面的内存带宽和编程的差异,从更典型的,非迁移平台,但还没有一个分析的算法在这个系统上。这项工作评估不规则的算法,可以受益于轻量级的,内存侧处理的小鸡,并展示了技术和优化策略,实现性能稀疏矩阵向量乘法运算(SpMV),广度优先搜索(BFS),并在多达8个分布式节点,包括64 nodelets在小鸡系统中的图形对齐。我们还定义和证明相对指标比较原型FPGA为基础的硬件与既定的ASIC架构。Chick目前支持高达68倍的图形对齐缩放,80 MTEPS的平衡图形上的BFS,以及50%的SpMV测量STREAM带宽。
2018-12-03 cs.DC
Elastic Resource Allocation for Distributed Graph Processing Platforms
像Pregel这样的分布式图形平台已经使用顶点中心编程模型来使用商品集群处理不断增长的图形数据集语料库。图的不规则结构导致在图分区上操作的机器之间的负载不平衡,并且这对于诸如遍历的非静态图算法(其中不是图的所有部分都同时活动)而言是加剧的。因此,这样的图形平台,即使它们扩展,也不能有效地利用分布式资源。云提供了弹性虚拟机,可以利用这些虚拟机来提高这些平台的资源利用率,从而降低其执行的货币成本。在本文中,我们针对以子图为中心的编程模型提出了在云虚拟机上弹性放置图分区的策略,以与静态放置相比降低执行成本,即使我们最大限度地减少了完工时间的增加。这些策略在对图算法行为建模方面具有创新性。我们验证了我们的战略,几个图形,使用运行时的交易,他们的分布式执行的广度优先搜索(BFS)算法在我们的子图为中心的GoFFish图平台。与静态布局相比,我们的策略能够将执行成本降低高达42%,同时实现最大完工时间在最佳值的29%以内
2015-10-12 cs.DC
In-Memory Indexed Caching for Distributed Data Processing
强大的抽象,如嵌入式框架,其效率仅与其底层运行时系统一样高。事实上的分布式数据处理框架Apache Spark不太适合现代基于云的数据科学工作负载,因为它的假设已经过时:使用粗粒度转换分析静态数据集。在本文中,我们介绍了索引数据帧,内存中的高速缓存,支持一个抽象的结构,它结合了索引功能,以支持快速查找和连接操作。此外,它支持多版本并发控制的追加。我们将Indexed DataFrame实现为一个轻量级的独立库,可以以最小的努力集成到现有的Spark程序中。我们使用Apache Spark和Databricks SDK分析了索引数据帧在集群和云部署中的性能,并使用真实的数据集和基准测试。在我们的评估中,我们表明,索引的DataFrame显着加快查询执行相比,非索引的DataFrame,产生适度的内存开销。
2022-02-08 cs.DC
Justin: Hybrid CPU/Memory Elastic Scaling for Distributed Stream Processing
Justin是一种针对分布式流处理的混合CPU/内存自动伸缩器,通过细粒度内存分配和压力感知策略,在Apache Flink中实现,以更少资源支持目标速率。
2025-05-26 cs.DC
On the Performance and Memory Footprint of Distributed Training: An Empirical Study on Transformers
本文针对 Transformer 分布式训练,提出兼顾架构、并行策略与计算内存开销的分析框架,并通过理论与实验比较证明流水线并行的优势及划分、通信因素的影响。
2024-07-02 cs.DC
Breadth-First Depth-Next: Optimal Collaborative Exploration of Trees with Low Diameter
我们认为,由Fraigniaud,Gasieniec,Kowalski,和Pelc的$k$代理团队的任务是集体尽可能快地通过一个未知的树的所有边缘的协作树探索的问题。Fraigniaud等人的$\mathcal{O}(n/\log(k)+D)$算法用$n$表示节点的总数,用$D$表示树的深度,实现了关于离线探索成本的最著名的竞争比,即$Θ(\max{\{2n/k,2D\}})$。Brass、Cabrera-Mora、Gasparri和Xiao考虑了另一种性能标准,即相对于$2n/k$的附加开销,并获得了$2n/k+\mathcal{O}((D+k)^k)$运行时保证。在本文中,我们介绍了“广度优先深度下一个”(BFDN),一种新颖而简单的算法,执行协作树探索的时间$2n/k+\mathcal{O}(D^2\log(k))$,从而优于黄铜等。所有值的$(n,D)$和顺序最优的深度$D=o_k(\sqrt{n})$的所有树。此外,Disser等人最近的结果表明,没有探索算法可以实现$2n/k+\mathcal{O}(D^{2-ε})$运行时保证。在$D^2$中,我们的界的依赖性在这个意义上是最优的。我们的结果的证明关键依赖于一个相关的两人博弈的分析。我们将BFDN的保证扩展到:内存和通信有限的场景,可以阻止机器人的对抗设置,以及探索非树图类。最后,我们提供了一个递归版本的BFDN与运行…
2023-01-30 cs.DC cs.DS
Most memory efficient distributed super points detection on core networks
超级主持人是一种特殊的主持人,是一种能够与众多的主持人进行交流的主持人。网络边缘超点挖掘是网络研究的基础。本文提出了一种存储效率最高的超点检测方案。该方案包括一个超点重建算法(短估计器)和一个超点滤波算法(长估计器)。短估计器使用数千字节的存储器给出超级点候选列表,长估计器使用数百万字节的存储器提高检测结果的准确性。结合短估计器和长估计器,我们的方案获得了最高的精度,使用最小的内存比其他算法。在我们的方案中没有数据冲突和浮动操作。这确保了我们的方案适合并行运行,我们将我们的方案部署在一个共同的GPU上,以加快处理速度。我们还描述了如何将我们的算法扩展到滑动时间。在几个真实的核心网络流量上的实验表明,该算法仅占用其他算法的五分之一的内存,就获得了最高的准确率。
2019-01-26 cs.DC
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
Optimizing Memory Allocation in Distributed Clusters with Predictive Modeling
TU Berlin(柏林工业大学)
本文提出基于LightGBM和XGBoost集成的回归方法,通过乘法安全因子减少内存不足任务并降低过度分配,实测数据表明内存不足率从4.17%降至2.89%,过度分配率从148%降至44.51%。
2026-04-20 cs.DC
Distributed Out-of-Memory SVD on CPU/GPU Architectures
我们提出了一种高效的,分布式的,内存不足的异构(CPU+GPU)高性能计算(HPC)系统的截断奇异值分解(t-SVD)的实现。奇异值分解的各种实现方式已经被提出,但大多数只估计奇异值作为奇异向量的估计,这会显著增加算法的时间和存储复杂度。在这项工作中,我们提出了一种基于幂方法的奇异值分解的实现,这是一种截断奇异值和奇异向量估计方法。在幂方法中看到的存储器利用瓶颈通常与Gram矩阵$\mat{A}^T\mat{A}$的计算相关联,当$\mat{A}$较大且密集时,或者当$\mat{A}$超大且稀疏时,这可能是显著的。所提出的实现是针对内存不足的问题进行优化的,其中分解给定矩阵所需的内存大于可用的GPU内存。我们降低了内存的复杂性,$\mat{A}^T\mat{A}$通过使用一个中间因素计算块块的并行策略。我们还通过使用CUDA流将每个批处理副本与计算重叠来抑制与主机到设备(H2 D)和设备到主机(D2 H)批处理副本相关的I/O延迟。此外,我们使用优化的\textit{NCCL}为基础的通信,以减少与集体通信(包括节点内和节点间)的延迟。此外,稀疏和密集矩阵乘法通过GPU内核(或张量内核(如果可用))显著加速,从而实现良好的扩展性。我们展示了我们的分布式核外SVD算法的可扩展性,成功地分解了大小为1 TB的密集矩阵和大小为128 PB的稀疏矩阵,稀疏度为1 e-6。
2022-08-17 cs.DC
Scaling Shared-Memory Data Structures as Distributed Global-View Data Structures in the Partitioned Global Address Space model
分区全局地址空间(PGAS)是一种内存模型,其中全局地址空间在集群中的计算节点之间显式分区,致力于弥合共享内存和分布式内存编程之间的差距。为了进一步弥合这一差距,已经采用了全局视图分布式数据结构,例如“全局数组”或“分布式数组”。这项工作演示了如何共享内存数据结构可以修改,以规模在分布式内存。本文提出了一种分布式互锁哈希表(DIHT),它是从互锁哈希表(IHT)中引入的全局视图分布式映射数据结构。在64个节点上,每个节点44个核心,DIHT提供了高达110倍的Chapel标准库HashedDist的性能。
2021-11-30 cs.DC cs.DS
An Optimal Level-synchronous Shared-memory Parallel BFS Algorithm with Optimal parallel Prefix-sum Algorithm and its Implications for Energy Consumption
我们提出了一种高效的并行级同步宽度优先搜索(BFS)算法的共享存储器架构,实现了理论上的并行运行时间的下限。无论图的形状如何,最优性都保持不变。我们还证明了这一最优方案的能源消耗经验的含义。关键的想法是永远不要使用超过必要的处理核心来有效地完成任何计算步骤中的工作。我们保持其余的核空闲以节省能量并减少其他资源争用(例如,带宽、共享高速缓存等)。我们的BFS不使用锁和原子指令,并且很容易扩展到共享内存协处理器。
2022-09-19 cs.CC cs.DC cs.DS
Multicore-aware parallel temporal blocking of stencil codes for shared and distributed memory
需要新的算法和优化技术来平衡带宽匮乏的多核芯片的加速趋势。众所周知,模板代码的性能可以通过时间分块来改善,从而减轻对存储器接口的压力。我们介绍了一种新的流水线的方法,使显式使用共享缓存在多核环境中,最大限度地减少同步和边界开销。对于共享内存节点的集群,我们演示了如何在混合共享/分布式内存环境中成功地采用时间块。
2009-12-22 cs.DC cs.PF