CN109271015B - 一种降低大规模分布式机器学习系统能耗的方法 - Google Patents
一种降低大规模分布式机器学习系统能耗的方法 Download PDFInfo
- Publication number
- CN109271015B CN109271015B CN201811177821.7A CN201811177821A CN109271015B CN 109271015 B CN109271015 B CN 109271015B CN 201811177821 A CN201811177821 A CN 201811177821A CN 109271015 B CN109271015 B CN 109271015B
- Authority
- CN
- China
- Prior art keywords
- machine learning
- load
- parameter
- energy consumption
- data
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种降低大规模分布式机器学习系统能耗的方法。本发明通过分类器对分布式机器学习系统的负载进行分类识别、状态预测,并通过减少分布式参数服务器间的通信加速任务运行来降低整个分布式机器学习系统的能耗。本发明的方法包含两部分:机器学习负载预测与类型识别方法、分布式机器学习节点间参数“懒同步”机制。本发明通过只将显著更新传递到远程数据中心来减少广域网通信的参数同步机制可以有效减少系统等待时长,加快机器学习收敛速率。对机器学习负载的预测和类型的判别有助于提高工作机的利用率,避免大量工作机开启后处于闲置状态。以上方法缩短了机器学习任务的执行时间,提高了工作机利用率,大大降低了系统能耗。
Description
技术领域
本发明涉及大规模计算机系统降耗方法,尤其是在大规模分布式机器学习系统中,通过合理优化计算机间通信与负载调度实现能耗降低的方法。
背景技术
随着计算技术、通信技术、传感器技术的进步和各类智能终端设备的普及,人类生产和生活中产生的各类数据越来越多,且数据增长速度越来越快。这些快速生成的原始数据总体规模大,但价值密度较低,目前普遍的大数据处理方法是将机器学习技术引入到大数据分析处理的过程中,通过线性回归、深度神经网络等方法构建系统模型并迭代训练,挖掘大数据背后潜在的数据规律和应用价值。
由于待处理数据规模过大,将数据集中到单一计算节点进行机器学习效率欠佳,甚至不可行。首先,单一节点的存储、计算和通信能力已无法满足处理如此海量数据的要求,也无法将复杂的数据模型应用到实际的数据处理中。其次,由于数据产生时的地理分布性,将大量的原始数据通过广域网进行远距离传输极为耗时。同时,基于用户隐私要求或部分国家地区的数据主权法的约束,未加工抽象的原始数据,比如视频监控数据、音乐影视等,只能存储于当地的数据中心中,无法跨境传输。因此,目前主要应用分布式机器学习系统对大数据进行挖掘处理和分析,不同于传统的集中式的数据处理分析。大规模分布式机器学习系统通常配置高算力芯片、高容量存储等硬件以加速模型训练和提高数据处理的吞吐量。如果单纯通过增加分布式系统的规模来提高性能,将造成系统能耗的急剧增加,同时系统可靠性和服务质量(QoS)也随着系统能耗增加而急剧下降。因此,能耗问题成为制约分布式机器学习系统规模扩展的主要阻力。
分布式机器学习系统利用海量实时数据持续训练所构建的模型。由于时间、地理位置等因素会造成机器学习负载的波动,如节假日、热点事件等甚至会造成负载量的剧烈变化。如果为了保证数据分析服务的QoS而始终按照峰值时刻的需求来进行硬件资源配置和调度,则低负载时段大部分处于待机空转的工作机将造成电力资源的大量浪费。另外,在机器学习模型迭代训练过程中,通过处理新的样本数据,模型将不断优化,可以做出更为合理的判断决策。而这样一个机器学习模型,在计算机内通常是以一组多维的参数向量表示的。由于全局模型规模庞大,参数通常以分片的形式存储于多个参数服务器中。负责运算的工作机在每次迭代中从各个参数服务器中读取参数,并向参数服务器返回运算得到的参数更新。为了保证机器学习的正确性,参数服务器在同步了所有的参数后,工作机才被允许进行下一次的迭代工作。这样的同步机制保证了工作机每次运算读取的是最新的数据,有效提升了机器学习模型收敛的准确性。但是在异构广域网环境下,尤其是地理距离较远节点之间的链路进行通信连接时,有限的带宽会使大量的参数更新拥塞,造成每次迭代耗时过长,整体性能显著下降。同时,较高的延时会造成依赖于参数更新的工作机空转,造成服务器电力浪费和能耗的增加。
因此,本发明通过分类器对分布式机器学习系统的负载进行分类识别、状态预测,并通过减少分布式参数服务器间的通信来降低整个分布式机器学习系统的能耗。
发明内容
针对现有技术的不足,本发明提供了一种降低大规模分布式机器学习系统能耗的方法。
本发明通过构造分类器对典型分布式机器学习系统的任务负载进行分类识别和未来负载状态预测,并通过减少分布式参数服务器间的通信来加速机器学习任务的运行,以降低整个分布式机器学习系统的能耗。
本发明的方法包含两部分:机器学习负载预测与类型识别方法、分布式机器学习节点间参数“懒同步”机制。其中参数“懒同步”机制又包括参数显著性检查的过滤器及数据调度器和同步约束器。远程数据中心在接收到信息后,立即送往同步约束器中进行判断。接收到广播时钟信号后,计算与本地数据中心时钟的差异值,如果大于时钟差异阈值(由服务接口初始化设定),则等待较慢的参数服务器。如果时钟差异值没有超出时钟差异阈值,则允许接收对应数据中心传来的索引信息或者参数信息。参数服务器根据调度控制器中预测的链路负载情况和参数发送队列的数据量,判断是否需要在索引信息中通知数据接收方。
具体内容如下:
(1)典型分布式机器学习负载的分类与预测方法
针对现有数据中心缺乏对机器学习工作机负载的分类与预测方法的问题,本发明提出了基于历史数据预测数据中心未来负载情况的方法和对于不同负载类型提供差异化分配工作机资源的方法。通过局部加权线性回归算法,对采集到的工作机历史负载数据进行分析(包括CPU使用率、GPU使用率、内存利用率和磁盘I/O占用率),预测未来一段时间的机器学习负载情况。如果未来一段时间负载较低,则将当前任务的部分工作机处理器降频运行直至关闭部分工作机,以达到降低能耗的目的。
同时,通过朴素贝叶斯算法对负载类型进行分类,根据负载类型将任务分配到对应的工作机上。
(2)分布式机器学习节点间参数“懒同步”机制
相较于单节点的机器学习系统,大规模分布式机器学习系统往往具有大量分布式节点,有些节点甚至分布在不同地点的数据中心,因此系统进行模型训练和数据处理时将跨越多个数据中心进行通讯。在跨数据中心之间的广域网进行通信时,传统的机器学习模型同步机制极为耗时,不仅增大了整个系统时延,也造成了系统资源的浪费与能耗的增加。在常规的机器学习模型中,模型参数往往在模型训练的初始阶段的迭代中变化较大(相对于最初的初始设置的模型参数)。在经过一定次数的迭代后,每次迭代后的参数的改变比率越来越小。如果将后期微小的参数更新累积到足够显著的程度后再进行参数同步通信,则可以大量减少整个机器学习系统的通信次数和通信数据。因此,本发明提出在链路状态不佳时,通过减少模型参数的同步频率的“懒同步”机制,以降低参数通信开销,加速系统训练效率,降低系统能耗。
为了有效保证机器学习模型收敛的正确性,避免由于过多的减少同步次数而造成不同数据中心中的全局机器学习模型间差距过大问题,本发明的分布式机器学习节点间参数“懒同步”机制中加入了参数同步的约束。根据预测的通信链路负载情况和参数发送队列的数据量,由参数服务器判断是否需要通知数据接收方在索引上显著更新到来前,涉及相关参数的工作机暂停读取这些参数。同时,参数服务器发出的消息中,还包含代表参数迭代次数的时钟信号。如果某个参数服务器接收到的时钟信号与自身时钟的差异大于设定阈值,则根据调度器策略的不同,其它节点可以等待较慢的参数服务器,或者直接通知机器学习引擎为最慢的参数服务器分配更多的工作机,减少下一个迭代执行的时间,直到时钟差异满足系统设定的阈值,否则将该节点从该机器学习训练系统中删除。由于只传递显著更新,本发明提出的分布式机器学习节点间参数“懒同步”机制减少了数据中心间的通信量。
本发明提出的大规模分布式机器学习系统的能耗优化方法,基于前述的典型机器学习负载的分类识别与预测方法和分布式机器学习节点间参数“懒同步”机制。通过只将显著更新传递到远程数据中心来减少广域网通信的参数同步机制可以有效减少系统等待时长,加快机器学习收敛速率。对机器学习负载的预测和类型的判别有助于提高工作机的利用率,避免大量工作机开启后处于闲置状态。以上方法缩短了机器学习任务的执行时间,提高了工作机利用率,大大降低了系统能耗。
附图说明
图1是降低大规模分布式机器学习系统能耗方法的体系结构。
图2是分布式机器学习节点间参数“懒同步”机制原理图。
图3是典型机器学习负载的分类与预测原理图。
具体实施方式
本发明提出的降低大规模分布式机器学习能耗的方法,其步骤如下:
步骤1:调度器收集工作机的CPU、GPU、内存、磁盘I/O的实时信息后发送给状态存储器。
步骤2:状态存储器利用接收到的处理器、内存、磁盘I/O的实时信息,计算工作机负载状况(CPU使用率、GPU使用率、内存占用率、磁盘I/O占用率)。
步骤3:调度策略管理器读取状态存储器上的负载信息。其中同一时刻不同工作机负载状况用于预测机器学习任务的负载类型(计算密集型、I/O密集型、GPU加速型、混合型),不同时刻的负载曲线用于预测未来一段时间的工作机负载。
步骤4:在机器学习任务到达时,首先使用调度策略管理器识别该机器学习任务负载类型,然后将对应调度策略发送给调度器。由调度器分配适合该类型任务的工作机。
步骤5:机器学习系统进行迭代运算并采用“懒同步”机制进行数据中心间的模型参数同步。
步骤6:调度策略管理器根据预测的负载情况,由调度器控制工作机的启动、关闭和其上处理器运行频率与电压。
步骤7:重复执行步骤1到步骤6,直到所有的机器学习任务运行完毕。
以下结合附图对本发明作进一步说明,请参阅图1。图1给出了本发明提出的降低大规模分布式机器学习系统能耗方法的体系结构。其中1是服务接口;2、3、4分别是调度策略管理器、调度器、状态存储器,三者一起构成了资源协调器;5、6分别是工作机、参数服务器,是数据中心中的重要组成部分;7代表广域网上其余数据中心内的参数服务器。
下面对本发明体系结构重要组成部分做具体介绍。
(1)服务接口
服务接口用于接受新的机器学习任务,初始化系统配置参数,并把机器学习任务发送给资源协调器,由资源协调器分配工作机资源。服务接口在机器学习任务完成之后通知用户。
(2)调度策略管理器
调度策略管理器从状态存储器内读取数据中心内各个工作机的负载状态,并且根据不同时刻的负载曲线,使用局部加权线性回归算法预测未来一段时间的工作机负载,根据同一时刻不同工作机负载状况用于预测机器学习任务的负载类型(计算密集型、I/O密集型、GPU加速型、混合型)。当新的机器学习任务到达时,调度策略管理器负责判断任务类型,并生成调度安排后发给调度器执行。每隔固定时间间隔调度策略管理器会预测未来一段时间的负载情况,并把预测之后所需做出的对应调度发送给调度器。
(3)调度器
本发明中的调度器用于进行各个数据中心内资源的调度。通过与数据中心内调度策略管理器通信,控制工作机负载的动态调整、参数服务器通信决策变更等,实现优化策略的下达。同时,调度器负责接收数据中心中状态收集器收集的内核监控数据,同调度动作一同发往状态存储器。
(4)状态存储器
本发明中的状态存储器用于调度器动作与数据中心状态的存储。根据预先设定的窗口大小,以一定频率将状态发送给调度策略管理器,为后续调度策略的学习提供原始数据集。
(5)工作机
本发明中的工作机即用于机器学习任务运行的计算节点。通过读取参数服务器中的参数,通过预设的机器学习算法进行运算操作,产生新的参数值,并返回参数服务器。
(6)参数服务器
本发明中的参数服务器用以保存机器学习任务的全局模型参数,并负责与广域网上其余数据中心内的远程参数服务器同步。
(7)其它参数服务器
本发明中的其它参数服务器代指广域网上其余数据中心内的参数服务器,用以区别本地数据中心中的参数服务器。
图2是分布式机器学习节点间参数“懒同步”机制的体系结构。本发明的“懒同步”机制是一种可以有效减少通信数据的广域网参数同步机制。图2中A是数据中心内的工作机,B是参数存储器,C是过滤器,D是消息发送队列,E是同步约束器,F是状态收集器,G是调度控制器。各组成部分介绍如下:
(A)工作机
本发明中的工作机即用于机器学习任务运行的计算节点,同图1中的工作机。
(B)参数存储器
本发明中的参数存储器为参数服务器的一个功能组件,用于存储各个参数服务器中的机器学习模型的参数值。
(C)过滤器
过滤器用于对机器学习模型参数更新的显著性进行筛选,决定是否发送参数更新。当某个参数的更新累积到一定程度,超过设定的显著性阈值时,才进行参数发送并进行下一步任务的执行。
(D)消息发送队列
消息发送队列用于接收过滤器产生的参数更新,并依次发送。为了保持机器学习模型的收敛以及收敛的正确性,消息发送队列中自动生成代表迭代次数的时钟信息、代表待发送参数的索引信息,并先于参数信息向网络广播出去。
(E)同步约束器
同步约束器用于接收其他数据中心中参数服务器的广播消息,根据消息类型以不同的约束方式限制参数存储器读取参数更新,保证不同数据中心间的模型差异不会超过设定值。
(F)状态收集器
状态收集器用于收集数据中心内的各项系统性能指标数据(如工作机的CPU使用率、GPU使用率、内存占用率、磁盘I/O占用率、工作机功耗,以及参数服务器的通信开销、通信延迟,数据中心整体功耗,以及正在运行的任务负载信息等),将其发送至图1中的调度器。
(G)调度控制器
调度控制器用于实现图1中调度器的调度方案。通过任务分配、工作机负载调整等操作,实现大规模分布式机器学习的功耗降低。
本发明提出的降低大规模分布式机器学习能耗的方法,其具体实施步骤如下:
步骤1:调度器收集工作机的CPU、GPU、内存、磁盘的实时信息后发送给状态存储器。
步骤2:状态存储器利用接收到的处理器、内存、磁盘的实时信息,计算工作机负载状况(CPU使用率、GPU使用率、内存占用率、磁盘I/O占用率、工作机功耗等)。
步骤3:调度策略管理器读取状态存储器上的负载信息。其中同一时刻不同工作机负载状况用于预测机器学习任务的负载类型(计算密集型、I/O密集型、GPU加速型、混合型),不同时刻的负载曲线用于预测未来一段时间的工作机负载。
步骤4:在机器学习任务到达时,首先使用调度策略管理器识别该机器学习任务的负载类型,然后将对应调度策略发送给调度器。由调度器分配适合该类型任务的工作机。
步骤5:机器学习系统进行迭代运算并采用“懒同步”机制进行数据中心间的模型参数同步。
步骤6:调度策略管理器根据预测的负载情况,由调度器控制工作机的启动、关闭和处理器运行频率与电压。
步骤7:重复执行步骤1到步骤6,直到所有的机器学习任务运行完毕。
下面分别对上述实施步骤进行详细说明。
(1)步骤1
调度器通过数据中心的状态收集器,收集不同工作机的功耗信息以及其CPU、GPU、内存和磁盘的实时信息,然后将该信息发送给状态存储器。
(2)步骤2
状态存储器利用接收到的信息,计算工作机负载状况(CPU使用率、GPU使用率、内存占用率、磁盘I/O占用率)。
(3)步骤3
本发明使用朴素贝叶斯算法预测机器学习任务的负载类型。具体流程分为三个阶段:
①准备工作阶段。该阶段首先确定负载特征属性,使用CPU使用率(UCPU)、GPU使用率(UGPU)、内存占用率(Umem)、磁盘占用率(Udisk)作为本算法的特征属性,分别记为f1、f2、f3、f4。为便于系统离散化,在本发明中,将使(占)用率分解成[0,0.3]、(0.3,0.6]、(0.6,1]三个区间,分别对应degree1、degree2、degree3。
本发明将机器学习任务分为四个类别:计算密集型、I/O密集型、GPU加速型、混合型,分别记为C1、C2、C3、C4。为提高预测准确率,本发明在本阶段需要对一些已经学习完成的任务进行监督分类和标记,形成训练样本集合。
②分类器训练阶段。该阶段的主要任务是生成分类器,有程序统计各个负载类别出现的频率及每个特征属性划分对每个类别的条件概率估计值,该工作由程序自动计算完成。
③应用阶段。这个阶段的任务是使用分类器对待分类的任务进行分类,其输入是分类器和待处理的机器学习任务,输出的是机器学习任务与类别的映射关系。使用分类器对机器学习任务进行分类时需要输入该任务的UCPU、UGPU、Umem、Udisk等信息,本发明对机器学习任务进行分类,以针对不同类别任务分配合适的工作机。本发明的方法是先划分出小批量数据进行训练,对该训练过程提取特征属性作为分类的依据,等待分类完成后按照任务分类结果将其调度到对应的工作机上。基于朴素贝叶斯算法的训练过程如算法1所示:
其中算法1各参数的说明如下:
train()函数:用于统计各类别占总样本数比例以及每个特征属性划分对每个类别的概率。
num_classes:表示类别的总数量。
num_task:表示训练任务样本数量。
Numci:表示ci类别所占样本的数量。
p(ci):表示ci类任务所占比例。
feature_degree:对应特征属性的三个区间。
p(fj=k|c=i):任务类别为i的情况下,j特征为k的概率。
任务负载类型识别的算法如算法2所示。
其中算法2的各个参数说明如下:
predit()函数:用于在已知UCPU、UGPU、Umem、Udisk情况下,判断任务类别的函数。
max_p:概率最大的情况。
result:对应概率最大的任务类别。
f′i:表示机器学习任务第i个特征属性的取值
本发明使用局部加权线性回归法预测未来一段时间的机器学习任务负载。其具体过程为:设p分钟为一个时间段,p分钟内的负载取平均值代表该时间段的负载水平。设某一时间段为T1,其下一时间段为T2,依次类推。用当前时间段及前n-1个时间段的负载作为特征,预测下一个时间段的负载。不同时间段对应的权重不同,当前时间段的权重最大,且权重向前依次递减,权重值可以通过自定义设定并动态调整配置。预测完本次后,时间窗口向后滑动,继续预测下一时刻。该算法的示意图参见图3。计算预测误差的求平方误差表达式为:
其中θ表示回归系数,xi表示第i个时间段之前n个样本点历史真实负载的向量,yi表示第i个时间段样本点的负载数据向量,weight是权重矩阵,weight(i,i)表示第i个时间段对应的权重。权重使用高斯核,权重对应计算方法为:
在上述权重计算方法中,如果第i个样本点xi距离基准测试点x的距离越小,weight(i,i)就会越大。其中预设参数k决定了权重的大小,k越大权重的差距就越小,k越小权重的差距就很大,因此仅有局部的点参与了距离较近的回归系数θ的求取,其他距离较远的权重都趋近于零。如果k趋近于无穷大,所有的权重都趋近于1,weight也就近似等于单位矩阵,局部加权线性回归变成标准的无偏差线性回归,会造成欠拟合的现象;当k很小的时候,距离较远的样本点无法参与回归参数的求取,会造成过拟合的现象。
局部加权线性回归法参数计算过程如算法3所示:
其中算法3各参数的说明如下:
lwlr()函数:用于计算预测模型对应的θ值的函数。
k:为自定义参数,用于调整权重大小。
X:基准测试点前n个点的负载组成的矩阵。
Y:基准测试点的负载矩阵。
current:时间轴上当前对应时刻。
n:用于预测的滑动窗口长度。
weight:权重矩阵。
weight(i,i):第i个时间段对应的权重。
xTwx:代指向量X的转置乘weight,再乘向量X。
基于上述算法3中的用于计算预测模型对应的θ值的函数及历史真实负载值,对机器学习任务负载预测算法如算法4所示。
其中算法4的参数的说明如下:
predict()函数:用于预测下一时刻负载值的函数。
num_sample:表示时间样本序列的数量。
featurei:表示第i个时间段之前n个样本点历史真实负载值。
labeli:表示第i行的所有特征,即当前时刻的特征。
predit[i]:预测出i时刻对应的负载值。
(4)步骤4
当一个新的机器学习任务到达时,使用步骤3中的贝叶斯分类算法生成的模型来预测该任务所属的类别。根据任务类别,将其分配给具有完成相应负载配置所需的高能效比组件的工作机上,以降低该工作机的功耗。
(5)步骤5
在机器学习模型的迭代运算中,工作机分别读取本地参数存储器中的参数,执行机器学习算法对数据集进行处理。每次迭代结束后,工作机将参数更新发送至本地参数存储器中。本地参数存储器将参数更新发送给过滤器进行检验,如果显著性低于设定的显著性阈值(由服务接口初始化设定)则不进行消息生成,直到高于阈值。
本发明提出的分布式机器学习节点间参数“懒同步”更新算法如算法5所示。
其中算法5中各参数的说明如下:
m:代表参数m。
i:代表第i次迭代。
threshold_i:迭代次数阈值,代表设定的最高迭代次数。
threshold_sigm:显著性阈值,用于判断参数更新是否显著。
valuem,i:代表参数m在工作机第i次迭代的值(i为base时,代表上次发送的值;i为send时,为本次发送的值)。
updatem:代表参数m每次迭代的更新(每次迭代参数值的差)。
acc_updatem:代表参数m在发送之前的累积更新。
sigm:代表参数m更新的显著性。
过滤器生成的信息分为三种:时钟信号信息包含代表数据中心迭代次数的时钟信号;索引信息包含待发送参数数据的列表;参数信息为更新后的参数数据。时钟信号信息、索引信息和参数信息依次进入发送队列等待广播。这样可以保证接收方的顺序也依次是时钟信号信息、索引信息和参数信息。
远程数据中心在接收到信息后,立即送往同步约束器中进行判断。接收到广播时钟信号后,计算与本地数据中心时钟的差异值,如果大于时钟差异阈值(由服务接口初始化设定),则等待较慢的参数服务器。如果时钟差异值没有超出时钟差异阈值,则允许接收对应数据中心传来的索引信息或者参数信息。
参数服务器根据调度控制器中预测的链路负载情况和参数发送队列的数据量,判断是否需要在索引信息中通知数据接收方:索引上的显著更新数据到来前,涉及相关参数的工作机暂停读取这些参数。如果索引信息表明与对方网络连接质量不佳,或者参数量较大,此时同步约束器需要向参数存储器发送一个约束通知,保证索引中列举参数暂时不被读取。直到参数数据到达,依赖于这些参数的工作机才可以再次运转。这一步骤保障了机器学习过程不会因减少通讯次数而导致可能的无法收敛。具体算法如算法6所示。
其中算法6中的各参数说明如下:
m:代表参数m。
n:代表数据中心n。
isMissonComplished:表示机器学习任务是否完成,true为完成,false为未完成。
List_Paramn:代表数据中心n(发送方)的索引信息。
clockn:代表数据中心n(发送方)的时钟信息。
clockbase:代表本地数据中心(接收方)的时钟状态。
latency_WAN:代表广域网延时。
capacity_List_Paramn:代表数据中心n(发送方)的索引信息中参数的数量。
threshold_clockDiff:时钟差异阈值,代表设定允许的数据中心间迭代次数差异最大值。
deadline_clockDiff:时钟差异底线,代表数据中心间迭代次数差异的底线。如果迭代次数差异超过此底线,则将较慢数据中心节点从机器学习任务中移除。
threshold_latency:广域网延时阈值。
threshold_capacity:索引信息参数数量阈值。
(6)步骤6
根据步骤3中预测的未来一段时间的负载,与当前时刻负载进行比较。如未来负载将大幅下降,则将部分负载较低的工作机上的任务迁移并合并到一定的工作机子集,并关闭其余部分工作机,达到节省能耗的目的;如负载变化不大,则降低运行负载的工作机的处理器频率和电压;如负载将大幅增加,则启动额外的工作机。
(7)步骤7
重复执行步骤1到步骤6,直到所有的机器学习任务运行完毕。
Claims (2)
1.一种降低大规模分布式机器学习系统能耗的方法,其特征在于该方法包括如下步骤:
步骤1:调度器收集工作机的CPU、GPU、内存、磁盘的实时信息后发送给状态存储器;
步骤2:状态存储器利用接收到的信息,计算工作机负载状况,包括CPU使用率、GPU使用率、内存占用率和磁盘占用率;
步骤3:调度策略管理器读取状态存储器上的负载信息,使用朴素贝叶斯算法预测机器学习任务的负载类型,包括计算密集型、I/O密集型、GPU加速型、混合型;使用基于滑动窗口机制的局部加权线性回归法预测未来一段时间的负载;
步骤4:在机器学习任务来临时,首先使用调度策略管理器,利用步骤3贝叶斯算法生成的模型预测该机器学习任务负载类型,然后将对应调度策略发送给调度器;由调度器分配适合该类型任务的工作机;
步骤5:分布式机器学习系统进行迭代运算并采用“懒同步”机制进行数据中心间的模型参数同步;所述“懒同步”机制通过设置包含显著性阈值的过滤器,使显著性较低的参数更新累积到较高水平后再参与数据中心间参数服务器的同步,通过降低通信频次和通信量来降低系统能耗;在过滤器的基础上,通过增加迭代时钟信号和索引信息等约束机制,有效保证机器学习在通信量减少的情况下的收敛性与准确性;
所述的“懒同步”机制中加入了参数同步的约束,根据预测的通信链路负载情况和参数发送队列的数据量,由参数服务器判断是否需要通知数据接收方在索引上显著更新到来前,涉及相关参数的工作机暂停读取这些参数;同时,参数服务器发出的消息中,还包含代表参数迭代次数的时钟信号;如果某个参数服务器接收到的时钟信号与自身时钟的差异大于设定阈值,则根据调度器策略的不同,其它节点可以等待较慢的参数服务器,或者直接通知机器学习引擎为最慢的参数服务器分配更多的工作机,减少下一个迭代执行的时间,直到时钟差异满足系统设定的阈值,否则将该节点从该机器学习训练系统中删除;
步骤6:调度策略管理器根据步骤3中的对于未来负载的预测,由调度器控制工作机的启动、关闭和其上处理器运行频率与电压;
步骤7:重复执行步骤1到步骤6,直到所有的机器学习任务运行完毕。
2.根据权利要求1所述的一种降低大规模分布式机器学习系统能耗的方法,其特征在于:
步骤3中的局部加权线性回归法预测未来一段时间的负载,具体是:设p分钟为一个时间段,p分钟内的负载取平均值代表该时间段的负载水平;设某一时间段为T1,其下一时间段为T2,依次类推;用当前时间段及前n-1个时间段的负载作为特征,预测下一个时间段的负载;不同时间段对应的权重不同,当前时间段的权重最大,且权重向前依次递减,权重值可通过自定义设定并动态调整配置;预测完本次后,时间窗口向后滑动,继续预测下一时刻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811177821.7A CN109271015B (zh) | 2018-10-10 | 2018-10-10 | 一种降低大规模分布式机器学习系统能耗的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811177821.7A CN109271015B (zh) | 2018-10-10 | 2018-10-10 | 一种降低大规模分布式机器学习系统能耗的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271015A CN109271015A (zh) | 2019-01-25 |
CN109271015B true CN109271015B (zh) | 2020-07-24 |
Family
ID=65196925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811177821.7A Active CN109271015B (zh) | 2018-10-10 | 2018-10-10 | 一种降低大规模分布式机器学习系统能耗的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271015B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918602B (zh) * | 2019-02-26 | 2021-04-30 | 南威软件股份有限公司 | 一种Web数据预加载方法及系统 |
CN109768935B (zh) * | 2019-03-14 | 2023-10-10 | 海南梯易易智能科技有限公司 | 带智能识别与过滤功能的无线路由器及其安全运行方法 |
CN110046048B (zh) * | 2019-04-18 | 2021-09-28 | 杭州电子科技大学 | 一种基于工作量自适应快速重分配的负载均衡方法 |
CN112148470B (zh) * | 2019-06-28 | 2022-11-04 | 富联精密电子(天津)有限公司 | 参数同步方法、计算机装置及可读存储介质 |
CN110580210A (zh) * | 2019-07-31 | 2019-12-17 | 杭州电子科技大学 | 一种服务器功耗攻击的检测方法 |
WO2021126272A1 (en) * | 2019-12-20 | 2021-06-24 | Hewlett-Packard Development Company, L.P. | Machine learning workload orchestration in heterogeneous clusters |
CN111131080B (zh) * | 2019-12-26 | 2021-09-07 | 电子科技大学 | 分布式深度学习流调度方法、系统、设备 |
CN111079948B (zh) * | 2019-12-27 | 2023-02-24 | 电子科技大学 | 一种基于sdn的分布式机器学习训练加速方法 |
TW202137078A (zh) * | 2020-03-24 | 2021-10-01 | 廣達電腦股份有限公司 | 資料處理系統及資料處理方法 |
CN111737078B (zh) * | 2020-05-12 | 2021-11-23 | 华南理工大学 | 基于负载类型的自适应云服务器能耗测算方法、系统及设备 |
CN113821332B (zh) * | 2020-06-19 | 2024-02-13 | 富联精密电子(天津)有限公司 | 自动机器学习系统效能调优方法、装置、设备及介质 |
WO2022000169A1 (zh) * | 2020-06-29 | 2022-01-06 | 深圳大学 | 跨数据中心的数据分析方法、装置、设备及存储介质 |
CN114139723B (zh) * | 2021-11-30 | 2024-06-21 | 支付宝(杭州)信息技术有限公司 | 用于深度学习模型训练的方法、装置及系统 |
CN116775382B (zh) * | 2023-08-21 | 2023-10-27 | 江苏拓浦高科技有限公司 | 基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103076870B (zh) * | 2013-01-08 | 2015-10-28 | 北京邮电大学 | 数据中心中能耗驱动的应用融合调度和资源动态配置方法 |
CN105549911B (zh) * | 2015-12-14 | 2019-01-25 | 曙光信息产业股份有限公司 | Nvram的数据传输方法和装置 |
US20170256951A1 (en) * | 2016-03-05 | 2017-09-07 | Daniel Crespo-Dubie | Distributed System and Methods for Coordination, Control, and Virtualization of Electric Generators, Storage and Loads. |
CN107018184B (zh) * | 2017-03-28 | 2019-08-30 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及系统 |
-
2018
- 2018-10-10 CN CN201811177821.7A patent/CN109271015B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109271015A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271015B (zh) | 一种降低大规模分布式机器学习系统能耗的方法 | |
CN111459617B (zh) | 基于云平台的容器化应用自动分配优化系统及其方法 | |
WO2020206705A1 (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
CN111274036B (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
WO2022016808A1 (zh) | 一种kubernetes集群资源动态调整方法及电子设备 | |
CN111026549B (zh) | 一种电力信息通信设备自动化测试资源调度方法 | |
CN103036974A (zh) | 基于隐马尔可夫模型的云计算资源调度方法和系统 | |
CN115037749A (zh) | 一种性能感知的大规模微服务智能多资源协同调度方法及系统 | |
CN115934333A (zh) | 基于历史数据感知的云计算资源调度方法及调度系统 | |
CN117076882A (zh) | 一种云服务资源动态预测管理方法 | |
CN115543626A (zh) | 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法 | |
CN113902116A (zh) | 一种面向深度学习模型推理批处理优化方法与系统 | |
WO2022026044A1 (en) | Sharing of compute resources between the virtualized radio access network (vran) and other workloads | |
CN115237568A (zh) | 一种面向边缘异构设备的混合权重任务调度方法及系统 | |
Li et al. | Neighborhood search-based job scheduling for IoT big data real-time processing in distributed edge-cloud computing environment | |
Song et al. | Adaptive and collaborative edge inference in task stream with latency constraint | |
CN110929885A (zh) | 一种面向智慧校园的分布式机器学习模型参数聚合方法 | |
Sun et al. | A resource allocation scheme for edge computing network in smart city based on attention mechanism | |
CN113676357A (zh) | 面向电力物联网中边缘数据处理的决策方法及其应用 | |
CN117349026A (zh) | 一种用于aigc模型训练的分布式算力调度系统 | |
CN113360245A (zh) | 基于移动云计算深度强化学习的物联网设备任务下载方法 | |
CN116389591A (zh) | 一种基于跨域分布式处理系统及调度优化方法 | |
CN111784029A (zh) | 一种雾节点资源分配方法 | |
Chen et al. | Pickyman: A preemptive scheduler for deep learning jobs on gpu clusters | |
CN116456372B (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 |