CN110046048B - 一种基于工作量自适应快速重分配的负载均衡方法 - Google Patents
一种基于工作量自适应快速重分配的负载均衡方法 Download PDFInfo
- Publication number
- CN110046048B CN110046048B CN201910314058.6A CN201910314058A CN110046048B CN 110046048 B CN110046048 B CN 110046048B CN 201910314058 A CN201910314058 A CN 201910314058A CN 110046048 B CN110046048 B CN 110046048B
- Authority
- CN
- China
- Prior art keywords
- performance
- node
- model
- workload
- computing nodes
- 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.)
- Active
Links
Images
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{cpuOccupi…,cpuOccupn}表示所有计算节点CPU占用率的平均值;
当各计算节点的CPU占用率相差较大即δ较大时,则表明各计算节点的当前性能差异较大,此时大幅减少慢节点下次迭代的工作量或者大幅增加快节点下次迭代的工作量,来平衡节点负载;相反,若各计算节点的CPU占用率相差较小即δ较小时,则表明各计算节点当前性能差异较小,此时稍微减少慢节点下次迭代的工作量或者稍微增加快节点下次迭代的工作量或者保持不变,即可平衡节点负载;
步骤5:计算节点使用更新后的工作量进入下一次迭代训练;
在SSP模型的基础上,添加了一个同步机制:假设在每次迭代训练中,慢节点完成一次迭代训练就进入同步屏障,进行全局同步更新。
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 CN110046048A (zh) | 2019-07-23 |
CN110046048B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784555A (zh) * | 2019-11-07 | 2020-02-11 | 中电福富信息科技有限公司 | 一种基于深度学习的智能监控及负载调度方法 |
TWI729606B (zh) * | 2019-12-05 | 2021-06-01 | 財團法人資訊工業策進會 | 用於一邊緣運算網路的負載平衡裝置及方法 |
CN111144584B (zh) * | 2019-12-31 | 2024-01-19 | 深圳Tcl新技术有限公司 | 参数调优方法、装置及计算机存储介质 |
CN111752713B (zh) | 2020-06-28 | 2022-08-05 | 浪潮电子信息产业股份有限公司 | 模型并行训练任务负载均衡方法、装置、设备及存储介质 |
US11609794B2 (en) | 2020-11-10 | 2023-03-21 | Oracle International Corporation | Techniques for modifying cluster computing environments |
CN113806082A (zh) * | 2021-09-05 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种节点性能数据采集的方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习***能耗的方法 |
CN109635948A (zh) * | 2018-12-19 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 在线训练方法、装置、***及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8660822B2 (en) * | 2010-02-11 | 2014-02-25 | Airbus Engineering Centre India | System and method for generating three dimensional functional space reservation systems of a vehicle |
CN105446979B (zh) * | 2014-06-27 | 2019-02-01 | 华为技术有限公司 | 数据挖掘方法和节点 |
CN107025205B (zh) * | 2016-01-30 | 2021-06-22 | 华为技术有限公司 | 一种分布式***中的训练模型的方法及设备 |
CN106293942A (zh) * | 2016-08-10 | 2017-01-04 | 中国科学技术大学苏州研究院 | 基于多机多卡的神经网络负载均衡优化方法和*** |
CN107018184B (zh) * | 2017-03-28 | 2019-08-30 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及*** |
CN109445953A (zh) * | 2018-08-30 | 2019-03-08 | 北京大学 | 一种面向大规模机器学习***的机器学习模型训练方法 |
-
2019
- 2019-04-18 CN CN201910314058.6A patent/CN110046048B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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云服务环境下面向大数据的随机森林并行机器学习方法 |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习***能耗的方法 |
CN109635948A (zh) * | 2018-12-19 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 在线训练方法、装置、***及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
分布式机器学习/深度学习论文整理;Chenfan Blog;《https://jcf94.com/2017/12/20/2017-12-20-distributeddl/》;20171220;第1-17页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110046048A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046048B (zh) | 一种基于工作量自适应快速重分配的负载均衡方法 | |
CN106648904B (zh) | 一种流式数据处理自适应速率控制方法 | |
US9386086B2 (en) | Dynamic scaling for multi-tiered distributed systems using payoff optimization of application classes | |
CN110990155B (zh) | 一种面向大规模安全监控的参数通信方法 | |
US11784931B2 (en) | Network burst load evacuation method for edge servers | |
CN108416465B (zh) | 一种移动云环境下的工作流优化方法 | |
CN107517254B (zh) | 一种动态数据请求处理***及方法 | |
CN104038392A (zh) | 一种云计算资源服务质量评估方法 | |
CN103561055B (zh) | 基于会话的云计算环境下Web应用自动弹性扩展方法 | |
CN105718364A (zh) | 一种云计算平台中计算资源能力动态评估方法 | |
CN111861793A (zh) | 基于云边协同计算架构的配用电业务分配方法及装置 | |
WO2022252546A1 (zh) | 一种信息调节方法、设备及存储介质 | |
CN113778691B (zh) | 一种任务迁移决策的方法、装置及*** | |
CN115934333A (zh) | 基于历史数据感知的云计算资源调度方法及调度*** | |
CN110888744B (zh) | 一种基于工作量自动调优的负载均衡方法 | |
CN111585915A (zh) | 长、短流量均衡传输方法、***、存储介质、云服务器 | |
CN107948330A (zh) | 一种云环境下基于动态优先级的负载均衡策略 | |
CN113543160B (zh) | 5g切片资源配置方法、装置、计算设备及计算机存储介质 | |
CN113821317A (zh) | 一种边云协同的微服务调度方法、装置及设备 | |
CN110377411B (zh) | 一种面向分布式云的工作流任务调度方法和*** | |
CN110971451B (zh) | Nfv资源分配方法 | |
CN109002666A (zh) | 基于dr二阶算法和dds-qos的仿真计算方法 | |
WO2023097661A1 (zh) | 基于生成对抗网络的大数据***资源配置参数调优方法 | |
CN115081619A (zh) | 一种面向异构集群加速分布式训练的方法及*** | |
CN115345306A (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 |