Mist: Efficient Distributed Training of Large Language Models via Memory-Parallelism Co-Optimization
University of Toronto(多伦多大学);Vector Institute(向量研究所);CentML(森特ML公司)
提出Mist自动分布式训练系统,通过内存-并行度协同优化、重叠感知调度和分层调优,显著提升大语言模型训练效率,平均加速1.28倍和1.27倍。
2025-03-24 cs.AI cs.DC
Dynamic Loop Parallelisation
嵌套循环的区域是高性能计算(HPC)代码的常见特征。在共享内存编程模型中,如OpenMP,这些结构是最常见的并行性来源。并行化这些结构需要程序员对如何应用并行性做出静态决定。然而,取决于问题的参数和代码的性质,关于哪个循环并行化的静态决策可能不是最优的,特别是因为它们不允许利用执行的任何运行时特性,包括对要并行化的循环的迭代的改变。我们已经开发了一个系统,允许代码在运行时动态选择,什么并行应用于嵌套循环。我们的方法提供动态决策的循环并行显着优于标准的方法来实现这一点,通过OpenMP(使用if子句)。
2012-05-10 cs.DC cs.PL
LB4OMP: A Dynamic Load Balancing Library for Multithreaded Applications
本文提出开源动态负载均衡库 LB4OMP,集成文献中的循环调度算法,实验证明其优于 OpenMP 调度并能提升 MPI+OpenMP 百亿亿次应用性能。
2021-06-09 cs.DC
Extending the Nested Parallel Model to the Nested Dataflow Model with Provably Efficient Schedulers
嵌套并行(也称为fork-join)模型被广泛用于编写并行程序。然而,这两个组合构造,即“$\parallel$“(并行)和“$;$“(串行),不足以表达程序中的“部分依赖性”或“部分并行性”。本文提出了一种新的嵌套组合结构“$\leadsto$“,以处理器和高速缓存无关的方式表示算法中的部分依赖关系,从而将嵌套并行(NP)模型扩展到\emph{Nested Dataflow}(ND)模型.我们重新设计了几个分而治之的算法,从密集的线性代数的ND模型中的动态规划,并证明他们都有最佳的跨度,同时保持最佳的缓存复杂度。我们提出了运行时缓存器的设计,ND程序映射到多核处理器与多个级别的可能共享的高速缓存(即,并行存储器层次结构),并提供理论保证他们的能力,以保持局部性和负载平衡。为此,我们针对ND模型调整了空间有界(SB)调度器。我们表明,我们的算法增加了“并行化”的ND模型,SB的并行化可以使用额外的缓存未命中和运行时间上的渐近最优的界限比在NP模型的处理器数量更大。本文算法的运行时间为$O\left(\frac{\sum_{i=0}^{h-1} Q^{*}({\mathsf t};σ\cdot M_i)\cdot C_i}{p}\right)$,其中$Q^{*}$是任务${\mathsf t}$的缓存复杂度,$C_i$是$i$级缓存的未命中代价,$i$级缓存的大小为$M_i$,$σ\…
2016-02-15 cs.DC
Work-stealing prefix scan: Addressing load imbalance in large-scale image registration
非线性模式(例如,map或reduce)已被证明是并行化高性能应用程序的有效工具。在本文中,我们研究了递归注册的一系列电子显微镜图像-一个耗时和不平衡的计算所需的纳米尺度显微镜分析。我们表明,通过将图像配准转换为前缀扫描的特定实例,我们可以将这个看似顺序的问题转换为可扩展到数千个核心的并行计算。我们分析了各种扫描算法的行为类似于常见的低计算运算符,并提出了一种新的工作窃取程序的层次前缀扫描。我们的评估表明,通过确定合适且优化良好的前缀扫描算法,我们将一系列4,096张图像的解决方案时间从10小时缩短到不到3分钟(使用1024个Intel Haswell内核),这些图像跨越10秒的显微镜采集,从而能够在长显微镜图像系列的纳米尺度下推导材料属性。
2020-10-23 cs.DC
Exploration of Fine-Grained Parallelism for Load Balancing Eager K-truss on GPU and CPU
在这项工作中,我们提出了一个性能探索的渴望K-桁架,线性代数公式的K-桁架图算法。我们提出了一种细粒度的并行方法来执行支持计算,以解决对称,三角图的并行任务的负载不平衡的性能问题。这种方法还增加了可用的并行性,使其适合GPU执行。我们使用Kokkos中的实现演示了我们的细粒度并行方法,并在Intel Skylake CPU和Nvidia Tesla V100 GPU上对其进行了评估。总的来说,我们观察到1.261之间。由于我们的细粒度并行公式,CPU性能提高了48倍,GPU性能提高了9.97- 16.92倍。
2020-09-16 cs.DC cs.PF
Alto: Orchestrating Distributed Compound AI Systems with Nested Ancestry
Brown University(布朗大学);Nvidia(英伟达);Stanford University(斯坦福大学);UC Berkeley(加州大学伯克利分校);Carnegie Mellon University(卡内基梅隆大学)
针对复合 AI 应用因数据粒度异构和流式拆分聚合而难以并行优化的问题,本文提出 Alto 框架,利用自动推断的嵌套谱系元数据跟踪与聚合数据,实现流式并行执行;四个应用相较 LangGraph 延迟改善或持平 10%–30%。
2025-07-22 cs.AI cs.CL cs.DC
Themis: Efficient Sparse Model Training Through Fully Sharded Sparse Data Parallelism
The University of Hong Kong(香港大学)
Themis提出FSSDP方法,通过原位负载均衡与异构分片优化MoE训练,消除专家重排的开销,在2个集群的多样工作负载下实现1.26-2.42倍加速。
2026-08-24 cs.DC
Stripe: Tensor Compilation via the Nested Polyhedral Model
Intel(英特尔公司)
硬件架构和机器学习(ML)库发展迅速。传统的编译器通常无法在各种新硬件产品中生成高性能代码。为了缓解这种情况,工程师们为每个ML库更新和硬件升级开发了手动调优的内核。不幸的是,这种方法需要过多的工程工作来扩展或维护任何程度的最先进的性能。在这里,我们提出了一个嵌套多面体模型表示高度并行化的计算有限的依赖关系之间的迭代。该模型为称为Stripe的中间表示(IR)提供了一个底层框架,该框架适用于标准编译器技术,同时自然地对现代ML计算的关键方面进行建模。Stripe代表了并行性、高效的内存布局和多个计算单元,这些计算单元处于一个可自动优化的抽象级别。我们描述了Stripe如何以LLVM的风格为ML启用编译器,允许独立开发算法,优化和硬件加速器。我们还讨论了Stripe相对于内核库和基于调度或基于调度空间的代码生成的设计探索优势。
2019-03-14 cs.DC cs.LG
KnapFormer: An Online Load Balancer for Efficient Diffusion Transformers Training
Adobe(Adobe公司)
KnapFormer通过全局背包问题优化令牌分配,结合序列并行,在扩散变换器训练中实现负载均衡,消除掉队者,加速2-3倍。
2025-08-08 cs.CV cs.DC
FlashCP: Load-Balanced Communication-Efficient Context Parallelism for LLM Training
Stanford University(斯坦福大学)
提出FlashCP框架,通过分片感知通信消除冗余KV传输,并设计Whole-Doc分片策略与启发式算法,实现负载均衡与通信高效,在多种数据集上取得最高1.63倍加速。
2026-06-07 cs.AI cs.DC
Temporal Load Imbalance on Ondes3D Seismic Simulator for Different Multicore Architectures
该研究针对Ondes3D地震模拟器,评估其在八种不同多核架构、两种地震场景下的性能,发现时间负载不平衡程度依赖所选架构,部分平台可更有效缓解该问题。
2024-09-17 cs.DC cs.PF
A thread-parallel algorithm for anisotropic mesh adaptation
各向异性网格自适应是直接最小化基于网格的仿真的计算成本的有力方法。这是特别重要的多尺度问题,所需的浮点运算的数量可以减少数量级相对于更传统的静态网格方法。有限元和有限体积代码正越来越多地针对现代多核架构进行优化。通常,通过消息传递接口(MPI)实现的分解方法用于节点间并行化,而线程编程模型(如OpenMP)用于节点内并行化。网格自适应的节点间并行已经成功地实现了一些团体。然而,线程级的并行性是更具有挑战性的,因为底层的数据结构广泛修改期间,网格适应和更大程度的并行性必须实现。在本文中,我们描述了一个新的线程并行算法的各向异性网格自适应算法。对于每个网格优化阶段(细化,粗化,交换和平滑),我们描述了如何定义独立的任务集。我们展示了如何延迟更新策略可以用来更新网格数据结构并行,没有数据争用。我们表明,尽管网格自适应性和固有的负载不平衡的网格自适应性的复杂性,60%的并行效率是在8核英特尔至强Sandybridge上实现的,40%的并行效率是在2插槽英特尔至强Sandybridge ccNUMA系统中使用16个内核实现的。
2013-08-12 cs.DC
Two-level Dynamic Load Balancing for High Performance Scientific Applications
科学应用程序通常是复杂的,不规则的,计算密集型的。为了适应科学应用的不断增长的计算需求,高性能计算(HPC)系统已经变得更大且更复杂,从而提供多个级别的并行性(例如,节点、每个节点的核数、每个核的线程数)。科学应用需要利用所有可用的多级硬件并行性来利用可用的计算能力。在这样的HPC系统上执行的应用的性能可能受到由问题、算法和系统特性引起的多个级别的负载不平衡的不利影响。然而,大多数现有的负载均衡方法不能同时解决多个级别的负载不平衡。这项工作调查的影响,负载不平衡的性能上的三个科学应用程序的线程和进程的水平。我们共同申请和评估选定的动态循环自调度(DLS)技术,这两个层次。具体来说,我们采用扩展的LaPeSD OpenMP运行时库在线程级和扩展的DLS4LB基于MPI的动态负载均衡库在进程级。这种方法是通用的,适用于任何多进程多线程计算密集型应用程序(使用MPI和OpenMP编程)。我们进行了详尽的实验,评估和比较六个DLS技术在线程级和11个在进程级。结果表明,只有在这两个级别上联合解决负载不平衡问题,才能将应用程序性能提高21%。我们提供了深入了解所选择的DLS技术的性能,并讨论了线程级和进程级的负载均衡的相互作用。
2019-11-15 astro-ph.IM cs.DC cs.PF
HarMoEny: Efficient Multi-GPU Inference of MoE Models
针对MoE模型多GPU推理中专家与GPU负载不均导致延迟升高的问题,提出HarMoEny方案,通过动态token重分配和专家异步预取实现负载均衡,显著提升吞吐量并降低延迟与GPU空闲时间。
2025-06-17 cs.DC
DCP: Addressing Input Dynamism In Long-Context Training via Dynamic Context Parallelism
The University of Hong Kong(香港大学);Amazon Web Services(亚马逊网络服务)
提出动态上下文并行框架DCP,通过细粒度数据和计算分块及灵活映射,解决长上下文训练中序列长度和注意力模式动态变化导致的通信与计算不均衡问题,实现显著加速。
2025-10-12 cs.DC cs.LG
DawnPiper: A Memory-scablable Pipeline Parallel Training Framework
DawnPiper通过细粒度计算图分析、性能最优划分定理和二分划分算法,解决了流水线并行中的内存不平衡问题,显著提升了可训练批量大小和训练性能。
2025-05-09 cs.DC
Parallel Vertex Cover Algorithms on GPUs
在图中寻找小顶点覆盖在许多领域都有应用。该问题的两个常见公式包括:最小顶点覆盖,它找到图中最小的顶点覆盖,和参数化顶点覆盖,它找到大小小于或等于某个参数$k$的顶点覆盖。两种公式的算法都遍历搜索树,搜索树随着图的大小或$k$的值呈指数增长。由于多种原因,在GPU上对顶点覆盖搜索树的遍历进行并行化是具有挑战性的。首先,搜索树是一个狭窄的二叉树,这使得它很难提取足够的子树并行处理,以充分利用GPU的资源。其次,搜索树高度不平衡,这使得跨大量并行GPU工作器的负载均衡具有挑战性。第三,保持并行遍历许多子树所需的所有中间状态对GPU的存储器资源造成很大压力,并且可能成为并行性的限制因素。为了解决这些挑战,我们提出了一种方法来遍历顶点覆盖搜索树并行使用GPU,同时处理动态负载均衡。每个线程块使用本地堆栈遍历不同的子树,但是,我们也使用全局工作列表来平衡负载。块根据需要将其子树的分支贡献给全局工作列表,而完成其子树的块从全局工作列表中获得新的分支。我们使用度数组来表示中间图,这样表示在内存中是紧凑的,以避免限制并行性,但独立的,这是必要的负载均衡。我们的评估表明,与以前的工作相比,我们的混合使用本地堆栈和全局工作列表的方法大大提高了性能,减少了负载不平衡,特别是在困难的情况下的问题。
2022-04-21 cs.DC
Tackling the Data-Parallel Load Balancing Bottleneck in LLM Serving: Practical Online Routing at Scale
HKUST(香港科技大学);Theory Laboratory, Central Research Institute, 2012 Laboratories, Huawei(华为中央研究院理论实验室)
本文提出BalanceRoute算法,通过在线路由减少LLM服务中的数据并行负载不均衡,提升端到端服务吞吐量。
2026-09-27 cs.DC
Optimizing ccNUMA locality for task-parallel execution under OpenMP and TBB on multicore-based systems
OpenMP任务构造或某些英特尔线程构建块(TBB)组件所采用的任务并行性虽然非常适合处理不规则问题或典型的生产者/消费者方案,但如果数据访问的局部性很重要(ccNUMA系统上的内存受限代码通常就是这种情况),则可能会出现性能瓶颈。我们提出了一个薄的软件层,改善了动态任务分配的不利影响,通过将任务排序到本地队列中,每个队列最好由属于同一本地域的线程处理。动态调度是完全保留在每个域,并优于可能的负载不平衡,即使需要非本地访问,使这种策略非常适合典型的多核多插槽系统。该方法的有效性是通过使用一个阻塞的六点模板求解器作为一个玩具模型。
2010-12-30 cs.DC
KV-Pipe: On the Relation Between KV Sharing and Pipeline Parallel Efficiency in LLMs
University of Waterloo(滑铁卢大学);Huawei Technologies(华为技术有限公司)
KV-Pipe是一种感知阶段的KV共享机制,通过尾优先调整跨层KV共享平衡流水线工作负载,提升LLM训练效率,同时也优化长上下文推理性能。
2026-08-18 cs.DC
A Load-Balanced Parallel and Distributed Sorting Algorithm Implemented with PGX.D
排序一直是科学研究中最具挑战性的问题之一。虽然许多技术和算法已经提出了有效的并行排序实现的理论,然而,实现所需的性能在不同类型的架构与大量的处理器仍然是一个具有挑战性的问题。最大限度地提高应用程序的并行性水平,可以通过最小化由于负载不平衡和等待时间,由于内存延迟的开销。在本文中,我们提出了一个分布式排序算法实现PGX.D,一个快速的分布式图形处理系统,它优于Spark的分布式排序实现约2倍-3倍,通过隐藏通信延迟和最大限度地减少不必要的开销。此外,它表明,建议的PGX.D排序方法处理数据集包含许多重复的数据录入有效,并始终保持平衡的工作负载为不同的输入数据分布类型。
2017-01-14 cs.DC
Asynchronous and Load-Balanced Union-Find for Distributed and Parallel Scientific Data Visualization and Analysis
我们提出了一种新的分布式union-find算法,其特点是异步并行和基于k-d树的负载均衡可扩展的可视化和科学数据的分析。union-find的应用包括水平集提取和临界点跟踪,但分布式union-find可能会受到高同步成本和跨并行进程的不平衡工作负载的影响。在这项研究中,我们证明了现有的分布式union-find中的全局同步可以在不改变最终结果的情况下消除,从而允许重叠的通信和计算进行可扩展的处理。我们还使用k-d树分解来重新分配输入,以改善工作负载平衡。我们使用合成和应用数据对算法的可扩展性进行了基准测试,最多可使用1,024个进程。我们证明了我们的算法在临界点跟踪和超水平集提取与高速成像实验和聚变等离子体模拟,分别使用。
2021-04-13 cs.DC
Hierarchical Memory Management for Mutable State
众所周知,现代函数式程序设计语言自然适合并行编程。然而,使用函数式语言实现有效的并行性仍然很困难。也许最重要的原因是它们缺乏对有效的就地更新的支持,即,变异,这对于并行算法和运行时系统服务(例如,编译器和同步原语)来执行它们。在本文中,我们提出了在并行函数式语言的有效变异技术。为此,我们将内存管理器与线程调度器相结合,以使读取和更新嵌套线程分配的数据变得高效。我们描述了我们的技术背后的关键算法,在MLton标准ML编译器中实现它们,并提出了一个实证评估。我们的实验表明,该方法表现良好,显着提高效率比现有的函数式语言实现。
2018-02-18 cs.DC cs.PL
Intel Cilk Plus for Complex Parallel Algorithms: "Enormous Fast Fourier Transform" (EFFT) Library
在本文中,我们展示了并行计算的大型一维离散快速傅立叶变换(DFFT)的多核英特尔至强处理器的方法。基于递归Cooley-Tukey方法的DFFT必须控制高速缓存利用率、内存带宽和向量硬件使用率,并且同时跨多个线程或计算节点进行缩放。我们的方法基于DFFT的单线程英特尔数学内核库(MKL)实现,并使用英特尔Cilk Plus框架实现线程并行。我们演示了英特尔Cilk Plus处理以嵌套循环为中心的并行递归的能力,而无需根据内核数量或缓存指标调整代码。我们的工作成果是一个名为EFFT的库,它执行大小为2^N(N>=21)的1D DFT的速度比相应的英特尔MKL并行DFT实现快1.5倍,比FFTW快2.5倍。EFFT的代码可以在GPL v3许可证下免费下载。这项工作提供了一种新的高效DFFT实现,同时演示了如何使用英特尔Cilk Plus框架优化具有复杂并行模式的计算机科学问题以实现高性能的教育示例。
2014-09-19 cs.DC cs.DS cs.MS
CRAFT: Fine-Grained Cost-Aware Expert Replication For Efficient Mixture-of-Experts Serving
NVIDIA Corporation(英伟达公司)
提出CRAFT框架,通过基于估计收益的细粒度逐层复制,在给定内存预算下最大化负载均衡,无需额外训练即可提升大规模MoE服务吞吐量。
2026-05-29 cs.DC cs.LG
Code modernization strategies for short-range non-bonded molecular dynamics simulations
针对现代HPC硬件特性,对ESPResSo++分子动力学模拟包进行代码现代化改造,通过数据布局优化、向量化及基于HPX的细粒度并行实现了显著性能提升。
2023-06-15 cs.DC physics.comp-ph
UltraEP: Unleash MoE Training and Inference on Rack-Scale Nodes with Near-Optimal Load Balancing
School of Computer Science, Peking University(北京大学计算机学院);Xiaohongshu Inc.(小红书公司);Shanghai AI Laboratory(上海人工智能实验室)
提出UltraEP,首个基于精确负载的实时均衡器,通过协同设计规划求解与专家复制通信,在机架级节点上实现MoE训练和推理的微批次与逐层重均衡,达到94.3%的力均衡理想吞吐量。
2026-06-19 cs.DC cs.LG
TopoEP: Topology-Aware Load Balancing for Expert-Parallel MoE Training
University of Science and Technology of China(中国科学技术大学)
针对专家并行MoE训练中的负载不均衡问题,提出GPU原生、拓扑感知的负载均衡系统TopoEP,通过确定性GPU求解器生成热门专家复制与令牌重路由计划,在32-GPU集群上提升训练吞吐量6.2%至11.4%。
2026-09-29 cs.DC cs.LG