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
PULSE: Accelerating Distributed Pointer-Traversals on Disaggregated Memory (Extended Version)
针对分解内存架构中CPU缓存无法提升链式结构指针遍历性能的问题,设计了靠近内存、兼顾表达性、能效与分布式执行的PULSE框架,实验证明其可显著提升相关工作负载的性能与能效。
2024-12-15 cs.DC
Distributed-Memory Breadth-First Search on Massive Graphs
本章研究在分布式内存超级计算机上使用广度优先搜索顺序遍历大型图的问题。我们既考虑了传统的层次同步自顶向下算法,也考虑了最近发现的方向优化算法。我们分析了使用不同的本地数据结构,如CSR和DCSC,使节点内多线程,和图形分解,如1D和2D分解的性能和可扩展性的权衡。
2017-05-10 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
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
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
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
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
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
In-Memory Indexed Caching for Distributed Data Processing
强大的抽象,如嵌入式框架,其效率仅与其底层运行时系统一样高。事实上的分布式数据处理框架Apache Spark不太适合现代基于云的数据科学工作负载,因为它的假设已经过时:使用粗粒度转换分析静态数据集。在本文中,我们介绍了索引数据帧,内存中的高速缓存,支持一个抽象的结构,它结合了索引功能,以支持快速查找和连接操作。此外,它支持多版本并发控制的追加。我们将Indexed DataFrame实现为一个轻量级的独立库,可以以最小的努力集成到现有的Spark程序中。我们使用Apache Spark和Databricks SDK分析了索引数据帧在集群和云部署中的性能,并使用真实的数据集和基准测试。在我们的评估中,我们表明,索引的DataFrame显着加快查询执行相比,非索引的DataFrame,产生适度的内存开销。
2022-02-08 cs.DC
Distributed Graph Layout for Scalable Small-world Network Analysis
内存中的图形布局或组织对分布式内存图形计算的时间和能量效率具有相当大的影响。它影响内存局部性、任务间负载平衡、通信时间和整体内存利用率。图形布局可以指顶点和边数组的分区或复制、保存元数据的数据结构的选择性复制以及顶点和边标识符的重新排序。在这项工作中,我们提出了DGL,一个快速,并行和内存高效的分布式图形布局策略,是专门为小世界网络(低直径图与倾斜的顶点度分布)。基于标签传播的分区和可扩展的基于BFS的排序是布局策略中的主要步骤。我们表明,DGL布局可以显着提高五个具有挑战性的图分析工作负载的端到端性能:PageRank,一个并行子图枚举程序,调整实现的广度优先搜索和单源最短路径,和RDF 3X-MPI,一个分布式SPARQL查询处理引擎。使用这些基准测试,我们还提供了一个全面的分析,关于图布局如何影响具有可变计算和通信特性的图分析的性能。
2017-01-02 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
Optimizations to the Parallel Breath First Search on Distributed Memory
图及其遍历由于其适用于数学、科学和技术的各个领域而变得越来越重要。生物化学(基因组学)、电子工程(通信网络)、计算机科学(算法和计算)等领域的各种问题都可以建模为图问题。真实世界的场景,包括社区,他们的相互联系和相关的属性可以使用图进行研究。因此快速、可扩展、低成本地执行并行图算法是非常重要的。在这个实现中的并行宽度优先搜索的图形,我们实现了并行BFS算法与1-D分区的图中所描述的[2],并已减少了执行时间,通过优化通信的本地缓冲区。
2020-03-10 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
Families of Distributed Memory Parallel Graph Algorithms from Self-Stabilizing Kernels-An SSSP Case Study
自稳定算法是一个重要的,因为它们的鲁棒性和保证收敛。自稳定算法从任意状态开始,保证收敛到一个合法的状态,但当性能和可扩展性很重要时,这些算法不能直接用于解决分布式图处理问题。在本文中,我们展示了“抽象图机”(AGM)模型,可用于转换自稳定算法的形式适合于分布式图形处理。AGM是一种在图上并行计算的数学模型,它为自稳定算法添加了工作依赖性和排序。使用AGM模型,我们表明,一些现有的分布式单源最短路径(SSSP)算法实际上是自稳定SSSP的专业化。我们扩展AGM模型,在不同的空间层次上应用更细粒度的排序,以获得额外的可扩展的SSSP算法的变体,基本上使算法能够为特定的目标架构生成。实验结果表明,这种方法可以产生新的算法变种,优于标准的分布式算法SSSP。
2017-06-19 cs.DC
Regional Consistency: Programmability and Performance for Non-Cache-Coherent Systems
并行程序员面临着可编程性和性能这两个经常不可调和的目标。HPC系统使用分布式存储器来实现可扩展性,从而牺牲了共享存储器编程模型的可编程性优势。此外,异构体系结构的快速采用(通常具有非高速缓存一致性存储器系统)进一步增加了支持共享存储器编程模型的挑战。我们的主要目标是定义一个内存一致性模型,提出了熟悉的基于线程的共享内存编程模型,但允许良好的应用程序性能的非缓存一致性系统,包括分布式内存集群和基于加速器的系统。我们提出了区域一致性(RegC),一个新的一致性模型,实现这一目标。在多达256个处理器的代表性基准测试的结果表明,在我们的原型分布式共享内存系统的背景下,RegC的潜力。
2013-01-18 cs.DC
LOCO: Rethinking Objects for Network Memory
本文提出LOCO库,基于对象编程模型在RDMA上构建多节点通道对象,兼顾性能与简单性,其分布式映射性能优于定制方案。
2025-03-25 cs.DC
MemExchange: Utility-Driven Distributed Memory Reallocation for Multi-Tenant Datacenters
University of Illinois Chicago(伊利诺伊大学芝加哥分校);Microsoft(微软)
研究云环境下内存管理问题,提出MemExchange系统,利用基于在线未命中率曲线估计的边际效用分配,通过RDMA重新分配空闲内存,设计MTC协议支持远程访问,经实验验证其能降低远程访问开销、提高内存利用率并降低租户未命中率。
2026-07-15 cs.DC
Addressing NameNode Scalability Issue in Hadoop Distributed File System using Cache Approach
Hadoop是一种分布式批处理基础设施,目前正用于大数据管理。Hadoop的基础由Hadoop分布式文件系统或HDFS组成。HDFS提供了一个客户-服务器的架构,由一个NameNode和许多DataNode组成。NameNode存储DataNode的元数据,DataNode存储应用程序数据。NameNode将文件系统元数据保存在内存中,因此对文件系统中文件数量的限制由NameNode上的内存量控制。因此,当NameNode上的内存已满时,就没有进一步增加集群容量的机会了。在本文中,我们使用了缓存的概念来处理NameNode可伸缩性的问题。本文的重点是强调我们的方法,试图增强当前的架构,并确保NameNode不会很快达到其阈值。
2014-11-25 cs.DC
Accelerating Distributed-Memory Autotuning via Statistical Analysis of Execution Paths
大规模自动性能调优的高昂费用在很大程度上限制了对共享内存和GPU架构库的自动调优。我们介绍了一个框架,近似自动调整,实现了所需的信心,在每个算法配置的性能,通过构建置信区间来描述个别内核(基准程序的子程序)的性能。一旦内核的性能被认为对于一组输入是足够可预测的,则避免后续调用,并用执行时间的预测模型代替。然后,我们利用在线执行路径分析来协调选择性的内核执行和传播每个内核的统计配置文件。这种策略在频繁循环的计算和通信内核的存在下是有效的,这是数值线性代数算法的特征。我们封装这个框架的一部分,一个新的分析工具,克里特,自动内核执行决策和传播统计配置文件沿关键路线的执行。我们使用Stampede2上最先进的Cholesky和QR分解的分布式内存实现来评估我们的选择性执行方法所获得的性能预测准确性,并展示了高达7.1倍的速度提升和98%的预测准确性。
2021-03-01 cs.DC
Multicore-aware parallel temporal blocking of stencil codes for shared and distributed memory
需要新的算法和优化技术来平衡带宽匮乏的多核芯片的加速趋势。众所周知,模板代码的性能可以通过时间分块来改善,从而减轻对存储器接口的压力。我们介绍了一种新的流水线的方法,使显式使用共享缓存在多核环境中,最大限度地减少同步和边界开销。对于共享内存节点的集群,我们演示了如何在混合共享/分布式内存环境中成功地采用时间块。
2009-12-22 cs.DC cs.PF
Distributed K-Backup Placement and Applications to Virtual Memory in Real-World Wireless Networks
在$\mathcal{CONGEST}$分布式设置中的网络中的备份放置问题考虑网络图$G = (V,E)$,其中每个顶点$v \in V$的目标是选择邻居,使得$V$中选择相同顶点的顶点的最大数量被最小化[Halldorsson等人,2015年]。以往的备份放置算法忽略了实际异构无线网络中的主要因素。具体地,没有考虑节点的存储器和存储容量,并且没有参考节点具有不同能量容量的情况,因此可以在任何时间离开(或加入)网络。这些参数在无线网络中密切相关,因为网络不同部分的负载可能差异很大,因此需要更多的通信、能量、内存和存储。为了适应现实世界的无线网络的属性,这项工作解决了一个广义版本的原始问题,即$K$ -备份放置,其中每个顶点选择$K$邻居,为一个积极的参数$K$。我们的$K$ -备份放置算法仅在一轮内终止。此外,我们提出了两个互补的算法,采用$K$ -备份放置,以获得有效的虚拟内存计划的无线网络。第一个算法将每个节点的内存分成许多小部分。每个顶点都被分配了它的邻居的一个大子集的记忆。因此,更多的内存容量为更多的顶点获得,但有很多碎片。第二种算法需要更大的轮复杂度,但为每个顶点产生更大的虚拟内存而没有任何碎片。
2020-06-20 cs.DC
DRust: Language-Guided Distributed Shared Memory with Fine Granularity, Full Transparency, and Ultra Efficiency
本文提出基于 Rust 所有权语义的分布式共享内存系统 DistR,利用语言级所有权约束简化一致性实现,在吞吐量上最高超过 GAM 2.64 倍、Grappa 29.16 倍,并具有更好的可扩展性。
2024-06-27 cs.DC
Distributed Semi-Speculative Parallel Anisotropic Mesh Adaptation
Center for Real-time Computing, Old Dominion University(实时计算中心,老道明大学)
本文提出一种分布式内存方法,通过分离网格生成与性能,实现高效各向异性网格自适应,生成高质量网格并保持性能优势。
2026-02-16 cs.DC
Distributed-Memory Parallel Algorithms for Sparse Matrix and Sparse Tall-and-Skinny Matrix Multiplication
针对稀疏矩阵与高瘦矩阵乘法(TS-SpGEMM)的性能瓶颈,提出一种基于定制1D划分和稀疏感知分块的分布式内存算法,结合本地与远程计算降低通信开销,较2D和3D SUMMA平均提升5倍性能,并在512节点上验证了多源广度优先搜索等应用的可扩展性。
2024-08-21 cs.DC
The Computational Power of Distributed Shared-Memory Models with Bounded-Size Registers
本文研究有界大小寄存器是否足以替代无界寄存器实现分布式共享内存模型的普适性,并回答在最多 t 个进程崩溃时该模型是否仍具有普适性。
2023-09-25 cs.DC
A Distributed-Memory Algorithm for Computing a Heavy-Weight Perfect Matching on Bipartite Graphs
我们设计并实现了一个有效的并行算法,在加权二分图中找到一个完美的匹配,这样的匹配的边缘上的权重是大的。该问题不同于最大权重匹配问题,对于最大权重匹配问题,已知可缩放的近似算法。它的主要动机是在因式分解之前在可扩展的稀疏直接求解器中找到好的枢轴。由于缺乏可扩展的替代方案,分布式求解器使用最大权重完美匹配算法的顺序实现,例如MC64中可用的那些。为了克服这一限制,我们提出了一个完全并行的分布式内存算法,首先生成一个完美的匹配,然后迭代地提高完美匹配的权重,通过搜索长度为4的权重增加循环并行。对于大多数实际问题,我们的算法产生的完美匹配的权重非常接近最优。该算法的有效实现在Cray XC 40超级计算机上扩展到256个节点(17,408个核心),并且可以使用顺序算法解决单个节点无法处理的过大实例。
2020-09-04 cs.DC
Hierarchical Dynamic Loop Self-Scheduling on Distributed-Memory Systems Using an MPI+MPI Approach
计算密集型循环是科学应用中并行性的主要来源。这样的循环通常是不规则的,并且它们的循环迭代的平衡执行对于实现高性能是至关重要的。然而,有几个因素可能导致不平衡的负载执行,例如问题特征、算法和系统变化。动态循环自调度(DLS)技术的目的是减轻这些因素,从而提高应用程序的性能。在分布式存储器系统上,DLS技术可以使用分层的主-工作者执行模型来实现,因此被称为分层DLS技术。这些技术在两个硬件并行级别上自调度循环迭代:跨计算节点和计算节点内。结合消息传递接口(MPI)和开放多处理(OpenMP)的混合编程方法主导了分层DLS技术的实现。MPI-3标准包括在MPI进程之间共享内存区域的特性。该特性引入了MPI+MPI方法,简化了并行科学应用程序的实现。本工作设计和实现分层DLS技术,利用MPI+MPI的方法。四个众所周知的DLS技术被认为是在这里提出的评估。结果表明,所提出的方法相比,混合MPI+OpenMP方法的某些性能优势。
2019-03-22 cs.DC
Lifetime-Based Memory Management for Distributed Data Processing Systems
中间数据的内存缓存和洗牌缓冲区中数据的急切组合已被证明在最大限度地减少Spark和Flink等分布式数据处理系统中的重新计算和I/O成本方面非常有效。然而,也有广泛报道称,这些技术会在堆中创建大量的长期数据对象,这可能会使垃圾收集器迅速饱和,特别是在处理大型数据集时,因此会限制系统的可伸缩性。为了解决这一问题,提出了一种基于生命周期的存储管理框架,该框架通过自动分析用户定义的函数和数据类型,获得数据对象的预期生命周期,然后相应地分配和释放存储空间,以最小化垃圾回收开销。特别是,我们提出了Deca,这是我们在Spark之上的建议的具体实现,它透明地将具有相似生命周期的对象分解和分组到字节数组中,并在它们的生命周期结束时完全释放它们的空间。一项使用合成数据集和真实数据集的广泛实验研究表明,与Spark相比,Deca能够1)将垃圾回收时间减少高达99.9%,2)在没有数据溢出的情况下,执行时间加速高达22.7倍,在有数据溢出的情况下加速41.6倍,3)消耗的内存减少高达46.6%。
2016-05-22 cs.DC
A New High Performance and Scalable SVD algorithm on Distributed Memory Systems
本文介绍了\texttt{Zolo-SVD}算法在分布式内存系统上的高性能实现,该算法基于由Nakatsukasa和Freund最初提出的Zolotarev函数(\texttt{Zolo-PD})的极分解(PD)算法[SIAM Review,2016]。我们的实现高度依赖于ScaLAPACK的例程,因此它是可移植的。与基于QR的动态加权Halley方法(\texttt{QDWH-PD})等PD算法相比,\texttt{Zolo-PD}具有自然的并行性和更好的可扩展性,但需要执行更多的浮点运算。当使用许多进程时,\texttt{Zolo-PD}通常比\texttt{QDWH-PD}算法快1.20倍,\texttt{Zolo-SVD}可以比ScaLAPACK例程\texttt{\texttt{PDGESVD}}快大约两倍。这些数值实验是在世界上最快的超级计算机之一天河二号上进行的,测试的矩阵包括一些特定应用中的稀疏矩阵和一些随机生成的不同维数的稠密矩阵。我们的\texttt{QDWH-SVD}和\texttt{Zolo-SVD}实现可从https://github.com/shengguolsg/Zolo-SVD免费获得。
2018-06-16 cs.DC
External Memory based Distributed Generation of Massive Scale Social Networks on Small Clusters
小型分布式系统受其主存储器的限制,无法生成超大型图形。对当前图形生成器进行简单扩展以利用外部存储器会导致大量的随机I/O,因此不会随大小而扩展。在这项工作中,我们提供了一种技术来生成大规模的图形上的小集群的计算节点有限的主内存。我们开发了几个分布式和外部存储器算法,主要是,洗牌,重新标记,重新分配,和压缩稀疏行(csr)转换。这些算法在MPI/pthread模型中实现,以帮助在每个核内的多核之间并行化操作。使用我们的方案,它是可行的,以产生一个图形的大小$2^{38}$节点(规模38),只使用64个计算节点。这可以与目前的方案相比,假设64 GB的主内存,至少需要8192个计算节点。我们的工作对外部存储器图形库(如STXXL)和基于SSD的超级计算机(如Dash和Gordon)上的图形处理具有更广泛的影响[1][2]。
2012-09-30 cs.DB cs.DC
Helenos: A Realistic Benchmark for Distributed Transactional Memory
transmittedmemory(TM)是一种并发控制方法,旨在使编写并行程序既有效又简单。该方法开始于非分布式多处理器系统,但在分布式系统中越来越流行,以大规模同步任务。效率和可扩展性是TM研究中的关键问题,因此性能基准测试是TM研究的重要组成部分。然而,尽管标准TM基准测试(如STAMP套件和STMBench7)可用并被广泛接受,但它们并不能很好地转换到分布式系统中。因此,可用于分布式TM系统的基准测试集非常有限,必须用微基准测试来填充,微基准测试的简单性和人工性质通常使它们无法提供信息或误导。因此,本文介绍了Helenos,一个现实的,复杂的,全面的分布式TM基准测试的基础上的问题,Facebook的收件箱,Cassandra分布式存储的应用程序。
2016-03-30 cs.DC cs.PF
Distributed-Memory Parallel Algorithms for Counting and Listing Triangles in Big Graphs
在许多应用领域中出现的大图(网络)对图分析师提出了重大挑战,因为这些图增长到数十亿个节点和边,并且大到无法容纳在主内存中。求图中三角形个数是图挖掘和分析中的一个重要问题。在本文中,我们提出了两个有效的基于MPI的分布式内存并行算法计数三角形的大图。第一个算法采用重叠分区和有效的负载均衡计划,以提供一个非常快的并行算法。该算法可以很好地扩展到具有数十亿个节点的网络,并且可以在16分钟内计算出具有100亿条边的网络中三角形的确切数量。第二种算法将网络划分为不重叠的分区,从而产生空间有效的算法。我们在人工和真实世界的网络上的结果表明,该算法显着节省空间。我们还提出了一种新的方法,大大降低了通信成本,导致算法的空间和运行时高效的算法。此外,我们演示了我们的算法可以用来列出所有的三角形在一个图形和计算聚类系数的节点。我们的算法也可以适用于并行近似算法使用边缘稀疏化方法。
2017-06-16 cs.DC
Toward Interlanguage Parallel Scripting for Distributed-Memory Scientific Computing
Python和R等脚本语言由于其强大的功能和表现力以及可用的库,已被广泛用作科学软件的生产性开发工具。然而,在诸如IBM Blue Gene/Q或Cray XE 6的大规模并行计算机系统上部署脚本化应用程序是一个挑战,因为存在包括操作系统限制、互操作性挑战、由于脚本化方法中常见的小文件系统访问而导致的并行文件系统开销以及其他问题的问题。我们在这里提出了一种新的方法来解决这些问题,其中Swift脚本系统用于集成用Python,R和Tcl编写的高级脚本,与用C,C++和Fortran开发的本地代码,通过将Swift链接到脚本解释器的库接口。在这种方法中,Swift处理分布式内存进程之间的数据管理、移动和编组,而无需用户直接操作低级通信库(如MPI)。我们提出了一种技术,有效地启动脚本的应用程序在大型超级计算机上使用分层编程模型。
2021-07-06 cs.DC
L-DQN: An Asynchronous Limited-Memory Distributed Quasi-Newton Method
本文提出了一种在主/工通信模型下求解经验风险最小化问题的分布式算法L-DQN。L-DQN是一种支持工作节点间异步计算的分布式有限内存拟牛顿法。我们的方法在存储和通信成本方面都是有效的,即,在每次迭代中,主节点和工作节点传送大小为$O(d)$的向量,其中$d$是决策变量的维数,并且每个节点上所需的存储器量是$O(md)$,其中$m$是可调参数。据我们所知,这是第一个分布式拟牛顿法与可证明的全球线性收敛保证在异步设置节点之间的延迟。数值实验验证了该方法的理论和实际性能。
2021-09-04 cs.DC math.OC
Block Distributed Majorize-Minimize Memory Gradient Algorithm and its application to 3D image restoration
现代3D图像恢复问题需要强大的优化框架来处理高维问题,同时在合理的时间内提供可靠的数值解。在这个角度来看,异步并行优化算法已经收到了越来越多的关注,克服内存限制问题和通信瓶颈。针对大规模非凸可微最优化问题,提出了一种块分布式优化算法BD 3 MG。假设一个分布式存储器环境中,该算法铸造成更小的维度子问题的变量块以异步方式解决的高效3 MG计划。在温和的假设下,建立了建议的BD 3 MG方法的序列的收敛性。应用程序的深度变化模糊退化的3D图像的恢复表明,我们的方法产生显着的计算时间减少相比,几个同步和异步的竞争对手,同时表现出很大的可扩展性潜力。
2020-06-25 cs.DC math.OC
Communication Lower Bounds for Distributed-Memory Computations
我们给出了下限的通信复杂性需要解决几个计算问题,在分布式存储器并行机,即标准矩阵乘法,模板计算,比较排序,和快速傅立叶变换。我们重新审视的假设下,得出前面的结果,并提供新的下限,使用弱得多,适当的假设。我们的边界依赖于一个温和的假设工作分布,并加强以前的结果,需要计算之间的处理器平衡,或特定的初始分布的输入数据,或处理器的本地存储器的大小上界。
2013-09-20 cs.DC cs.DS