CN116010051A - 一种联邦学习多任务调度方法及装置 - Google Patents
一种联邦学习多任务调度方法及装置 Download PDFInfo
- Publication number
- CN116010051A CN116010051A CN202211659095.9A CN202211659095A CN116010051A CN 116010051 A CN116010051 A CN 116010051A CN 202211659095 A CN202211659095 A CN 202211659095A CN 116010051 A CN116010051 A CN 116010051A
- Authority
- CN
- China
- Prior art keywords
- event
- priority
- current event
- task
- scheduling
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种联邦学习多任务调度方法及装置,获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。本发明确保了任务执行过程公平性,降低了系统整体任务执行时间,提高了资源利用率。
Description
技术领域
本发明涉及联邦学习技术领域,尤其涉及一种联邦学习多任务调度方法及装置。
背景技术
随着人工智能和大数据技术的飞速发展,数据作为生产要素发挥着重要作用。人工智能技术需要对数据进行集中处理,但由于日益增长的数据隐私问题,传统人工智能不适用于隐私保护场景。联邦机器学习是一种新型的分布式机器学习方法,允许在边缘隐私敏感设备上进行机器学习训练而无需数据向外传输,避免因数据集中到服务器产生的隐私泄露风险。通过联邦机器学习技术进行数据的隐私保护,可以使人工智能在现实场景中进一步应用。边缘设备存有多种业务数据,可以并发参与多种联邦机器学习训练任务,实现数据资产收益最大化。
现有技术中,可以通过初始化候选调度方案列表,其中,候选调度方案用于为多个机器学习任务中的每个机器学习任务分配用于训练的终端设备;对于候选调度方案列表中的每个候选调度方案,对候选调度方案进行扰动,生成新的调度方案;基于候选调度方案的适应值以及新的调度方案的适应值,确定是否以新的调度方案替换候选调度方案,生成新的调度方案列表;基于新的调度方案列表中的每个新的调度方案的适应值,确定目标调度方案。该现有技术提供的多任务调度方法提高了服务调度的效率,也提高了多任务联邦机器学习的训练效率,其根据终端设备的资源状态进行调度方案的生成,但是没有涉及对联邦机器学习任务细分事件所需资源存在异构性的考虑,缺少针对任务细分事件属性进行资源适配的设计。
联邦机器学习也可以通过S1、构建多任务联邦机器学习的系统模型;S2、建立以最小化多任务联邦机器学习过程的时间为目标的优化问题;S3、调度设备参与联邦机器学习任务训练过程;S4、将设备调度过程转化为多臂赌博机和匹配过程;S5、设计设备调度算法。该现有技术为联邦机器学习中的每个任务调度最合适的设备,从而最小化多任务联邦机器学习过程的时延。其使用了多臂赌博机和匹配进行设备调度的方法,但仅针对不同的任务构建可用设备偏好列表,没有根据任务的动态优先级进行资源的优先分配,存在高优先级任务无法快速执行的缺点。
联邦机器学习还可以通过在联邦机器学习管控平台和联邦机器学习参与方计算设备上部署联邦机器学习应用模块。其使得各联邦机器学习参与方可以在使用异构计算设备的情况下,通过注册审批的形式加入联邦,在管控平台的调度下,使用适配于异构计算设备的通用联邦机器学习应用模块执行联邦机器学习建模任务及预测任务,使得有意愿加入联邦的参与方在能满足基本需求的情况下灵活、按需选择计算设备,并且降低部署和运维难度。上述现有技术应用于异构计算设备的联邦机器学习系统调度机制,使用适配于异构计算设备的通用联邦机器学习应用模块使得有意愿加入联邦的参与方按设备属性选择计算设备,但是没有考虑针对联邦机器学习并发任务进行调度优化设计。
综上所述,边缘设备可提供的计算资源和通信资源有限,同时当前联邦机器学习系统在多任务并发执行状态下边缘设备计算任务负载不均衡,导致整体联邦机器学习任务执行缓慢以及系统资源利用率低。因此在资源受限的状态下设计多任务调度机制,实现多个联邦机器学习任务并发高效执行成为当前联邦机器学习系统急需解决的问题。
发明内容
本发明提供一种联邦学习多任务调度方法及装置,用以解决上述问题。
本发明提供一种联邦学习多任务调度方法,包括:
获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;
根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;
根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;
利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
根据本发明提供的一种联邦学习多任务调度方法,所述根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率,包括:
根据所述当前事件的类型获取对应的事件权重;
根据所述事件权重以及属性信息中目标联邦学习任务的优先级计算得到事件优先级比率。
根据本发明提供的一种联邦学习多任务调度方法,所述根据所述事件权重以及属性信息中目标联邦学习任务的优先级信息计算得到事件优先级比率,包括:
根据所述事件权重αE(i)以及属性信息中目标联邦学习任务的优先级PR计算得到事件优先级比率βi:
其中,Cw为目标联邦学习任务的优先级权重常数。
根据本发明提供的一种联邦学习多任务调度方法,在所述据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率之后,该方法还包括:
根据所述事件优先级比率确定所述当前事件在调度队列中的队列序号;
相应地,所述根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级,包括:
获取所述当前事件进入调度队列的时间;
根据所述队列序号以及所述时间计算得到累积优先级。
根据本发明提供的一种联邦学习多任务调度方法,所述根据所述事件优先级比率确定所述当前事件在调度队列中的队列序号,包括:
根据所述事件优先级比率βi确定所述当前事件在调度队列中的队列序号Qi:
其中,βthreshold为事件优先级阈值,Nqueue为调度队列的队列序号阈值。
相应地,所述根据所述队列序号以及所述时间计算得到累积优先级,包括:
根据所述队列序号Qi以及所述时间ti计算得到累积优先级Pi(t):
其中,t为当前时间,ti为每个事件到达调度序列的时间。
根据本发明提供的一种联邦学习多任务调度方法,所述基于所述计算节点并按照所述累积优先级执行所述当前事件,包括:
在至少两个事件对应的累积优先级相等的情况下,根据当前事件进入调度队列的时间确定执行所述当前事件的顺序;
基于所述计算节点以及所述顺序执行所述当前事件。
根据本发明提供的一种联邦学习多任务调度方法,所述利用预定义的自适应资源分配算法为所述当前事件分配计算节点,包括:
根据历史计算资源信息以及历史数据集信息确定训练时间基准;
根据所述训练时间基准以及时间阈值确定训练时间范围,根据所述训练时间范围确定可用计算节点,所有可用计算节点构成计算资源集合;
对计算资源中每一可用计算节点进行资源评分,并按照评分结果对所述可用计算节点进行排序,以获得排序后的计算资源集合;
根据所述排序后的计算资源集合为所述当前事件分配计算节点。
根据本发明提供的一种联邦学习多任务调度方法,所述排序后的计算资源集合为按照评分结果从大到小对所述可用计算节点进行排序后得到;
相应地,所述根据所述排序后的计算资源集合为所述当前事件分配计算节点,包括:
将所述排序后的计算资源集合中的可用计算节点依次分配给所述当前事件,直到分配给所述当前事件的可用计算节点数量等于预设的数量阈值或所述排序后的计算资源集合中无可用计算节点可分配。
根据本发明提供的一种联邦学习多任务调度方法,所述当前事件为机器学习任务的本地训练事件、模型评估事件或全局模型更新事件中的一种。
本发明还提供一种多任务调度装置,包括:
任务与事件获取模块,用于获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;
事件优先级比率确定模块,用于根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;
累积优先级确定模块,用于根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;
节点分配与执行模块,用于利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
本发明提供的联邦学习多任务调度方法及装置,通过将联邦机器学习任务细分为多个联邦机器学习事件,每一事件对应有事件权重,且结合任务的属性信息以及事件的等待时长等因素对当前事件进行优先级动态累积并生成待执行任务队列,确保任务执行过程的公平性,解决联邦机器学习系统并发任务执行时间长的问题。并利用自适应资源分配算法为事件合理分配计算资源,减少边缘设备资源闲置,提高系统资源利用率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的多任务调度机制的架构示意图;
图2是本发明实施例提供的联邦学习多任务调度方法的流程示意图;
图3是本发明实施例提供的事件执行时间的对比图;
图4是本发明实施例提供的事件吞吐量的对比图;
图5为本发明实施例提供的多任务调度装置结构示意图;
图6为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在联邦机器学习训练过程中,每一通信轮次计算节点和聚合节点需要进行多次通信协商,节点等待通信协商过程中存在计算资源闲置的问题,同时在节点进行训练过程时,存在通信资源闲置问题,因此本发明对联邦机器学习任务进行事件划分,依据计算资源占用率和通信资源占用率的不同将联邦机器学习任务的每一轮次细分为多种联邦机器学习事件,针对不同事件进行细粒度联邦机器学习多任务调度机制设计,可以提高边缘设备的资源利用率。由于边缘设备存在计算资源异构性、数据资产差异性、以及设备位置分散性的特点,因此本发明结合计算节点的数据量、计算能力、通信能力进行联邦机器学习多任务调度机制的资源分配设计,从而实现联邦机器学习系统并发任务整体执行时长的降低。通过联邦机器学习多任务调度机制,解决联邦机器学习系统中并发任务执行时间长和资源利用率低的问题,提供一个高效的联邦机器学习任务训练环境。
在对本发明的联邦学习多任务调度方法进行介绍之前,对联邦学习多任务调度方法中所涉及到的硬件设备进行说明。
图1是本发明实施例提供的多任务调度机制的架构示意图;如图1所示,多任务调度机制的架构主要包括分布式计算节点、聚合服务器以及调度服务器。
其中,分布式计算节点指代联邦机器学习场景中的各类边缘隐私敏感设备,其是联邦机器学习过程中的数据持有者和执行本地模型训练任务的实际计算节点,具有数据资产差异性和计算、通信资源异构性,主要用于执行计算密集型联邦机器学习事件,如训练事件和模型测试事件等。
聚合服务器为联邦机器学习任务的聚合,通常由参与联邦机器学习任务的某个节点担任,主要执行通信密集型的联邦机器学习,如模型下发事件和模型聚合事件。
调度服务器提供资源注册服务和任务调度服务。
分布式计算节点通过资源注册接口向管理端注册计算资源、通信资源、数据资源、任务资源。管理端接收注册信息并进行更新和维护。管理端通过调度服务管理任务的生命周期,为任务进行优先级排序并分配可用资源。
在上述多任务调度机制的架构下,实现联邦学习多任务调度方法,简单来说,先根据任务累积优先级队列确定就绪任务的执行顺序;然后选择合适的联邦机器学习任务进行资源分配开始任务的执行,通过联邦学习多任务调度方法实现资源利用率和事件吞吐量的提高。
图2是本发明实施例提供的联邦学习多任务调度方法的流程示意图;如图2所示,该联邦学习多任务调度方法,包括:
S101,获取目标联邦学习任务以及所述目标联邦学习任务的当前事件。
其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源(或者是计算资源占用率和通信资源占用率的不同)对所述目标联邦学习任务进行阶段划分得到,比如,联邦机器学习任务中的模型训练本地训练事件、模型评估事件以及全局模型更新事件。通过事件将整个联邦学习任务的执行过程进行了细致的划分,后续再基于细分的事件进行细粒度的调度和资源分配。事件的划分还可以更加细致,本发明对此不作限定。
在本步骤中,先获取目标联邦学习任务,即待执行的联邦学习任务,然后确定目标联邦学习任务当前事件,即目标联邦学习任务执行到哪个阶段,当前事件可以是上述提到的本地训练事件、模型评估事件或全局模型更新事件中的任意一种。
S102,根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率。
在本步骤中,目标联邦学习任务的属性信息是指联邦学习任务的任务描述,比如任务优先级、任务数据信息等等。不同的当前事件类型具有不同的事件权重,也即同一任务下,不同的执行阶段对应有不同的执行优先级。根据上述提到的属性信息以及确定的当前事件类型获得当前事件对应的事件优先级比率,从而能够保证高优先级的任务能够及时运行,且为了公平对待每个任务,为任务添加了事件权重影子,实现任务之间的公平共享。
S103,根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级。
S104,利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
在本步骤中,通过确定的累积优先级来表征当前事件的调用顺序,再利用自适应资源分配算法为当前事件分配计算节点,根据分配到的计算节点和累积优先级执行当前事件。
本发明实施例提供的联邦学习多任务调度方法,通过将联邦机器学习任务细分为多个联邦机器学习事件,每一事件对应有事件权重,且结合任务的属性信息以及事件的等待时长等因素对当前事件进行优先级动态累积并生成待执行任务队列,确保任务执行过程的公平性,解决联邦机器学习系统并发任务执行时间长的问题。并利用自适应资源分配算法为事件合理分配计算资源,减少边缘设备资源闲置,提高系统资源利用率。
在本发明的一些实施例中,所述根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率,包括:
根据所述当前事件i的类型E(i)获取对应的事件权重αE(i)。其中,事件权重αE(i)预先根据事件类型设置。
根据所述事件权重αE(i)以及属性信息中目标联邦学习任务的优先级PR计算得到事件优先级比率βi:
其中,Cw为目标联邦学习任务的优先级权重常数。
本发明实施例提供的联邦学习多任务调度方法,通过任务的优先级以及事件权重确定当前事件的事件优先级比率,从而能够保证高优先级的任务能够及时运行,且为了公平对待每个任务,为任务添加了事件权重影子,实现任务之间的公平共享。
在本发明的一些实施例中,在所述据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率之后,该方法还包括:
根据所述事件优先级比率βi确定所述当前事件在调度队列中的队列序号Qi:
其中,βthreshold为事件优先级阈值,Nqueue为调度队列的队列序号阈值。
相应地,所述根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级,包括:
根据所述队列序号Qi以及所述时间ti计算得到累积优先级Pi(t):
其中,t为当前时间,ti为每个事件到达调度序列的时间。
具体地,每个事件到达调度队列的时间为ti,则第一个事件到达的时间为t1,第i个时间到达的时间为ti,则第i个事件的累积优先级Pi(t)为Qi(t-ti)。
在本发明的一些实施例中,所述基于所述计算节点并按照所述累积优先级执行所述当前事件,包括:
在至少两个事件对应的累积优先级相等的情况下,根据当前事件进入调度队列的时间确定执行所述当前事件的顺序。
基于所述计算节点以及所述顺序执行所述当前事件。
具体地,根据上述累积优先级获得当前事件队列中累积优先级最高的事件作为系统中当前可执行事件开始执行。另外,在实际累积优先级确定过程中,可能出现累积优先级相同的情况,对累积优先级相同的事件,则根据事件进入调度队列的时间确定其对应的调度顺序。
通过上述方法获得事件的累积优先级之后,需要通过资源分配为事件的执行选择合适的资源,通过给事件分配合适的计算资源,实现对系统整体资源的管理。
假设联邦机器学习多任务调度系统注册为计算资源的数据持有者有N个,一个联邦机器学习任务每一通信轮次至少需要M个数据持有者参与训练,其中N≥M,当前资源分配机制通过联邦调度端中计算资源记录获取各节点的可用资源信息,为联邦机器学习任务选择可用资源最为丰富的M个节点进行联邦任务事件处理。
为了充分利用系统的可用资源,提高系统的性能,需要减少节点的等待时间。在理想条件下,如果分配给一个联邦任务的所有节点计算性能和其数据量适配,每个节点具有相近的训练时间,则消除了各个节点的等待时间Twait,即Twait=0,此时模型聚合节点不需要过多等待,从而提高了系统资源利用率,减少了任务总训练时长。
基于上述思想,本发明设计多任务调度机制的资源分配流程。简单来说,首先,该流程为联邦机器学习任务分配计算资源,尽力保证各个训练节点具有相近的训练时间,有利于减少联邦训练总时长;其次为了系统资源充分利用,训练节点完成当前任务后立即释放计算资源并更新联邦调度端中对应的资源记录,系统可以对计算资源进行重新分配,减少设备等待时间,提高计算资源利用率。具体详细自适应资源分配算法如下:
根据历史计算资源信息以及历史数据集信息确定训练时间基准Tbase:
式中,di为第i台设备本地平均每一样本训练所需时间,Cdata为第i台设备参与训练的数据集大小,N为参与训练节点总数;
根据所述训练时间基准Tbase以及时间阈值Tlength确定训练时间范围(Tbase-Tlength,Tbase+Tlength),根据所述训练时间范围确定可用计算节点,所有可用计算节点构成计算资源集合。
对计算资源中每一可用计算节点进行资源评分,并按照评分结果对所述可用计算节点进行排序,以获得排序后的计算资源集合。
根据所述排序后的计算资源集合为所述当前事件分配计算节点。
本发明实施例提供的联邦学习多任务调度方法,通过引入自适应资源分配方法,为联邦机器学习任务匹配当前事件执行时间相近的计算节点,降低事件执行过程中的设备等待时间,从而提高系统资源利用率。
在本发明的一些实施例中,所述排序后的计算资源集合Set为按照评分结果从大到小对所述可用计算节点进行排序后得到。
相应地,所述根据所述排序后的计算资源集合为所述当前事件分配计算节点,包括:
将所述排序后的计算资源集合中的可用计算节点依次分配给所述当前事件,直到分配给所述当前事件的可用计算节点数量等于预设的数量阈值M或所述排序后的计算资源集合中无可用计算节点可分配。其中,预设的数量阈值M根据当前事件所需要的计算资源确定。
具体地,按照计算资源评分从大到小的方式选择计算节点i追加到当前事件的训练节点标识向量v中,即v:v+i,当|v|==M或者在计算资源集合中无节点可选为止,其中|v|指当前已加入到v中的计算节点数,也即分配给当前事件的可用计算节点数量,当所选节点数量达到所需的M个后,完成资源分配过程。
上述为计算资源集合中的可用计算节点数量大于当前事件所需要资源的情况,在排序后的计算资源集合中无可用计算节点可分配时,也就是在|v|<M的情况下,当前已加入v中的计算节点数不足所需的M个时,仍需为该事件继续分配计算节点,为减少聚合节点等待时间,在有效训练时间范围(0,Tbase-Tlength)内,按照计算资源评分从大到小的方式继续选择节点i,且v:v+i,|v|==M时结束。
本发明还提供一实施例,联邦学习多任务调度方法包括如下步骤:
步骤1,获取联邦学习事件;
步骤2,在联邦学习事件进入调度端之后,更新联邦学习任务标识;
步骤3,计算事件累计优先级比率,并基于事件累计优先级比率转换得到事件优先级队列编号Qi;
步骤4,根据事件优先级队列编号Qi获得Qi.push_back(eventi);
步骤5,初始化计算节点标识向量v;
步骤6,当事件优先级队列不为空的情况下,读取事件数据集描述,生成计算节点集合;
步骤8,选取计算负载估值在(Tbase-Tlength,Tbase+Tlength)范围内的节点生成可用计算节点集合Set;
步骤9,根据资源丰富度对Set排序;
步骤10,在|v|<M且Set有可用计算节点k未被选择的情况下,将Set中的k节点添加到训练节点标识向量v中,即v:v+Set(k);
步骤11,根据计算节点标识向量v以及事件累积优先级执行事件。
在本实施例中,联邦多任务机制实验环境为1台8核8GB服务器和10台树莓派4B。其中,服务器CPU主频2.50GHz,作为部署联邦机器学习多任务调度机制的调度端。树莓派CPU主频1.5GHz,内存4GB,作为部署联邦机器学习多任务调度机制的客户端,在客户端存有本地数据集CIFAR-10和MNIST。
调度端所在服务器采用ubuntu系统,树莓派采用Raspberry Pi OS(32-bit)系统,调度算法使用golang实现,联邦机器学习算法使用python实现。
另外,将联邦机器学习任务划分为本地训练事件、模型评估事件和全局模型更新事件进行调度。通过实验获取系统中多任务并发执行状态下联邦机器学习事件执行时间和系统事件吞吐量,对多任务调度机制性能进行评估。
图3是本发明实施例提供的事件执行时间的对比图;图3显示了在不同数量的事件同时运行状态下,使用调度机制及不使用调度机制下联邦机器学习事件执行时间的对比,并行事件数范围由3到7。图3(a)-(c)分别表示本地训练事件、模型评估事件和全局模型更新事件的执行时间对比。
从图3看出,在本地训练事件执行过程中,与未使用多任务调度机制(即Unscheduled)相比,所提出的调度机制(即Scheduled)可以有效降低系统内本地训练事件的平均执行时间。随着设备中并行执行的训练事件数增多,事件的执行时间不断增大,使用调度机制后的联邦机器学习过程训练事件执行时间增长幅度低于未使用调度机制时。在模型评估事件和全局更新事件的对比中,由于事件对资源的需求较少,事件执行时间较快,任务调度机制作用较小。在联邦机器训练过程中,为降低任务执行时间,每次只选取接收一定比例设备的训练模型,对于执行缓慢者不再接收任务消息,这造成了资源的浪费和设备的运行缓慢,通过调度机制,选取可用资源丰富设备进行事件分配,有效降低了联邦机器学习事件的平均运行时间。
图4是本发明实施例提供的事件吞吐量的对比图;图4(a)-(c)分别表示本地训练事件、模型评估事件和全局模型更新事件的事件吞吐量对比。由图4所知,执行任务调度机制后,系统的训练事件吞吐量获得了提升,随着并行执行事件数的增大,并行事件的吞吐量随之下降,但是,任务调度机制仍然可以获得较高的吞吐量。
下面对本发明提供的多任务调度装置进行描述,下文描述的多任务调度装置与上文描述的联邦学习多任务调度方法可相互对应参照。
图5为本发明实施例提供的多任务调度装置结构示意图,如图5所示,该多任务调度装置包括任务与事件获取模块501、事件优先级比率确定模块502、累积优先级确定模块503以及节点分配与执行模块504。
任务与事件获取模块501,用于获取目标联邦学习任务以及所述目标联邦学习任务的当前事件。
其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源(或者是计算资源占用率和通信资源占用率的不同)对所述目标联邦学习任务进行阶段划分得到,比如,联邦机器学习任务中的模型训练本地训练事件、模型评估事件以及全局模型更新事件。通过事件将整个联邦学习任务的执行过程进行了细致的划分,后续再基于细分的事件进行细粒度的调度和资源分配。事件的划分还可以更加细致,本发明对此不作限定。
在本模块中,先获取目标联邦学习任务,即待执行的联邦学习任务,然后确定目标联邦学习任务当前事件,即目标联邦学习任务执行到哪个阶段,当前事件可以是上述提到的本地训练事件、模型评估事件或全局模型更新事件中的任意一种。
事件优先级比率确定模块502,用于根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率。
在本模块中,目标联邦学习任务的属性信息是指联邦学习任务的任务描述,比如任务优先级、任务数据信息等等。不同的当前事件类型具有不同的事件权重,也即同一任务下,不同的执行阶段对应有不同的执行优先级。根据上述提到的属性信息以及确定的当前事件类型获得当前事件对应的事件优先级比率,从而能够保证高优先级的任务能够及时运行,且为了公平对待每个任务,为任务添加了事件权重影子,实现任务之间的公平共享。
累积优先级确定模块503,用于根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级。
节点分配与执行模块504,用于利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
在本步骤中,通过确定的累积优先级来表征当前事件的调用顺序,再利用自适应资源分配算法为当前事件分配计算节点,根据分配到的计算节点和累积优先级执行当前事件。
本发明实施例提供的多任务调度装置,通过将联邦机器学习任务细分为多个联邦机器学习事件,每一事件对应有事件权重,且结合任务的属性信息以及事件的等待时长等因素对当前事件进行优先级动态累积并生成待执行任务队列,确保任务执行过程的公平性,解决联邦机器学习系统并发任务执行时间长的问题。并利用自适应资源分配算法为事件合理分配计算资源,减少边缘设备资源闲置,提高系统资源利用率。
图6为本发明实施例提供的一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行联邦学习多任务调度方法,该联邦学习多任务调度方法,包括:获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行联邦学习多任务调度方法,该联邦学习多任务调度方法,包括:获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种联邦学习多任务调度方法,其特征在于,包括:
获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;
根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;
根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;
利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
2.根据权利要求1所述的联邦学习多任务调度方法,其特征在于,所述根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率,包括:
根据所述当前事件的类型获取对应的事件权重;
根据所述事件权重以及属性信息中目标联邦学习任务的优先级计算得到事件优先级比率。
4.根据权利要求1所述的联邦学习多任务调度方法,其特征在于,在所述据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率之后,该方法还包括:
根据所述事件优先级比率确定所述当前事件在调度队列中的队列序号;
相应地,所述根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级,包括:
获取所述当前事件进入调度队列的时间;
根据所述队列序号以及所述时间计算得到累积优先级。
6.根据权利要求1所述的联邦学习多任务调度方法,其特征在于,所述基于所述计算节点并按照所述累积优先级执行所述当前事件,包括:
在至少两个事件对应的累积优先级相等的情况下,根据当前事件进入调度队列的时间确定执行所述当前事件的顺序;
基于所述计算节点以及所述顺序执行所述当前事件。
7.根据权利要求1所述的联邦学习多任务调度方法,其特征在于,所述利用预定义的自适应资源分配算法为所述当前事件分配计算节点,包括:
根据历史计算资源信息以及历史数据集信息确定训练时间基准;
根据所述训练时间基准以及时间阈值确定训练时间范围,根据所述训练时间范围确定可用计算节点,所有可用计算节点构成计算资源集合;
对计算资源中每一可用计算节点进行资源评分,并按照评分结果对所述可用计算节点进行排序,以获得排序后的计算资源集合;
根据所述排序后的计算资源集合为所述当前事件分配计算节点。
8.根据权利要求7所述的联邦学习多任务调度方法,其特征在于,所述排序后的计算资源集合为按照评分结果从大到小对所述可用计算节点进行排序后得到;
相应地,所述根据所述排序后的计算资源集合为所述当前事件分配计算节点,包括:
将所述排序后的计算资源集合中的可用计算节点依次分配给所述当前事件,直到分配给所述当前事件的可用计算节点数量等于预设的数量阈值或所述排序后的计算资源集合中无可用计算节点可分配。
9.根据权利要求1-8任一所述的联邦学习多任务调度方法,其特征在于,所述当前事件为机器学习任务的本地训练事件、模型评估事件或全局模型更新事件中的一种。
10.一种多任务调度装置,其特征在于,包括:
任务与事件获取模块,用于获取目标联邦学习任务以及所述目标联邦学习任务的当前事件,其中,所述目标联邦学习任务包括多个事件,所述事件根据事件执行时间以及所需资源对所述目标联邦学习任务进行阶段划分得到;
事件优先级比率确定模块,用于根据所述目标联邦学习任务的属性信息以及所述当前事件的类型确定事件优先级比率;
累积优先级确定模块,用于根据所述事件优先级比率以及所述当前事件进入调度队列的时间确定所述当前事件对应的累积优先级;
节点分配与执行模块,用于利用预定义的自适应资源分配算法为所述当前事件分配计算节点,基于所述计算节点并按照所述累积优先级执行所述当前事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211659095.9A CN116010051A (zh) | 2022-12-22 | 2022-12-22 | 一种联邦学习多任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211659095.9A CN116010051A (zh) | 2022-12-22 | 2022-12-22 | 一种联邦学习多任务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010051A true CN116010051A (zh) | 2023-04-25 |
Family
ID=86031049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211659095.9A Pending CN116010051A (zh) | 2022-12-22 | 2022-12-22 | 一种联邦学习多任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010051A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257345A (zh) * | 2023-05-15 | 2023-06-13 | 中国华能集团清洁能源技术研究院有限公司 | 深度学习任务调度方法及装置 |
-
2022
- 2022-12-22 CN CN202211659095.9A patent/CN116010051A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257345A (zh) * | 2023-05-15 | 2023-06-13 | 中国华能集团清洁能源技术研究院有限公司 | 深度学习任务调度方法及装置 |
CN116257345B (zh) * | 2023-05-15 | 2023-09-01 | 中国华能集团清洁能源技术研究院有限公司 | 深度学习任务调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
CN114741207B (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
Wang et al. | Fresh: Fair and efficient slot configuration and scheduling for hadoop clusters | |
US20230297498A1 (en) | Video memory management method, apparatus, device and system | |
CN105892996A (zh) | 一种批量数据处理的流水线作业方法及装置 | |
CN111258745B (zh) | 一种任务处理方法及设备 | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN112181613B (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN103927225A (zh) | 一种多核心架构的互联网信息处理优化方法 | |
CN113886034A (zh) | 任务调度方法、系统、电子设备及存储介质 | |
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
CN115292016A (zh) | 基于人工智能的任务调度方法及相关设备 | |
Muthusamy et al. | Cluster-based task scheduling using K-means clustering for load balancing in cloud datacenters | |
CN114610474A (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN116010051A (zh) | 一种联邦学习多任务调度方法及装置 | |
CN108984286A (zh) | 一种云计算平台的资源调度方法和系统 | |
CN111796933A (zh) | 资源调度方法、装置、存储介质和电子设备 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN117539612A (zh) | 基于混沌麻雀算法的ai训推平台任务调度方法和系统 | |
CN117519930A (zh) | 批量任务的执行方法、装置及电子设备 | |
CN112306642A (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
CN115098240B (zh) | 一种多处理器应用调度方法和系统及存储介质 | |
CN112988363B (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 |