CN110046048A - 一种基于工作量自适应快速重分配的负载均衡方法 - Google Patents
一种基于工作量自适应快速重分配的负载均衡方法 Download PDFInfo
- Publication number
- CN110046048A CN110046048A CN201910314058.6A CN201910314058A CN110046048A CN 110046048 A CN110046048 A CN 110046048A CN 201910314058 A CN201910314058 A CN 201910314058A CN 110046048 A CN110046048 A CN 110046048A
- Authority
- CN
- China
- Prior art keywords
- node
- performance
- calculate node
- workload
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于工作量自适应快速重分配(Adaptive Fast Reassignment,AdaptFR)的负载均衡方法,该方法通过性能监控工具获得各计算节点的性能参数,然后按照性能模型为每个计算节点重新分配工作量,使慢节点获得较少的计算量,快节点获得较多的计算量,借此平衡各节点之间的完成单次迭代的时间,从而间接性地平衡了集群的负载,提高了模型训练的性能。
Description
技术领域
本发明属于分布式机器学习加速技术领域,具体是一种基于工作量自适应快速重分配的负载均衡方法。
背景技术
随着大数据时代的到来,大规模机器学习已经成为许多现代应用服务的重要组成部分。为了适应大数据的复杂性、减少应用程序计算时间,越来越多的机器学习算法转向并行分布式实现,使得分布式机器学习逐渐成为研究的热门。
迭代-收敛算法是机器学习算法中的一个重要子集。这类算法从随机生成解决方案开始,通过对输入数据的反复迭代至收敛,来不断改进从而获得解决方案。迭代收敛算法通常选择对输入数据进行分片,然后采用批量同步并行(Bulk Synchronous Parallel,BSP)模型进行分布式模型训练,其中分布式***由若干个参数服务器和计算节点组成。基于参数服务器***的数据并行化就是如上所述的一种并行化方案,其训练流程为:
1)随机初始化模型参数,由参数服务器维护模型参数的后续更新。
2)将当前全局模型参数分发给各个计算节点,每个节点维护一个局部模型参数副本。
3)将训练集样本切分为相同大小的子数据集并分发到各个计算节点。
4)进行迭代训练,计算节点通过训练相应的子数据集以对模型副本进行局部更新。
5)同步等待所有计算节点完成上传局部更新,然后参数服务器将新的全局模型参数分发给所有计算节点。
6)若迭代总次数未达到预设置的最大值,则继续从第4)步开始;否则,结束训练。
滞后问题:由于集群负载不均衡,造成性能差的计算节点拖慢整体运行速度的现象。
BSP模型存在的主要问题是滞后问题。计算节点规模的增加以及计算节点完成单次迭代训练耗时的动态变化,都会使滞后问题变得更加严重,从而造成BSP模型下的模型训练性能大幅下降。
为了解决BSP模型的滞后问题,Dean提出了分布式机器学***衡集群负载的能力是有限的,当集群负载差异较大时,SSP模型无法良好地平衡负载,从而导致其无法彻底解决滞后问题。因此如何提高分布式机器学习模型训练的性能是一个迫切需要解决的问题。
发明内容
本发明要解决的技术问题是如何减小集群性能负载不均衡对分布式机器学习模型训练带来的影响,在保证一定准确率的前提下,解决滞后问题,提高模型训练的整体性能。
在基于迭代收敛算法的分布式机器学习模型训练中,各计算节点在达到停止条件前会不断重复进入下一次迭代训练。传统的分布式机器学习模型训练中,对于每个计算节点每次迭代的训练数据集都是同等固定大小的。
本发明解决其技术问题采用的技术方案是:通过性能监控模块实现计算节点性能参数的实时获取,然后根据性能参数对各计算节点的工作量进行自适应调整。该方法采用以下步骤实现:
步骤1:采用参数服务器***。一个节点作为参数服务器,其他节点作为计算节点。
步骤2:部署性能监控模型。在参数服务器和计算节点上部署性能监控工具(Ganglia),实现节点性能参数的实时获取。
步骤3:参数服务器通过性能监控模块获取计算节点的性能参数。
步骤4:参数服务器以收集到的性能参数为依据,使用性能指标模型计算出各计算节点下一次迭代训练的工作量,并发送给计算节点。
步骤5:计算节点使用更新后的工作量进入下一次迭代训练。
本发明通过使慢节点获得较少的计算量,快节点获得较多的计算量,来平衡各节点之间的完成单次迭代的时间,从而间接性地平衡了集群的负载,提高了模型训练的性能。
本发明的有益效果:在进行分布式机器学***衡了集群各节点之间的性能差异,从而有效缓解了滞后问题,大大提高了模型训练的性能。
附图说明
图1是性能监控***架构。
图2是一个基于Caffe的分布式机器学习框架。
图3是基于AdaptFR方法的并行计算模型(A-DSP)的训练流程图。
图4是在集群节点性能相近时,不同计算模型的准确率对比。
图5是在集群节点性能相近时,不同计算模型的训练时间对比
图6是在集群节点性能差异较大时,不同计算模型的准确率对比。
图7是在集群节点性能差异较大时,不同计算模型的训练时间对比。
具体实施方式
下面结合附图和具体实施步骤对本发明做了进一步的说明:
一种基于工作量自适应快速重分配(Adaptive Fast Reassignment,AdaptFR)的负载均衡方法,包括以下步骤:
步骤1:采用参数服务器***。一个节点作为参数服务器,其他节点作为计算节点。
正如图2所示,本发明采用多线程的方式实现参数服务器,参数服务器上每个传输线程对应一个计算节点,用于维持参数服务器与计算节点之间的通信;同时,参数服务器上专门设置了一个线程作为参数更新管理器,用于处理全局模型参数的更新。
步骤2:部署性能监控模块。在参数服务器和计算节点上部署性能监控工具,实现节点性能参数的实时获取。
本发明使用分布式监测工具Ganglia作为集群监控***,该***主要由以下几部分组成:用于监测计算节点性能指标的监视守护进程(Ganglia Monitoring Daemon,Gmond),用于收集汇总数据的元守护进程Gmetad(Ganglia Meta Daemon,Gmetad),用于可视化展示性能指标数据的Gweb(ganglia-web,Gweb)。
步骤3:参数服务器通过性能监控模块获取计算节点的性能参数。
正如图1所示,性能监控***在计算节点上的部分主要用于监测各类性能指标。因此,在各计算节点上部署监视守护进程Gmond,Gmond首先收集本节点的性能指标数据,然后通过UDP协议以外部数据表示法(External Data Representation,XDR)格式将性能指标数据发送到其他计算节点上。UDP协议的实时性较好、资源占用较少,能确保尽快将数据发送到其他计算节点。而XDR具有良好的分布式化性质,可以将数据封装成与传输介质无关的形式使得该数据能够具有在异构节点传输的能力。这样,各计算节点都能拥有整个集群的性能指标数据。性能监控***在参数服务器上的部分主要用于收集计算节点上的性能指标,然后根据性能指标模型来调节各计算节点迭代计算的工作量。因此,在参数服务器上部署元守护进程Gmetad。Gmetad会通过TCP协议周期性地轮询Gmond收集到的性能指标数据。TCP协议可靠性强,无差错,不丢失,不重复,能确保发送到参数服务器的性能指标数据没有错误。由于各Gmond都具有完整的集群性能指标数据,当Gmetad从某个Gmond中拉取性能指标数据失败时,可以从另外几个Gmond中拉取性能指标数据,确保了监控***的鲁棒性。此外,在参数服务器上还部署了可视化监视数据展现网页Gweb,Gweb可以为性能监控***提供判断节点计算性能所需的各类性能指标。
步骤4:参数服务器以收集到的性能参数为依据,使用性能指标模型计算出各计算节点下一次迭代训练的工作量,并发送给计算节点。
根据测试发现,CPU占用率是影响分布式机器学习模型训练速度最主要的性能指标。因此,本发明将CPU占用率作为影响因子定义性能模型。对于有N个计算节点的集群,定义其CPU占用率分别为cpuOccupi(i=1,2,…,N),则性能指标模型的节点性能因子为
其中F为常量,AVG{cpuOccup1…,cpuOccupn}表示所有计算节点CPU占用率的平均值。
AdaptFR方法基于计算节点的节点性能因子δ的差异,对各计算节点的迭代训练量进行动态调整,从而平衡了集群负载,提高了模型训练的性能。当各计算节点的CPU占用率相差较大即δ较大时,则表明各计算节点的当前性能差异较大,此时大幅减少慢节点下次迭代的工作量或者大幅增加快节点下次迭代的工作量,来平衡节点负载;相反,若各计算节点的CPU占用率相差较小即δ较小时,则表明各计算节点当前性能差异较小,此时稍微减少慢节点下次迭代的工作量或者稍微增加快节点下次迭代的工作量或者保持不变,即可平衡节点负载。
步骤5:计算节点使用更新后的工作量进入下一次迭代训练。
A-DSP模型在SSP模型灵活一致性模型的基础上,添加了一个同步机制:假设在每次迭代训练中,慢节点完成一次迭代训练就可以进入同步屏障,进行全局同步更新。上述机制避免了A-DSP模型在集群性能相近的情况下,因迟迟无法达到同步条件使得局部模型过时过度,导致最终准确率下降,见图3。
图4和图5展示了在集群性能相近时,不同计算模型的准确率和训练时间对比。可以发现,严格的一致性模型使得BSP模型训练出来的模型准确率十分高,但由于同步屏障的频繁使用以及滞后问题的影响,BSP模型的训练时间远远超出其他计算模型。SSP模型使用了灵活一致性模型,大大降低了训练时间。但是在集群性能相近的情况下,由于不能保证计算节点及时更新全局模型参数,导致准确率大幅度下降,不适合应用于这种场景。在相同情况下,A-DSP模型通过更灵活的同步机制以及AdaptFR方法,在保证一定准确率的前提下,大大降低了训练时间,较好地适应了这场场景。
图6和图7展示了在集群性能差异较大时,不同计算模型的准确率和训练时间对比。可以发现,BSP模型依旧保持这高准确率和高训练时间的特点。在相同情况下,A-DSP模型的准确率和SSP模型比较相似,但是训练时间相比SSP模型却大幅度的降低,表明了A-DSP模型比SSP模型更适应于这种场景。
以下分别展示了AdaptFR方法在计算节点以及参数服务器上的实现过程。
Claims (3)
1.一种基于工作量自适应快速重分配的负载均衡方法,其特征在于该方法包括如下步骤:
步骤1:采用参数服务器***,一个节点作为参数服务器,其他节点作为计算节点;
步骤2:部署性能监控模型,在参数服务器和计算节点上部署性能监控工具,实现节点性能参数的实时获取;
步骤3:参数服务器通过性能监控模块获取计算节点的性能参数;
步骤4:参数服务器以收集到的性能参数为依据,使用性能指标模型计算出各计算节点下一次迭代训练的工作量,并发送给计算节点;
影响分布式机器学习模型训练速度最主要的性能指标为CPU占用率,因此将CPU占用率作为影响因子定义性能模型;对于有N个计算节点的集群集合,定义其CPU占用率分别为cpuOccupi(i=1,2,…,N),则性能指标模型的节点性能因子为
其中F为常量,AVG{cpuOccup1…,cpuOccupn}表示所有计算节点CPU占用率的平均值;
当各计算节点的CPU占用率相差较大即δ较大时,则表明各计算节点的当前性能差异较大,此时大幅减少慢节点下次迭代的工作量或者大幅增加快节点下次迭代的工作量,来平衡节点负载;相反,若各计算节点的CPU占用率相差较小即δ较小时,则表明各计算节点当前性能差异较小,此时稍微减少慢节点下次迭代的工作量或者稍微增加快节点下次迭代的工作量或者保持不变,即可平衡节点负载;
步骤5:计算节点使用更新后的工作量进入下一次迭代训练。
2.根据权利要求1所述的一种基于工作量自适应快速重分配的负载均衡方法,其特征在于:所述的参数服务器采用多线程的方式实现,每个传输线程对应一个计算节点,用于维持参数服务器与计算节点之间的通信;同时,专门设置了一个线程作为参数更新管理器,用于处理全局模型参数的更新。
3.根据权利要求1所述的一种基于工作量自适应快速重分配的负载均衡方法,其特征在于:所述的性能监控工具包括用于监测计算节点性能指标的监视守护进程Gmond,用于收集汇总数据的元守护进程Gmetad,用于可视化展示性能指标数据的Gweb。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910314058.6A CN110046048B (zh) | 2019-04-18 | 2019-04-18 | 一种基于工作量自适应快速重分配的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910314058.6A CN110046048B (zh) | 2019-04-18 | 2019-04-18 | 一种基于工作量自适应快速重分配的负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046048A true CN110046048A (zh) | 2019-07-23 |
CN110046048B CN110046048B (zh) | 2021-09-28 |
Family
ID=67277861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910314058.6A Active CN110046048B (zh) | 2019-04-18 | 2019-04-18 | 一种基于工作量自适应快速重分配的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046048B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784555A (zh) * | 2019-11-07 | 2020-02-11 | 中电福富信息科技有限公司 | 一种基于深度学习的智能监控及负载调度方法 |
CN111144584A (zh) * | 2019-12-31 | 2020-05-12 | 深圳Tcl新技术有限公司 | 参数调优方法、装置及计算机存储介质 |
US20210176174A1 (en) * | 2019-12-05 | 2021-06-10 | Institute For Information Industry | Load balancing device and method for an edge computing network |
CN113806082A (zh) * | 2021-09-05 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种节点性能数据采集的方法、装置、设备及可读介质 |
WO2022001134A1 (zh) * | 2020-06-28 | 2022-01-06 | 浪潮电子信息产业股份有限公司 | 模型并行训练任务负载均衡方法、装置、设备及存储介质 |
WO2022103575A1 (en) * | 2020-11-10 | 2022-05-19 | Oracle International Corporation | Techniques for modifying cluster computing environments |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110196655A1 (en) * | 2010-02-11 | 2011-08-11 | Sharma Anurag H K | System and method for generating three dimensional functional space reservation systems of a vehicle |
CN105446979A (zh) * | 2014-06-27 | 2016-03-30 | 华为技术有限公司 | 数据挖掘方法和节点 |
CN105550374A (zh) * | 2016-01-29 | 2016-05-04 | 湖南大学 | Spark云服务环境下面向大数据的随机森林并行机器学习方法 |
WO2016102738A1 (en) * | 2014-12-22 | 2016-06-30 | Nokia Technologies Oy | Similarity determination and selection of music |
CN106293942A (zh) * | 2016-08-10 | 2017-01-04 | 中国科学技术大学苏州研究院 | 基于多机多卡的神经网络负载均衡优化方法和*** |
CN107018184A (zh) * | 2017-03-28 | 2017-08-04 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及*** |
CN107025205A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种分布式***中的训练模型的方法及设备 |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习***能耗的方法 |
CN109445953A (zh) * | 2018-08-30 | 2019-03-08 | 北京大学 | 一种面向大规模机器学习***的机器学习模型训练方法 |
CN109635948A (zh) * | 2018-12-19 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 在线训练方法、装置、***及计算机可读存储介质 |
-
2019
- 2019-04-18 CN CN201910314058.6A patent/CN110046048B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110196655A1 (en) * | 2010-02-11 | 2011-08-11 | Sharma Anurag H K | System and method for generating three dimensional functional space reservation systems of a vehicle |
CN105446979A (zh) * | 2014-06-27 | 2016-03-30 | 华为技术有限公司 | 数据挖掘方法和节点 |
WO2016102738A1 (en) * | 2014-12-22 | 2016-06-30 | Nokia Technologies Oy | Similarity determination and selection of music |
CN105550374A (zh) * | 2016-01-29 | 2016-05-04 | 湖南大学 | Spark云服务环境下面向大数据的随机森林并行机器学习方法 |
CN107025205A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种分布式***中的训练模型的方法及设备 |
CN106293942A (zh) * | 2016-08-10 | 2017-01-04 | 中国科学技术大学苏州研究院 | 基于多机多卡的神经网络负载均衡优化方法和*** |
CN107018184A (zh) * | 2017-03-28 | 2017-08-04 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及*** |
CN109445953A (zh) * | 2018-08-30 | 2019-03-08 | 北京大学 | 一种面向大规模机器学习***的机器学习模型训练方法 |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习***能耗的方法 |
CN109635948A (zh) * | 2018-12-19 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 在线训练方法、装置、***及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
CHEN CHEN 等: "Fast Distributed Deep Learning via Worker-adaptive Batch Sizing", 《THE ACM SYMPOSIUM》 * |
CHENFAN BLOG: "分布式机器学习/深度学习论文整理", 《HTTPS://JCF94.COM/2017/12/20/2017-12-20-DISTRIBUTEDDL/》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784555A (zh) * | 2019-11-07 | 2020-02-11 | 中电福富信息科技有限公司 | 一种基于深度学习的智能监控及负载调度方法 |
US20210176174A1 (en) * | 2019-12-05 | 2021-06-10 | Institute For Information Industry | Load balancing device and method for an edge computing network |
CN111144584A (zh) * | 2019-12-31 | 2020-05-12 | 深圳Tcl新技术有限公司 | 参数调优方法、装置及计算机存储介质 |
CN111144584B (zh) * | 2019-12-31 | 2024-01-19 | 深圳Tcl新技术有限公司 | 参数调优方法、装置及计算机存储介质 |
WO2022001134A1 (zh) * | 2020-06-28 | 2022-01-06 | 浪潮电子信息产业股份有限公司 | 模型并行训练任务负载均衡方法、装置、设备及存储介质 |
US11868817B2 (en) | 2020-06-28 | 2024-01-09 | Inspur Electronic Information Industry Co., Ltd. | Load balancing method, apparatus and device for parallel model training task, and storage medium |
WO2022103575A1 (en) * | 2020-11-10 | 2022-05-19 | Oracle International Corporation | Techniques for modifying cluster computing environments |
US11609794B2 (en) | 2020-11-10 | 2023-03-21 | Oracle International Corporation | Techniques for modifying cluster computing environments |
US11789782B2 (en) | 2020-11-10 | 2023-10-17 | Oracle International Corporation | Techniques for modifying cluster computing environments |
CN113806082A (zh) * | 2021-09-05 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种节点性能数据采集的方法、装置、设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110046048B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046048A (zh) | 一种基于工作量自适应快速重分配的负载均衡方法 | |
CN108829494B (zh) | 基于负载预测的容器云平台智能资源优化方法 | |
CN105205231B (zh) | 一种基于dcom的配电网数字仿真*** | |
US11455189B2 (en) | Task scheduling simulation system | |
CN105718364A (zh) | 一种云计算平台中计算资源能力动态评估方法 | |
WO2021004063A1 (zh) | 一种缓存服务器的带宽调度方法及装置 | |
AU2022204116B2 (en) | Verification method for electrical grid measurement data | |
CN102854968B (zh) | 一种虚拟机实时能耗计量方法 | |
US10528378B2 (en) | System and method for load estimation of virtual machines in a cloud environment and serving node | |
CN113157422A (zh) | 基于深度强化学习的云数据中心集群资源调度方法及装置 | |
CN110740054B (zh) | 一种基于强化学习的数据中心虚拟化网络故障诊断方法 | |
CN108121312B (zh) | 基于一体化水电管控平台的arv负载均衡***及方法 | |
CN104902001A (zh) | 基于操作***虚拟化的Web请求负载均衡方法 | |
WO2022252546A1 (zh) | 一种信息调节方法、设备及存储介质 | |
CN110569170A (zh) | 服务器利用率的评价方法、装置、设备及其存储介质 | |
CN107948330A (zh) | 一种云环境下基于动态优先级的负载均衡策略 | |
WO2023103349A1 (zh) | 负载调节方法、管理节点以及存储介质 | |
CN116521335A (zh) | 一种倾斜影像模型生产的分布式任务调度方法及*** | |
CN116431281A (zh) | 一种基于鲸鱼优化算法的虚拟机迁移方法 | |
CN115185683A (zh) | 一种基于动态优化模型的云平台流处理资源分配方法 | |
CN114676586A (zh) | 一种基于多维、多时空的数字模拟与仿真的建构方法 | |
CN114676177A (zh) | 一种金融指标的确定方法、装置、设备、介质及产品 | |
CN111092755B (zh) | 一种基于资源占用的边缘服务迁移仿真方法 | |
JP5541289B2 (ja) | 仮想サーバシステム、その自律制御サーバ、そのデータ処理方法およびコンピュータプログラム | |
CN112737422A (zh) | 一种基于云计算的电机设备调速控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |