Lock-Free and Practical Deques using Single-Word Compare-And-Swap
我们提出了一个有效的和实用的无锁实现的并发双端队列,是不相交并行访问,并使用原子原语,可在现代计算机系统。先前已知的双端队列的无锁算法或者基于不可用的原子同步原语,仅实现功能的子集,或者不被设计用于不相交的访问。我们的算法是基于一个双向链表,只需要一个字的比较和交换原子原语,即使是动态内存大小。我们已经进行了实证研究,使用已知的最有效的算法无锁双端队列的完整实现。对于低并发的系统,Michael的算法表现出最好的性能。然而,由于我们的算法是专为不相交的访问,它的性能显着更好的高并发性和非均匀的内存体系结构的系统。
2004-08-05 cs.DC cs.DS
SySCD: A System-Aware Parallel Coordinate Descent Algorithm
IBM Research(IBM研究院);UC Berkeley(加州大学伯克利分校)
在本文中,我们提出了一种新的并行随机坐标下降(SCD)算法的收敛保证,表现出很强的可扩展性。我们首先研究了一个国家的最先进的并行实现SCD和确定的可扩展性以及系统级的性能瓶颈,各自的实施。然后,我们采取一种原则性的方法来开发一个新的SCD变体,其目的是为了避免所识别的系统瓶颈,如有限的扩展,由于跨线程的模型共享的一致性流量,以及低效的CPU缓存访问。我们提出的系统感知并行坐标下降算法(SySCD)可扩展到多个核心和跨numa节点,并在一系列数据集和多核CPU架构上提供一致的底线加速,与优化的异步并行SCD算法相比,训练时间高达x12,与最先进的GLM求解器(scikit-learn,Vowpal Wabbit和H2O)相比,训练时间高达x42。
2019-11-18 cs.DC cs.LG stat.ML
Peformance Prediction for Coarse-Grained Locking: MCS Case
在许多并发数据结构(如哈希表或有序容器)中发现的标准设计模式是交替使用不会引发数据冲突的可并行部分和必须顺序运行并受锁保护的关键部分。已经表明,简单的随机分析可以预测使用CLH锁的粗粒度基于锁的算法的吞吐量。在这篇简短的论文中,我们将这种分析扩展到基于流行的MCS锁的算法。
2021-10-11 cs.DC
New Concurrent Order Maintenance Data Structure
本文提出一种新的并行Order-Maintenance数据结构,通过高效加锁同步并行插入与删除操作,并实现无锁的并行比较操作,在64个worker下最高取得34.4倍加速,突破了实际应用中比较操作远多于增删操作的性能瓶颈。
2024-10-11 cs.DC cs.DS
Block stochastic gradient descent for large-scale tomographic reconstruction in a parallel network
与基于反投影的方法相比,迭代算法对于线性断层图像重建具有许多优点。然而,迭代法往往具有显著更高的计算复杂性。为了克服这一点,需要能够利用几个计算节点的并行处理方案。这里流行的方法是行操作方法和列操作方法,行操作方法同时更新整个图像,列操作方法需要访问每个节点上的所有测量值。在每个节点存储容量有限的大规模层析重建中,节点之间的数据通信开销成为显著的性能限制因素。为了减少这种开销,我们提出了一种行操作方法BSGD。该方法是基于随机梯度下降方法,但它不更新整个图像在每次迭代,这减少了节点之间的通信。为了进一步提高收敛速度,提出了一种重要性采样策略。我们比较了BSGD与其他现有的随机方法,并显示其有效性和效率。BSGD的其他属性也进行了探讨,包括它的能力,将全变差(TV)正则化和自动参数调整。
2019-03-28 cs.DC
Hybrid Approach to Parallel Stochastic Gradient Descent
School of Computing;Augmented Intelligence Arizona State University Tempe AZ USA;Augmented Intelligence Arizona State University
本文提出一种结合同步与异步的数据并行混合方法,通过阈值函数逐步切换参数聚合方式,在相同时间内取得优于纯同步和纯异步的训练性能。
2024-06-27 cs.AI cs.CC cs.DC
NOMAD: Non-locking, stOchastic Multi-machine algorithm for Asynchronous and Decentralized matrix completion
提出了一种高效的并行分布式矩阵补全算法NOMAD(Non-locking,stOstochastic Multi-machine algorithm for Asynchronous and Decentralized matrix completion)。NOMAD是一种分散式算法,在处理器之间进行非阻塞通信。NOMAD的关键特性之一是变量的所有权以分散的方式在处理器之间异步转移。因此,它是一个无锁的并行算法。尽管是一个异步算法,NOMAD的变量更新是可串行化的,也就是说,在串行实现中有一个等效的更新顺序。NOMAD优于每次迭代后需要显式批量同步的同步算法:我们广泛的经验评估表明,我们的算法不仅在商品硬件上的分布式设置中表现良好,而且在多核和分布式内存设置中,在HPC集群上的性能也优于最先进的算法。
2014-04-24 cs.DC
Parle: parallelizing stochastic gradient descent
University of California, Los Angeles(加州大学洛杉矶分校);Bocconi University(博科尼大学);McGill University(麦吉尔大学)
我们提出了一种名为Parle的新算法,用于深度网络的并行训练,其收敛速度比SGD的数据并行实现快2- 4倍,同时实现了显着改善的出错率,在包括CIFAR-10和CIFAR-100在内的几个基准测试中几乎是最先进的,而无需引入任何额外的超参数。我们利用平坦极小值现象,该现象已被证明可以改善深度网络的泛化误差。Parle不需要与参数服务器进行频繁的通信,而是在每个客户端上执行更多的计算,这使得它非常适合单机,多GPU设置和分布式实现。
2017-09-10 cs.DC cs.LG stat.ML
Scaling Up Coordinate Descent Algorithms for Large $\ell_1$ Regularization Problems
Pacific Northwest National Laboratory(太平洋西北国家实验室);University of Texas at Austin(德克萨斯大学奥斯汀分校)
我们提出了一个通用的框架,并行坐标下降(CD)算法,其中包括,作为特殊情况下,原来的顺序算法循环CD和随机CD,以及最近的并行猎枪算法。我们介绍了两种新的并行算法,也是特殊情况-线程贪婪的CD和基于着色的CD-并给出了这些的OpenMP实现的性能测量。
2012-06-27 cs.DC cs.LG stat.ML
Performance Optimization on Model Synchronization in Parallel Stochastic Gradient Descent Based SVM
Indiana University(印第安纳大学)
理解实现基于随机梯度下降(SGD)的分布式支持向量机(SVM)算法的瓶颈对于训练更大的数据集是重要的。在并行进程之间进行模型同步的通信时间是导致训练过程效率低下的主要瓶颈。全局同步前处理的小批量数据大小直接影响模型同步。在产生有效的分布式模型时,训练模型同步中的通信时间必须尽可能少,同时保持高的测试精度。为了设计高效的分布式模型,必须充分理解模型同步频率对算法收敛性和生成模型精度的影响。在这项研究中,我们确定的瓶颈模型同步并行随机梯度下降(PSGD)为基础的SVM算法的训练模型同步频率(MSF)。我们的研究表明,通过优化我们使用的数据集中的MSF,相对于高频模型同步,可以获得98%的通信时间减少(16倍-24倍的速度)。本文讨论的训练模型优化保证了比顺序算法更高的精度以及更快的收敛速度。
2019-05-03 cs.DC cs.LG
Accelerated, Parallel and Proximal Coordinate Descent
本文提出了一种新的随机坐标下降法,用于极小化仅依赖于少量坐标的凸函数之和。我们的方法(APPROX)同时加速,并行和PROXALITY,这是第一次提出这样的方法。在处理器的数量等于坐标的数量的特殊情况下,该方法以速率$2\barω\bar{L} R^2/(k+1)^2 $收敛,其中$k$是迭代计数器,$\barω$是损失函数的平均可分性程度,$\bar{L}$是与坐标和中的各个函数相关联的Lipschitz常数的平均值,并且$R$是初始点到最小值的距离。我们表明,该方法可以实现,而不需要执行全维向量运算,这是现有的加速坐标下降法的主要瓶颈。事实上,该方法依赖于平均程度的可分性,而不是最大程度的可分性,可以归因于使用新的安全的大步长,从而改善预期的可分离过逼近(ESO)。这些都是独立的利益,并可以利用在所有现有的并行随机坐标下降算法的概念的基础上ESO。
2014-03-01 cs.DC cs.NA math.NA
Feature Clustering for Accelerating Parallel Coordinate Descent
University of Michigan(密歇根大学);Pacific Northwest National Laboratory(太平洋西北国家实验室)
大规模L1正则化损失最小化问题出现在高维应用中,例如压缩感知和高维监督学习,包括分类和回归问题。高性能算法和实现对于有效解决这些问题至关重要。建立在以前的工作坐标下降算法的L1正则化问题,我们引入了一个新的家庭的算法称为块贪婪坐标下降,包括,作为特殊情况下,现有的几种算法,如SCD,贪婪CD,猎枪,线程贪婪。给出了块贪婪算法族的统一收敛性分析。分析表明,块贪婪坐标下降可以更好地利用并行性,如果特征被聚类,使得不同块中的特征之间的最大内积很小。我们的理论收敛性分析与实验结果支持,使用来自不同的现实世界的应用程序的数据。我们希望我们提供的算法方法和收敛性分析不仅能推动该领域的发展,而且还能鼓励研究人员系统地探索解决大规模L1正则化问题的算法的设计空间。
2012-12-17 cs.DC cs.LG math.OC
A Parallel SGD method with Strong Convergence
Microsoft Research(微软研究院);Microsoft Corporation(微软公司)
本文提出了一种新的并行随机梯度下降(SGD)方法,该方法通过应用并行SGD迭代集(每个集合使用驻留在其中的数据在一个节点上操作)来获得,用于在批下降方法的每次迭代中找到方向。该方法具有较强的收敛性。在高维特征空间数据集上的实验表明了该方法的有效性。
2013-11-04 cs.DC cs.LG
Lock-free dynamic hash tables with open addressing
我们提出了一个有效的无锁算法的并行访问哈希表与开放寻址,这承诺更强大的性能和可靠性比传统的基于锁的实现。“无锁”意味着保证总是至少有一个进程在有限的步骤数内完成其操作。对于单处理器架构,我们的解决方案与顺序哈希表一样有效。在多处理器体系结构上,当所有处理器都具有相当的速度时也是如此。该算法允许处理器具有广泛的不同速度或停止。它可以很容易地使用C类语言实现,并且平均只需要恒定的时间来插入,删除或访问元素。该算法允许哈希表在需要时增长和收缩。无锁算法很难正确设计,即使看起来很简单。在尽可能早的阶段确保设计的正确性是任何负责任的系统开发的主要挑战。鉴于算法的复杂性,我们转向交互式定理证明器PVS进行机械支持。我们采用标准的演绎验证技术来证明我们算法的约200个不变性,并描述了如何使用定理证明器PVS实现这一点。
2004-10-27 cs.DC cs.DS
Communication-Efficient, 2D Parallel Stochastic Gradient Descent for Distributed-Memory Optimization
Wake Forest University(维克森林大学);Oak Ridge National Laboratory(橡树岭国家实验室)
提出二维并行SGD方法HybridSGD,通过理论分析和实验验证,在通信效率与收敛性能间取得连续权衡,相比一维方法实现高达121倍加速。
2026-06-26 cs.DC stat.ML
High-Dimensional Sparse Data Low-rank Representation via Accelerated Asynchronous Parallel Stochastic Gradient Descent
College of Computer and Information Science, Southwest University(西南大学计算机与信息科学学院)
本文提出加速异步并行随机梯度下降方法A2PSGD,通过无锁调度、贪心负载均衡和Nesterov加速梯度,提升高维稀疏数据低秩表示的训练效率与准确率。
2024-08-29 cs.DC cs.LG
Weighted Aggregating Stochastic Gradient Descent for Parallel Deep Learning
Stony Brook University(石溪大学)
本文研究了随机优化问题,重点是为深度学习任务开发可扩展的并行算法。我们的解决方案涉及神经网络模型中随机优化的目标函数的改革,以及一种新的并行策略,创造加权聚合随机梯度下降(WASGD)。在对新目标函数特性进行理论分析的基础上,提出了一种基于本地工人绩效的分散加权集结方案。在没有任何中心变量的情况下,新方法自动评估当地工人的重要性,并根据他们的贡献接受他们。此外,我们已经开发了一个增强版本的方法,WASGD+,通过(1)考虑设计的样本顺序和(2)应用更先进的权重评估函数。为了验证新方法,我们将我们的方案与几种流行的算法进行基准测试,包括最先进的技术(例如,弹性平均SGD)用于训练用于分类任务的深度神经网络。在CIFAR-100、CIFAR-10、Fashion-MNIST和MNIST四个经典数据集上进行了全面的实验。随后的结果表明了WASGD方案在加速深层架构训练方面的优越性。更好的是,增强版本WASGD+已经被证明是对其基本版本的重大改进。
2020-04-07 cs.DC cs.LG
MindTheStep-AsyncPSGD: Adaptive Asynchronous Parallel Stochastic Gradient Descent
Chalmers University of Technology(查尔姆斯理工大学)
随机梯度下降(SGD)在高维非凸目标函数优化问题中非常有用,因此构成了若干机器学习和数据分析方法的重要组成部分。最近,有重要的工作,了解固有的并行性SGD,其收敛性能。异步并行SGD(AsyncPSGD)由于其所观察到的性能优势而受到特别关注。另一方面,这意味着在理解算法的执行及其收敛性方面存在固有的挑战,这源于线程的贡献可能基于旧的(陈旧的)状态视图。在这项工作中,我们的目标是加深AsyncPSGD的理解,以提高统计效率,在存在陈旧的梯度。我们提出了新的模型,捕捉在实际环境中的陈旧分布的性质。使用所提出的模型,我们推导出一个陈旧的自适应SGD框架,MindTheStep-AsyncPSGD,用于以在线方式调整步长,这可证明减少了重复的负面影响。此外,我们提供了一般的收敛时间范围为广泛的一类过时的自适应步长策略凸目标函数。我们还提供了详细的实证研究,展示了我们的方法如何意味着深度学习应用程序的更快收敛。
2019-11-08 cs.DC cs.LG
Parallel implematation of flow and matching algorithms
在我们的工作中,我们提出了两个并行算法和他们的无锁实现使用流行的GPU环境Nvidia CUDA。第一个算法是网格图中的流问题的推-重标记方法。第二个是完全二部图中指派问题的成本缩放算法。
2011-10-28 cs.DC
Smooth minimization of nonsmooth functions with parallel coordinate descent methods
研究了一类随机并行坐标下降法在极小化非光滑可分凸函数和问题上的性能。问题类包括作为特殊情况的L1正则化L1回归和指数损失的最小化(“AdaBoost问题”)。我们假设定义损失函数的输入数据包含在稀疏$m\times n$矩阵$A$中,每行中至多具有$ω$非零值。我们的方法需要$O(n β/τ)$迭代以找到具有高概率的近似解,其中$τ$是处理器的数量,$β= 1 + (ω-1)(τ-1)/(n-1)$是最快的变体。该符号隐藏了对诸如所需精度和置信水平以及起始点与最佳点的距离等数量的依赖性。由于$β/τ$是$τ$的递减函数,因此当使用更多处理器时,该方法需要较少的迭代。我们的算法的某些变体在每个处理器的单次迭代期间平均仅执行$O(\nnz(A)/n)$算术运算,并且由于当$ω$减少时$β$减少,因此对于稀疏问题需要较少的迭代。
2013-09-23 cs.DC math.OC stat.ML
A common parallel framework for LLP combinatorial problems
University of Texas at Austin(德克萨斯大学奥斯汀分校)
本文提出LLP-FW通用锁自由运行时,可解决多种组合优化问题,通过并行处理禁止局部状态以获得解,展示了其在多个问题上的有效性。
2026-03-13 cs.DC
A Lock-Free Work-Stealing Algorithm for Bulk Operations
Iowa State University(爱荷华州立大学);Purdue University(普渡大学)
本文提出了一种专为混合整数规划求解器并行化设计的无锁工作窃取队列,支持批量操作并提高性能,通过减少同步开销实现高效的任务调度。
2026-03-05 cs.CE cs.DC math.OC
Stochastic Gradient Descent on Highly-Parallel Architectures
University of California Merced(加州大学默塞德分校)
在工业界和学术界,人们对构建具有高级代数功能的数据分析框架的兴趣越来越大。这些框架中的许多,例如,TensorFlow和BIDMach以两种方式实现其计算密集型原语-作为多核CPU的多线程例程和在GPU上执行的高度并行内核。随机梯度下降(SGD)是在现代数据分析平台上广泛实施的模型训练的最流行的优化方法。虽然SGD的数据密集型属性是众所周知的,但对于众多SGD变体中哪一个在实践中更好存在激烈的争论。在本文中,我们进行了全面的研究并行SGD训练广义线性模型。我们考虑了三个因素的影响-计算架构(多核CPU或GPU),同步或异步模型更新和数据稀疏性-对三个指标的影响-硬件效率,统计效率和收敛时间。在这个过程中,我们设计了一个优化的异步SGD算法的GPU,利用翘曲洗牌和缓存合并的数据和模型访问。我们从我们在五个真实数据集上使用逻辑回归(LR)和支持向量机(SVM)的广泛实验中得出了一些有趣的发现。对于同步SGD,GPU总是优于并行CPU-它们都比顺序CPU解决方案高出400倍以上。对于异步SGD,并行CPU是最安全的选择,而具有数据复制的GPU在某些情况下更好。同步GPU和异步CPU之间的选择取决于任务和数据的特征。作为参考,我们的最佳实现始终优于TensorFlow和BIDMach。我们希望我们的见解提供了一个有用的指导应用并行SGD广义线性模型。
2018-02-24 cs.DB cs.DC cs.LG
Escaping From Saddle Points Using Asynchronous Coordinate Gradient Descent
大规模非凸优化问题由于计算和存储成本而求解起来很昂贵。为了降低成本,一阶(计算效率)和并行(内存效率)算法是必要的,以最小化非凸函数在机器学习。然而,在非凸设置中应用的非线性一阶方法遇到两个困难:(i)并行化延迟,其通过破坏一阶方法的单调性来影响收敛,以及(ii)梯度为零的次优鞍点。为了解决这两个困难,我们提出了一种异步坐标梯度下降算法,该算法以有界延迟收敛到局部最小值。我们的算法克服了并行延迟问题,通过使用精心构造的哈密顿函数。我们证明,我们设计的动能项,纳入哈密顿量,允许我们的算法,每次迭代单调减少。接下来,我们的算法利用扰动子例程引导迭代避开鞍点。类似于其他国家的最先进的(SOTA)算法,我们实现了多对数收敛速度方面的尺寸。与其他SOTA算法,这是同步的,我们的工作是第一个研究如何并行延迟影响异步一阶算法的收敛速度。我们证明了我们的算法优于同步同行下大并行延迟,收敛依赖于次线性延迟。据我们所知,这是第一个局部最优收敛结果的一阶异步算法的非凸设置。
2022-11-17 cs.DC math.OC
GPU Asynchronous Stochastic Gradient Descent to Speed Up Neural Network Training
University of Illinois at Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);Adobe Research(奥多比研究院)
训练大规模神经网络的能力已经在计算机视觉的许多领域产生了最先进的性能。这些结果很大程度上来自两种形式的计算中断:模型并行,例如GPU加速训练,它已在计算机视觉界迅速采用,以及数据并行,例如A-SGD,其大规模主要用于工业。我们报告了早期的实验与系统,利用这两个模型并行和数据并行,我们称之为GPU A-SGD。我们表明,使用GPU A-SGD可以加速对计算机视觉有用的大型卷积神经网络的训练。我们相信GPU A-SGD将使在合理的时间内在更大的训练集上训练更大的网络成为可能。
2013-12-21 cs.CV cs.DC cs.LG
On Optimal Probabilities in Stochastic Coordinate Descent Methods
我们提出并分析了一种新的并行坐标下降方法-`NSync-在每次迭代中,坐标的随机子集被更新,并行,允许子集被非均匀地选择。我们得到一个强凸性假设下的收敛速度,并评论如何分配概率的集合,以优化的界限。该方法的复杂度和实际性能可以超过其均匀变体一个数量级。令人惊讶的是,每次迭代更新一个随机选择的坐标的策略-具有最佳概率-在理论和实践中可能需要比每次迭代更新所有坐标的策略更少的迭代。
2013-10-13 cs.DC math.OC stat.ML
An Analysis of Asynchronous Stochastic Accelerated Coordinate Descent
梯度下降,特别是坐标下降,是机器学习和其他领域的核心工具。大的问题实例是常见的。为了帮助解决这些问题,已知两种正交方法:加速和并行。在这项工作中,我们问他们是否可以同时使用。答案是肯定的。更具体地说,我们考虑一个异步并行版本的加速坐标下降算法提出和分析的林,刘和肖(SIOPT'15)。我们给出了一个分析的基础上,该算法的有效实现。唯一的约束是一个标准的有界模糊假设,即每次更新最多可以与q个其他更新重叠。(q最多是处理器的数量乘以最长和最短更新的长度的比率。)我们得到以下三个结果:1.强凸函数的线性加速,只要q不太大。2.一个实质性的,虽然次线性,加速强凸函数较大的q。3.对凸函数的一个实质性的,尽管是次线性的加速。
2018-08-15 cs.DC math.OC
Balancing the Communication Load of Asynchronously Parallelized Machine Learning Algorithms
随机梯度下降(SGD)是用于解决绝大多数机器学习(ML)算法的核心优化问题的标准数值方法。在大规模学习的背景下,正如许多大数据应用所利用的那样,SGD的高效并行化是积极研究的焦点。最近,我们能够表明,异步通信范例可以应用于实现快速和可扩展的并行SGD。异步随机梯度下降(ASGD)优于其他大多基于MapReduce的并行算法,解决大规模机器学习问题。在本文中,我们研究了异步通信频率和消息大小对应用于HTC集群和云环境的大规模ML的ASGD性能的影响。我们介绍了一种新的算法,自动平衡的异步通信负载,它允许适应ASGD不断变化的网络带宽和延迟。
2015-10-05 cs.DC
FLeeC: a Fast Lock-Free Application Cache
本文提出基于 Memcached 的应用级缓存系统 FLeeC,通过重新设计数据结构与无锁并发算法支持高竞争下的并发读写、无锁驱逐和快速查找,可直接替换 Memcached,性能最高提升 6 倍。
2024-04-17 cs.DC
Theoretical Limits of Pipeline Parallel Optimization and Application to Distributed Deep Learning
Huawei Noah’s Ark Lab(华为诺亚方舟实验室)
我们研究了深度学习架构的流水线并行学习的理论限制,这是一种分布式设置,其中计算是按层而不是按示例分布的。对于光滑的凸和非凸目标函数,我们提供了匹配的复杂性下限和上限,并表明Nesterov的加速梯度下降的朴素流水线并行化是最佳的。对于非光滑凸函数,我们提出了一种新的算法流水线并行随机平滑(PPRS),是在一个$d^{1/4}$乘法因子的最佳收敛速度,其中$d$是底层的尺寸。虽然收敛速度仍然遵循缓慢的$\varepsilon^{-2}$收敛速度,但深度依赖部分被加速,导致接近线性的加速和收敛时间,仅略微取决于深度学习架构的深度。最后,我们对非光滑非凸的情况进行了实证分析,结果表明,对于困难和高度非光滑的问题,PPRS优于更传统的优化算法,如梯度下降和Nesterov的加速梯度下降,用于样本量有限的问题,如Few-Shot或对抗学习。
2019-10-11 cs.DC cs.LG stat.ML
Minimize Your Critical Path with Combine-and-Exchange Locks
University of Stuttgart(斯图加特大学)
针对用户空间调度任务(如协程)的同步延迟问题,提出Combine-and-Exchange调度(CES)方法,确保竞争临界区在同一线程运行、并行工作均匀分布,在应用和微基准测试中分别实现3倍和8倍性能提升。
2025-11-12 cs.DC
Concurrent Data Structures Made Easy (Extended Version)
本文提出OCaml库OBatcher,通过轻量级隐式批处理设计和顺序结构转换策略,简化批处理并行并发数据结构的设计与使用,并在大型异步工作负载中展现出优于锁实现的可扩展吞吐量。
2024-08-25 cs.DC cs.PL
Lock-free de Bruijn graph
针对基因组组装中并行处理的需求,提出一种基于 compare-and-swap 等原子操作的无锁 de Bruijn 图数据结构及构建算法,实验证明其具有极高的速度和可扩展性。
2024-01-05 cs.DC q-bio.GN
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
LEFT-RS: A Lock-Free Fault-Tolerant Resource Sharing Protocol for Multicore Real-Time Systems
University of York(约克大学);Sun Yat-sen University(中山大学)
本文提出LEFT-RS协议,通过无锁机制提升多核实时系统中资源共享的容错性和效率。
2025-12-25 cs.DC cs.OS
Can Decentralized Algorithms Outperform Centralized Algorithms? A Case Study for Decentralized Parallel Stochastic Gradient Descent
University of Rochester(罗切斯特大学);ETH Zurich(苏黎世联邦理工学院);University of California, Davis(加利福尼亚大学戴维斯分校);IBM T. J. Watson Research Center(IBM托马斯·J·沃森研究中心);Tencent AI lab(腾讯人工智能实验室)
现在大多数分布式机器学习系统,包括TensorFlow和CNTK,都是以集中式的方式构建的。集中式算法的一个瓶颈在于中心节点的高通信开销。受此启发,我们问,分散式算法是否比集中式算法更快?虽然分散式PSGD(D-PSGD)算法已经被控制界研究,现有的分析和理论没有显示出任何优势集中式PSGD(C-PSGD)算法,简单地假设的应用场景,只有分散式网络是可用的。在本文中,我们研究了D-PSGD算法,并提供了第一个理论分析,表明分散式算法可能优于集中式算法的分布式随机梯度下降的制度。这是因为D-PSGD具有与C-PSGD相当的总计算复杂性,但在最繁忙的节点上需要少得多的通信成本。我们进一步进行了实证研究,以验证我们的理论分析在多个框架(CNTK和火炬),不同的网络配置,和计算平台高达112 GPU。在具有低带宽或高延迟的网络配置上,D-PSGD可以比其良好优化的集中式对应物快一个数量级。
2017-09-11 cs.DC cs.LG math.OC
Enabling Lock-Free Concurrent Fine-Grain Access to Massive Distributed Data: Application to Supernovae Detection
我们认为,在一个大规模的分布式环境中有效地管理大量数据的问题。我们认为数据串的大小在TB的顺序,共享和并发客户端访问。每次访问时,都会读取或修改一个字节级的字符串段。我们的目标是为客户端提供高效的细粒度访问数据字符串,尽可能并发,而不锁定字符串本身。这个问题对于天文学、数据库、数据采掘和多媒体领域的应用至关重要。我们说明了这些要求与搜索超新星的应用程序的情况下。我们的解决方案依赖于分布式、基于RAM的数据存储,同时利用基于DHT的并行元数据管理方案。所提出的架构和算法已通过软件原型验证,并在集群环境中进行评估。
2008-10-13 cs.DC
Make Workers Work Harder: Decoupled Asynchronous Proximal Stochastic Gradient Descent
University of Science and Technology of China(中国科学技术大学)
异步并行优化算法用于解决大规模机器学习问题,近年来引起了学术界和工业界的广泛关注。本文提出了一种新的算法,解耦异步近端随机梯度下降(DAP-SGD),以最小化的目标函数,是多个经验损失的平均值和正则化项的组合。与传统的异步近似随机梯度下降(TAP-SGD),其中主进行大部分的计算负载,所提出的算法卸载的大部分计算任务从主工人,并离开主进行简单的加法运算。这种策略产生一个易于并行化的算法,其性能是合理的理论收敛性分析。具体地,当步长减小时,DAP-SGD实现$O(\log T/T)$速率,而当步长恒定时,DAP-SGD实现遍历$O(1/\sqrt{T})$速率,其中$T$是总迭代次数。
2016-05-21 cs.DC cs.LG math.OC
Scalable Range Locks for Scalable Address Spaces and Beyond
范围锁是一种同步构造,旨在提供对多个线程(或进程)的并发访问,以分离共享资源的各个部分。范围锁最初是在文件系统上下文中构思的,在Linux内核社区中越来越受到关注,试图减轻虚拟内存管理子系统中的瓶颈。然而,内核中范围锁的现有实现使用内部旋转锁来保护底层树结构,该结构跟踪获取和请求的范围。当频繁获取范围锁时,此旋转锁本身就成为争用点。此外,在何处以及如何确定具体的(精确的)范围仍然是一个悬而未决的问题。在本文中,我们做了两个独立的,但相关的贡献。首先,我们提出了一种基于链表构建范围锁的替代方法。列表很容易以无锁的方式维护,事实上,我们的范围锁在常见情况下不使用任何内部锁。其次,我们展示了如何通过投机机制在mprotect操作中细化锁的范围。这种改进又允许在非重叠存储器区域上并发执行mprotect操作。我们实现了我们的新算法,并证明了它们在用户空间和内核空间的有效性,实现了9个$\times$加速比股票版本的Linux内核。除了虚拟内存管理子系统之外,我们还讨论了范围锁在并行软件中的其他应用。作为一个具体的例子,我们展示了如何范围锁可以用来促进可扩展的并发数据结构,如跳表的设计。
2020-06-22 cs.DC cs.OS
Parallel Minimum Spanning Tree Algorithms and Evaluation
最小生成树(Minimum Spanning Tree,MST)是一种重要的图论算法,在计算机网络、超大规模集成电路(VLSI)路由、无线通信等领域有着广泛的应用。今天,几乎每台计算机都是由多核处理器构建的。因此,重要的是利用这种并行计算能力的并行化现有的算法和应用程序。大多数早期的并行化MST的工作集中在PRAM模型的算法。这些研究有两个局限性。首先,PRAM模型假设无限的内存带宽,这是不现实的。其次,基于PRAM模型的算法至少需要O(n)个处理器,其中n是顶点的总数。对于大型图,这是不可行的。很少有针对真实系统的实现。在本文中,我提出并评估了两个新的并行MST算法,是并行Boruvka算法的一个变种:i)第一算法使用锁变量没有自旋锁ii)第二算法只使用原子比较和交换(CAS)原语。我在一个六核、12线程的英特尔系统上评估了这些算法在大小高达100万个顶点的各种输入图上的性能。第一种算法比未优化的顺序算法有1.94的加速比,比优化的顺序算法有1.4的加速比。第二种算法比未优化的顺序算法的加速比高达2.03,比优化的顺序算法的加速比高达1.403。当使用CAS的第二算法与第一算法比较时,发现第二算法在四个线程处比第一算法好1.15倍。
2020-05-14 cs.DC
QuickSched: Task-based parallelism with dependencies and conflicts
本文介绍了QuickSched,一个紧凑,高效的开源C语言库的基于任务的共享内存并行编程。QuickSched用任务冲突的概念扩展了基于任务的编程的标准依赖方案,即~可以以任何顺序执行但不能同时执行的任务集。这些冲突使用专门可锁定的分层资源进行建模。调度器本身优先级的任务沿执行的关键路线,并表现出良好的64核并行共享内存机器上的两个例子的问题:一个平铺QR分解和基于任务的巴恩斯-赫特树代码。
2016-01-20 cs.DC
EventGraD: Event-Triggered Communication in Parallel Machine Learning
University of Notre Dame(圣母大学)
并行系统中的通信会带来很大的开销,这往往会成为并行机器学习的瓶颈。为了减轻一些这种开销,在本文中,我们提出了EventGraD -一个算法与事件触发的通信随机梯度下降并行机器学习。该算法的主要思想是将并行机器学习中的随机梯度下降的标准实现中的每次迭代时的通信要求修改为仅在某些迭代中必要时进行通信。我们提供了我们所提出的算法的收敛性的理论分析。我们还实现了所提出的算法,用于训练CIFAR-10数据集的流行残差神经网络的数据并行训练,并表明EventGraD可以减少高达60%的通信负载,同时保持相同的准确度。此外,EventGraD可以与其他方法(如Top-K稀疏化)结合使用,以在保持准确性的同时进一步减少通信。
2021-12-08 cs.DC cs.LG cs.SY
DoubleSqueeze: Parallel Stochastic Gradient Descent with Double-Pass Error-Compensated Compression
University of Rochester(罗切斯特大学);Hong Kong University of Science and Technology(香港科技大学);Kwai Inc(快手公司)
大规模机器学习中的标准方法是分布式随机梯度训练,其需要计算网络上多个节点上的聚合随机梯度。通信是此类应用中的主要瓶颈,近年来,已经提出了压缩随机梯度方法,如QSGD(量化SGD)和稀疏SGD,以减少通信。它还表明,误差补偿可以与压缩相结合,以实现更好的收敛,在一个计划,每个节点压缩其本地随机梯度和广播的结果,所有其他节点在网络中的一个单一的通过。然而,这种单通道广播方法在许多实际实现中是不现实的。例如,在用于分布式学习的流行参数服务器模型下,工作节点需要将压缩的局部梯度发送到参数服务器,参数服务器执行聚合。参数服务器必须在将其发送回工作节点之前再次压缩聚合的随机梯度。在这项工作中,我们提供了一个详细的分析,这两个通行证的通信模型和它的异步并行变体,与错误补偿压缩的工人节点和参数服务器上。我们发现,误差补偿随机梯度算法承认三个非常好的属性:1)它是兼容的\emph{arbitrary}压缩技术; 2)它承认一个改进的收敛速度比非误差补偿随机梯度方法,如QSGD和稀疏SGD; 3)它承认线性加速的工人的数量。实证研究也验证了我们的理论结果。
2020-03-21 cs.DC cs.LG
Using Optimization to Solve Positive LPs Faster in Parallel
正线性规划(LP),也称为填充和覆盖线性规划,是连接计算机科学、运筹学和优化的一类重要问题。尽管在这个问题上做出了持续的努力,但所有已知的近线性时间算法都需要$\tilde{O}(\varepsilon^{-4})$迭代才能收敛到$1\pm \varepsilon$近似解。这种$\varepsilon^{-4}$依赖性自1993年以来一直没有得到改善,并限制了这种算法的并行实现的性能。此外,以前的算法和它们的分析依赖于更新步骤和收敛参数,这些参数在本质上是组合的,并且从优化的角度来看似乎不是自然产生的。在本文中,我们利用优化理论的新见解,构建一个新的算法,打破了长期存在的$\varepsilon^{-4}$障碍。我们的算法分析简单,动机明确。我们的工作介绍了一些新的技术,如结合应用的梯度下降和镜像下降,和截断,平滑版本的标准乘法权重更新,这可能是独立的利益。
2016-11-13 cs.DC cs.DS cs.NA
A(DP)$^2$SGD: Asynchronous Decentralized Parallel Stochastic Gradient Descent with Differential Privacy
Weill Cornell Medicine(威尔康奈尔医学院);IBM Research(IBM研究院)
由于深度学习模型通常庞大而复杂,分布式学习对于提高训练效率至关重要。此外,在许多现实世界的应用场景中,如医疗保健,分布式学习也可以将数据保持在本地并保护隐私。一种流行的分布式学习策略是联邦学习,其中存在存储全局模型的中央服务器和一组本地计算节点,所述本地计算节点使用其对应的数据更新模型参数。更新后的模型参数将被处理并传输到中央服务器,这导致了沉重的通信成本。最近,异步分散式分布式学习被提出并被证明是一种更有效和实用的策略,其中没有中央服务器,因此每个计算节点只与其邻居通信。虽然没有原始数据会在不同的本地节点之间传输,但在通信过程中仍然存在信息泄漏的风险,以便恶意参与者进行攻击。本文提出了一种差分私有版本的异步分散并行SGD(ADPSGD)框架,简称A(DP)$^2$ SGD,它既保持了ADPSGD的通信效率,又防止了恶意参与者的干扰。具体地说,R{é}nyi差分隐私被用来提供更严格的隐私分析,我们的复合高斯机制,而收敛速度是一致的非隐私版本。理论分析表明,A(DP)$^2$ SGD也像SGD一样收敛于最优$\mathcal{O}(1/\sqrt{T})$速率.经验上,A(DP)$^2$ SGD实现了与同步SGD(SSGD)的差分私有版本相当的模型精度,但在异构计算环境中运行速度比SSGD快得多。
2020-08-21 cs.DC cs.LG stat.ML
The Convergence of Stochastic Gradient Descent in Asynchronous Shared Memory
IST Austria(奥地利科学技术研究所);Cornell(康奈尔大学)
随机梯度下降(SGD)是机器学习中的一个基本算法,代表了从回归到神经网络的几个经典模型的优化骨干。鉴于最近的实际重点分布式机器学习,显着的工作一直致力于该算法的收敛性能下,不一致的和嘈杂的更新所产生的执行在分布式环境中。然而,令人惊讶的是,这个经典算法在标准共享内存模型中的收敛特性仍然没有得到很好的理解。在这项工作中,我们解决这个差距,并提供新的无锁并发随机梯度下降,在经典的异步共享内存模型中执行的收敛界限,对一个强大的自适应对手。我们的研究结果给出了改进的上界和下界的“价格”时,在并发设置中执行的基本SGD算法。他们表明,这种经典的优化工具可以收敛得更快,并且比以前已知的异步迭代参数范围更广。在同一时间,我们表现出一个基本的权衡系统中的最大延迟和SGD可以收敛的速度,它管理的参数集下,该算法仍然可以有效地工作。
2018-06-22 cs.DC cs.LG stat.ML
CD-SGD: Distributed Stochastic Gradient Descent with Compression and Delay Compensation
National University of Defense Technology(国防科技大学)
通信开销是分布式训练的关键挑战。梯度压缩是一种广泛使用的减少通信流量的方法。梯度压缩技术与流水线等并行通信机制相结合,可以大大减轻通信开销的影响。然而,梯度压缩技术存在两个问题需要解决。首先,梯度压缩带来了额外的计算成本,这将延迟下一次训练迭代。其次,梯度压缩通常会导致收敛精度的下降。
2021-09-07 cs.DC cs.LG
Accelerating Parallel Stochastic Gradient Descent via Non-blocking Mini-batches
New York University(纽约大学);IBM Research(IBM研究院)
SOTA分散式SGD算法可以通过使用Ring All-Reduce等通信集体进行同步来克服参数服务器处的带宽瓶颈。虽然分布式SGD中的参数更新可能异步发生,但仍然存在同步障碍,以确保每个学习器的本地训练时期在学习器可以前进到下一个时期之前完成。等待最慢的学习者(掉队者)的延迟仍然是这些最先进的去中心化框架的同步步骤中的一个问题。在本文中,我们提出了(去)集中式非阻塞SGD(非阻塞SGD),它可以解决异构环境中的落伍问题。非阻塞SGD的主要思想是将原始批次分割成小批次,然后累积梯度并基于完成的小批次更新模型。非阻塞思想可以使用分散算法来实现,包括Ring All-reduce,D-PSGD和MATCHA来解决掉队者问题。此外,使用梯度累积来更新模型还保证了收敛性并避免了梯度失效。随机离散延迟和计算效率/设备吞吐量的运行时分析也显示了非阻塞SGD的优势。在一组数据集和深度学习网络上的实验验证了理论分析,并证明了非阻塞SGD加快了训练速度并改善了收敛性。与最先进的分散式异步算法(如D-PSGD和MACHA)相比,非阻塞SGD在异构环境中达到相同的训练损失所需的时间减少了2倍。
2022-11-09 cs.DC cs.LG
Speeding Up Distributed Gradient Descent by Utilizing Non-persistent Stragglers
Imperial College London(伦敦帝国学院);University of Maryland, College Park(马里兰大学帕克分校)
分布式梯度下降(DGD)是一种实现梯度下降(GD)的有效方法,特别是对于大型数据集,它通过将计算任务划分为较小的子任务并分配给不同的计算服务器(CS)并行执行。在标准并行执行中,每次迭代的等待时间受到离散服务器的执行时间的限制。编码DGD技术是近年来出现的一种新技术,它通过向CS分配冗余计算任务来容忍离散服务器。在大多数现有的DGD方案中,无论是编码计算还是编码通信,非离散CS在完成所有分配给它们的计算任务后,每次迭代发送一条消息。然而,尽管分散的服务器不能完成所有分配给它们的任务,但它们通常能够完成其中的某一部分。在本文中,我们允许多个传输从每个CS在每次迭代,以确保完成计算的最大数量可以报告给聚合服务器(AS),包括离散服务器。我们的数值计算表明,每次迭代的平均完成时间可以显着减少稍微增加每个服务器的通信负载。
2018-10-02 cs.DC cs.IT cs.LG
High Throughput Synchronous Distributed Stochastic Gradient Descent
Department of Engineering Sciences, University of Oxford(牛津大学工程科学系);University of Oxford(牛津大学)
我们介绍了一种新的,高吞吐量,同步,分布式,数据并行,随机梯度下降学习算法。该算法在特定于计算集群的深度生成动态模型中使用摊销推理,对并行计算集群中所有工作节点的小批量梯度计算时间进行联合后验预测推理。我们表明,同步参数服务器可以,通过利用这样的模型,选择一个最佳的截止时间,超过该时间,从慢工人的小批量梯度消息被忽略,最大限度地提高整体的小批量梯度计算每秒。与早期的发现一致,我们观察到,在现实条件下,急于丢弃落后者的小批量梯度计算不仅可以增加吞吐量,而且实际上可以通过消除空闲来增加作为挂钟时间函数的总体收敛率。这项工作的主要新贡献和发现超越了这一点,证明了使用来自集群工作者性能的生成模型的预测运行时间来动态调整截止值比静态截止值现有技术有了很大的改进,从而显著减少了大型计算机集群上的深度神经网络训练时间。
2018-03-12 cs.DC cs.LG stat.ML
Faster Distributed Deep Net Training: Computation and Communication Decoupled Stochastic Gradient Descent
Anhui Province Key Laboratory of Big Data Analysis and Application(安徽省大数据分析与应用重点实验室);School of Computer Science and Technology, University of Science and Technology of China(中国科学技术大学计算机科学与技术学院);School of Data Science, University of Science and Technology of China(中国科学技术大学数据科学学院)
随着数据量的增加和模型规模的扩大,分布式并行训练成为解决优化挑战的重要和成功的技术。然而,尽管分布式随机梯度下降(SGD)算法可以实现线性迭代加速,但它们在实践中受到通信成本的显著限制,使得难以实现线性时间加速。在本文中,我们提出了一个计算和通信解耦的随机梯度下降(CoCoD-SGD)算法,并行运行的计算和通信,以减少通信成本。我们证明了CoCoD-SGD相对于硬件资源的总计算能力具有线性迭代加速比。与传统的分布式SGD算法相比,该算法具有较低的通信复杂性和较好的时间加速比。深度神经网络训练的实验证明了CoCoD-SGD的显著改进:在使用16个Geforce GTX 1080 Ti GPU训练ResNet 18和VGG 16时,CoCoD-SGD比传统同步SGD快2-3 $\times$。
2019-09-20 cs.DC cs.LG math.OC