CN110086650B - 面向分布式机器学习任务的云资源在线调度方法及装置 - Google Patents

面向分布式机器学习任务的云资源在线调度方法及装置 Download PDF

Info

Publication number
CN110086650B
CN110086650B CN201910212778.1A CN201910212778A CN110086650B CN 110086650 B CN110086650 B CN 110086650B CN 201910212778 A CN201910212778 A CN 201910212778A CN 110086650 B CN110086650 B CN 110086650B
Authority
CN
China
Prior art keywords
task
cost
data
deployment
time
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
Application number
CN201910212778.1A
Other languages
English (en)
Other versions
CN110086650A (zh
Inventor
李晓彤
李宗鹏
周睿婷
黄浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangtze River Delta Information Intelligence Innovation Research Institute
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201910212778.1A priority Critical patent/CN110086650B/zh
Publication of CN110086650A publication Critical patent/CN110086650A/zh
Application granted granted Critical
Publication of CN110086650B publication Critical patent/CN110086650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本发明公开了一种面向分布式机器学习任务的云资源在线调度方法,首先由云资源经纪商在每个时段的开始,观测出每个数据中心各种资源的价格函数,以及每个任务需要训练的数据量大小,计算出调度分布式机器学习任务过程中所产生的所有的代价之和,表示成整数型线性规划,然后将松弛后的线性规划通过正则化方法将每相邻两个时段内的关系解耦,将难以处理的整个T时刻的在线规划问题转化成每个时刻独立的线性规划,这样就可以实时决策不需要依赖未来的信息,最后采用设计的独立取整方法求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案以及数据迁移方案,从而达到保证任务完成效果的基础上总体的代价之和最小,优化了调度效果。

Description

面向分布式机器学习任务的云资源在线调度方法及装置
技术领域
本发明涉及云计算技术领域,具体涉及一种面向分布式机器学习任务的云资源在线调度方法及装置。
背景技术
传统式机器学习倾向于把所有的数据集集中起来离线式训练,从而得到较优的模型。而实际训练的过程中,数据源通常是地理分散的,并且并不是同一时刻产生的,而是随着时间呈序列顺序产生,因而传统的机器学习的训练方法不再适用,而需要借助于分布式机器学习(geo-distributed machine learning)。分布式机器学习能够有效地训练随着时间的推移而产生的大型地理分散型数据集,无须再把所有的数据集集中在一个中心站点训练。
目前,分布式机器学习普遍采用参数服务器(parameter server)框架,为了训练一个全局机器学习模型,如何战略性地部署和调整地理分布式机器学习任务中的计算节点(worker)和参数服务器(parameter server),以便于随时轻松访问数据集并且快速交换模型参数,是一个热点问题。与此同时,许多云平台提供总额折扣以鼓励大家使用他们的机器学习资源。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
现有的很多地理分布式机器学习任务一般单独从各个云资源平台租赁任务所需要的资源,调度效果不佳,用户很少能够享受折扣,因此,需要耗费巨额租赁费用,扩大了支出成本。
由此可知,现有技术中的方法存在调度效果不佳的技术问题。
发明内容
有鉴于此,本发明提供了一种面向分布式机器学习任务的云资源在线调度方法及装置,用以解决或者至少部分解决现有技术中的方法存在调度效果不佳的技术问题。
本发明第一方面提供了一种面向分布式机器学习任务的云资源在线调度方法,包括:
步骤S1:云资源经纪商在每个时段的开始,观测出每个地理分布式数据中心各种资源的价格函数以及每个机器学习任务需要训练的数据量大小,其中,地理分布式数据中心用于放置计算节点和参数服务器,机器学习任务由用户提交,并且在每个时刻产生下个时刻每个任务需要训练的数据量,价格函数为
Figure BDA0002001061670000021
Figure BDA0002001061670000022
其中,h为资源使用量,
Figure BDA0002001061670000023
为阈值,
Figure BDA0002001061670000024
Figure BDA0002001061670000025
为根据实际资源价格设置可调整的参数;
步骤S2:根据价格函数和数据量大小,计算出调度分布式机器学习任务过程中所产生的代价;
步骤S3:将所有代价之和表示为成整数型线性规划;
步骤S4:将整数型线性规划松弛为线性规划,求出t时刻在数据中心r上放置的任务i的计算节点的数量,在t时刻在数据中心r上放置的任务i的参数服务器的数量对应的分数解;
步骤S5:对所述分数解采用独立取整方法,求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案、数据迁移方案,将其作为调度方案;
步骤S6:基于所述调度方案,进行在线调度。
在一种实施方式中,调度分布式机器学习任务过程中所产生的代价包括数据迁移代价、资源租用代价、部署代价和通信代价,步骤S2具体包括:
步骤S2.1:获取与调度相关的参数,具体包括:任务i的计算节点的处理能力为Pi,任务i的计算节点需要的k类资源的数量为ni,k,任务i的参数服务器需要的k类资源的数量为mi,t,参数服务器和计算节点之间需要交换的参数大小为Bi,在t时刻在数据中心r上放置的任务i的计算节点的数量为
Figure BDA0002001061670000026
在t时刻在数据中心r上放置的任务i的参数服务器的数量为
Figure BDA0002001061670000027
在t时刻在系统里处理的任务集合为It,在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure BDA0002001061670000028
参数服务器和计算节点之间的连接数为
Figure BDA0002001061670000029
任务i的部署成本为ci
步骤S2.2:根据单位数据迁移成本与迁移的数据量,表示数据迁移代价C1(t),其中,
Figure BDA0002001061670000031
步骤S2.3:根据用户任务所需要消耗的资源量和资源价格方程,表示出资源租用代价C2(t),其中,
Figure BDA0002001061670000032
步骤S2.4:根据上一时刻和当前时刻计算节点和参数服务器的部署情况来表示部署代价C3(t),其中,
Figure BDA0002001061670000033
其中,
Figure BDA0002001061670000034
表示i任务在r数据中心上的部署代价,
Figure BDA0002001061670000035
Figure BDA0002001061670000036
时表示需要发生新的部署,
Figure BDA0002001061670000037
时表示不需要,上一时刻计算节点和参数服务器的部署情况为
Figure BDA0002001061670000038
当前时刻计算节点和参数服务器的部署情况为
Figure BDA0002001061670000039
步骤S2.5:根据部署方案表示出节点和参数服务器的通信代价
Figure BDA00020010616700000310
其中,
Figure BDA00020010616700000311
在一种实施方式中,步骤S3具体包括:
将数据迁移代价、资源租用代价、部署代价和通信代价相加表示为整数型线性规划,minimize∑t∈T(C1(t)+C2(t)+C3(t)+C4(t)),并构建约束条件,约束条件具体包括约束条件(1)~(11):
Figure BDA00020010616700000312
Figure BDA00020010616700000313
Figure BDA00020010616700000314
Figure BDA00020010616700000315
Figure BDA00020010616700000316
Figure BDA00020010616700000317
Figure BDA00020010616700000318
Figure BDA00020010616700000319
Figure BDA00020010616700000320
Figure BDA00020010616700000321
Figure BDA0002001061670000041
其中,I表示用户总数,T为总时长,R为地理分布式数据中心数量,
Figure BDA0002001061670000042
为计算过程中的辅助变量,其值大小等于
Figure BDA0002001061670000043
M为预设参数,
Figure BDA0002001061670000044
为两个预设辅助变量,
Figure BDA0002001061670000045
Figure BDA0002001061670000046
分别表示前一时刻和当前时刻计算节点和参数服务器的部署情况。
在一种实施方式中,步骤S4具体包括:
将整数型线性规划松弛成线性规划,再采用正则化方法将每相邻两个时段内的关系解耦获得归一化项:
Figure BDA0002001061670000047
求出
Figure BDA0002001061670000048
Figure BDA0002001061670000049
的分数解,其中,
Figure BDA00020010616700000410
表示t时刻在数据中心r上放置的任务i的计算节点的数量,
Figure BDA00020010616700000411
表示在t时刻在数据中心r上放置的任务i的参数服务器的数量ε和σ为设置参数,取大于0小于1的数。
在一种实施方式中,步骤S5具体包括:
步骤S5.1:对步骤S4的
Figure BDA00020010616700000412
对应的分数解取整,具体为:将所有不为整数的
Figure BDA00020010616700000413
的小数部分pi(t)放入一个集合
Figure BDA00020010616700000414
当集合
Figure BDA00020010616700000415
不为空集的时候,任取两个pi1(t)和pi2(t),定义两个变量Φ1和Φ2,分别表示为:
Figure BDA00020010616700000416
Figure BDA00020010616700000417
根据概率
Figure BDA00020010616700000418
设置pi1(t)=pi1(t)+Φ1
Figure BDA00020010616700000419
根据概率
Figure BDA00020010616700000420
设置pi1(t)=pi1(t)-Φ2
Figure BDA00020010616700000421
到所有的
Figure BDA00020010616700000422
都为0或者1;
步骤S5.2:将
Figure BDA00020010616700000423
对应的分数解取整,具体包括:根据概率分布任取一个i′使得
Figure BDA00020010616700000424
为1其余的i对应的
Figure BDA00020010616700000425
都为0;
步骤S5.3:将通过步骤S5.1和步骤S5.2求出来的
Figure BDA00020010616700000426
Figure BDA00020010616700000427
输入整数型线性规划方程中,重新求解出其余所有的变量。
基于同样的发明构思,本发明第二方面提供了一种面向分布式机器学习任务的云资源在线调度装置,包括:
价格函数及数据量观测模块,用于在每个时段的开始,观测出每个地理分布式数据中心各种资源的价格函数以及每个机器学习任务需要训练的数据量大小,其中,地理分布式数据中心用于放置计算节点和参数服务器,机器学习任务由用户提交,并且在每个时刻产生下个时刻每个任务需要训练的数据量,价格函数为
Figure BDA0002001061670000051
Figure BDA0002001061670000052
其中,h为资源使用量,
Figure BDA0002001061670000053
为阈值,
Figure BDA0002001061670000054
Figure BDA0002001061670000055
为根据实际资源价格设置可调整的参数;
代价计算模块,用于根据价格函数和数据量大小,计算出调度分布式机器学习任务过程中所产生的代价;
整数型线性规划表示模块,用于将所有代价之和表示为成整数型线性规划;
松弛化模块,用于将整数型线性规划松弛为线性规划,求出t时刻在数据中心r上放置的任务i的计算节点的数量,在t时刻在数据中心r上放置的任务i的参数服务器的数量对应的分数解;
调度方案求解模块,用于对所述分数解采用独立取整方法,求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案、数据迁移方案,将其作为调度方案;
调度模块,用于基于所述调度方案,进行在线调度。
在一种实施方式中,调度分布式机器学习任务过程中所产生的代价包括数据迁移代价、资源租用代价、部署代价和通信代价,代价计算模块具体用于执行下述步骤:
步骤S2.1:获取与调度相关的参数,具体包括:任务i的计算节点的处理能力为Pi,任务i的计算节点需要的k类资源的数量为ni,k,任务i的参数服务器需要的k类资源的数量为mi,t,参数服务器和计算节点之间需要交换的参数大小为Bi,在t时刻在数据中心r上放置的任务i的计算节点的数量为
Figure BDA0002001061670000056
在t时刻在数据中心r上放置的任务i的参数服务器的数量为
Figure BDA0002001061670000057
在t时刻在系统里处理的任务集合为It,在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure BDA0002001061670000058
参数服务器和计算节点之间的连接数为
Figure BDA0002001061670000059
任务i的部署成本为ci
步骤S2.2:根据单位数据迁移成本与迁移的数据量,表示数据迁移代价C1(t),其中,
Figure BDA0002001061670000061
步骤S2.3:根据用户任务所需要消耗的资源量和资源价格方程,表示出资源租用代价C2(t),其中,
Figure BDA0002001061670000062
步骤S2.4:根据上一时刻和当前时刻计算节点和参数服务器的部署情况来表示部署代价C3(t),其中,
Figure BDA0002001061670000063
其中,
Figure BDA0002001061670000064
表示i任务在r数据中心上的部署代价,
Figure BDA0002001061670000065
时表示需要发生新的部署,
Figure BDA0002001061670000066
时表示不需要,上一时刻计算节点和参数服务器的部署情况为
Figure BDA0002001061670000067
当前时刻计算节点和参数服务器的部署情况为
Figure BDA0002001061670000068
步骤S2.5:根据部署方案表示出节点和参数服务器的通信代价C4(t),其中,
Figure BDA0002001061670000069
在一种实施方式中,整数型线性规划表示模块具体用于:
将数据迁移代价、资源租用代价、部署代价和通信代价相加表示为整数型线性规划,minimize∑t∈T(C1(t)+C2(t)+C3(t)+C4(t)),并构建约束条件,约束条件具体包括约束条件(1)~(11):
Figure BDA00020010616700000610
Figure BDA00020010616700000611
Figure BDA00020010616700000612
Figure BDA00020010616700000613
Figure BDA00020010616700000614
Figure BDA00020010616700000615
Figure BDA00020010616700000616
Figure BDA00020010616700000617
Figure BDA00020010616700000618
Figure BDA00020010616700000619
Figure BDA0002001061670000071
Figure BDA0002001061670000072
其中,I表示用户总数,T为总时长,R为地理分布式数据中心数量,
Figure BDA0002001061670000073
为计算过程中的辅助变量,其值大小等于
Figure BDA0002001061670000074
M为预设参数,
Figure BDA0002001061670000075
为两个预设辅助变量,
Figure BDA0002001061670000076
Figure BDA0002001061670000077
分别表示前一时刻和当前时刻计算节点和参数服务器的部署情况。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明公开的一种面向分布式机器学习任务的云资源在线调度方法,首先由云资源经纪商在每个时段的开始,观测出每个数据中心各种资源的价格函数,以及每个任务需要训练的数据量大小,计算出调度分布式机器学习任务过程中所产生的所有的代价之和,表示成整数型线性规划,然后将松弛后的线性规划通过正则化方法(regularizationmethod)将每相邻两个时段内的关系解耦,将难以处理的整个T时刻的在线规划问题转化成每个时刻(one-slot)独立的线性规划,这样就可以实时决策不需要依赖未来的信息,最后采用设计的独立取整(Dependent Rounding)方法求出每个时刻每个机器学习任务的计算节点(worker)和参数服务器(parameter server)的部署方案,以及数据迁移方案,最后进行在线调度,从而达到保证任务完成效果的基础上总体的代价之和最小,优化了调度效果。
此外,本发明采用了在线正则化算法将难以处理的全时段关联性问题,分割成独立的单时刻问题,并且在计算过程中运用了在线独立取整,从而保证了算法的合理性。本发明能够在不需要知道未来情况下,趋向最优地在线调度地理分布式机器学习任务和资源,避免了高额的租赁费用和运行任务的高成本,从而在以最低成本高效地实时调度和部署各项任务和资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中面向分布式机器学习任务的云资源在线调度方法的流程图;
图2为一种具体实施方式中求解调度方案的计算流程图;
图3a和3b为本发明实施例的方法和其他现有方法的实验结果对比图;
图4为本发明实施例面向分布式机器学习任务的云资源在线调度装置的结构框图;
图5为本发明实施例中一种计算机可读存储介质的结构框图;
图6为本发明实施例中计算机设备的结构图。
具体实施方式
本发明的目的在于提供一种面向分布式机器学习任务的云资源在线调度方法及装置,用以改善现有技术中的方法存在调度效果不佳的技术问题。
为了解决上述技术问题,本发明的主要构思如下:
首先,由云资源经纪商在每个时段的开始,观测出每个数据中心各种资源的价格函数,以及每个任务需要训练的数据量大小,并计算出调度分布式机器学习任务过程中所产生的所有的代价之和,表示成整数型线性规划;然后,将松弛后的线性规划通过正则化方法(regularization method)将每相邻两个时段内的关系解耦,再采用独立取整(Dependent Rounding)方法求出每个时刻每个机器学习任务的计算节点(worker)和参数服务器(parameter server)的部署方案,以及数据迁移方案,得到调度方案,最后基于调度方案进行在线调度,从而使得在保证任务完成效果的基础上总体的代价之和最小。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种面向分布式机器学习任务的云资源在线调度方法,请参见图1,该方法包括:
步骤S1:云资源经纪商在每个时段的开始,观测出每个地理分布式数据中心各种资源的价格函数以及每个机器学习任务需要训练的数据量大小,其中,地理分布式数据中心用于放置计算节点和参数服务器,机器学习任务由用户提交,并且在每个时刻产生下个时刻每个任务需要训练的数据量,价格函数为
Figure BDA0002001061670000091
Figure BDA0002001061670000092
其中,h为资源使用量,
Figure BDA0002001061670000093
为阈值,
Figure BDA0002001061670000094
Figure BDA0002001061670000095
为根据实际资源价格设置可调整的参数。
具体来说,本申请发明人通过大量的实践和研究发现,为了更好地利用总额折扣以最优的方式租赁资源,调度分布式机器学习任务,便需要资源经纪商(brokerage)来汇总所有任务的资源需求,并且以其名义利用总额折扣。因此,基于各个机器学习任务在不同时刻不同地理位置产生不同的数据量大小的情况,如何高效的部署每个任务的计算节点,以使得运行所有任务最终付出的代价最小的情况下保证任务完成的质量,成为一个关键性的问题,因此提出了本发明的在线调度方法。
其中,各种资源包括GPU、CPU、内存、外存等,每个任务在每个数据中心上新增需要训练的数据量大小
Figure BDA0002001061670000096
本发明的方法涉及的信息包括:有I个用户在总长为T的时刻里提交机器学习任务,定义R个地理分布式数据中心,用来放置计算节点和参数服务器,并且在每个时刻产生下个时刻每个任务需要训练的数据
Figure BDA0002001061670000097
每个用户在ti时刻提交任务,包含以下信息:任务i的计算节点的处理能力Pi,任务i的计算节点(参数服务器)的需要的k类资源的数量ni,k(mi,t),参数服务器和计算节点之间需要交换的参数大小为Bi。定义在t时刻在数据中心r上放置的任务i的计算节点(参数服务器)的数量为
Figure BDA0002001061670000098
定义在t时刻在系统里处理的任务集合为It。定义在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure BDA0002001061670000099
参数服务器和计算节点之间的连接数为
Figure BDA00020010616700000910
任务i的部署成本为ci,总额折扣(volume discount)价格方程函数为:
Figure BDA0002001061670000101
其中h为资源使用量,
Figure BDA0002001061670000102
为阈值,
Figure BDA0002001061670000103
Figure BDA0002001061670000104
为根据实际资源价格设置可调整的参数。云计算资源经纪商通过设计出最佳的计算节点和参数服务器的部署方案和数据集的迁移方案来使得所有的代价之和最小。
步骤S2:根据价格函数和数据量大小,计算出调度分布式机器学习任务过程中所产生的代价。
其中,调度分布式机器学习任务过程中所产生的代价包括数据迁移代价、资源租用代价、部署代价和通信代价,步骤S2具体包括:
步骤S2.1:获取与调度相关的参数,具体包括:任务i的计算节点的处理能力为Pi,任务i的计算节点需要的k类资源的数量为ni,k,任务i的参数服务器需要的k类资源的数量为mi,t,参数服务器和计算节点之间需要交换的参数大小为Bi,在t时刻在数据中心r上放置的任务i的计算节点的数量为
Figure BDA0002001061670000105
在t时刻在数据中心r上放置的任务i的参数服务器的数量为
Figure BDA0002001061670000106
在t时刻在系统里处理的任务集合为It,在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure BDA0002001061670000107
参数服务器和计算节点之间的连接数为
Figure BDA0002001061670000108
任务i的部署成本为ci
步骤S2.2:根据单位数据迁移成本与迁移的数据量,表示数据迁移代价C1(t),其中,
Figure BDA0002001061670000109
步骤S2.3:根据用户任务所需要消耗的资源量和资源价格方程,表示出资源租用代价C2(t),其中,
Figure BDA00020010616700001010
步骤S2.4:根据上一时刻和当前时刻计算节点和参数服务器的部署情况来表示部署代价C3(t),其中,
Figure BDA00020010616700001011
其中,
Figure BDA00020010616700001012
表示i任务在r数据中心上的部署代价,
Figure BDA00020010616700001013
时表示需要发生新的部署,
Figure BDA00020010616700001014
时表示不需要,上一时刻计算节点和参数服务器的部署情况为
Figure BDA00020010616700001015
当前时刻计算节点和参数服务器的部署情况为
Figure BDA00020010616700001016
步骤S2.5:根据部署方案表示出节点和参数服务器的通信代价C4(t),其中,
Figure BDA0002001061670000111
具体来说,步骤S2.2中,数据迁移代价,即为单位数据迁移成本乘以迁移的数据量的累加;步骤S2.3中,资源租用代价,即为计算节点和参数服务器的总结点需要的资源量在价格函数中的值的累加,步骤S2.4中,对每个任务和每个数据中心进行累加,则可以求得所有的部署代价之和。步骤S2.5中的通信代价,即为单位迁移数据的成本乘以参数服务器和计算节点直接一共要交换的数据量大小的累加。
步骤S3:将所有代价之和表示为成整数型线性规划。
在一种实施方式中,步骤S3具体包括:
将数据迁移代价、资源租用代价、部署代价和通信代价相加表示为整数型线性规划,minimize∑t∈T(C1(t)+C2(t)+C3(t)+C4(t)),并构建约束条件,约束条件具体包括约束条件(1)~(11):
Figure BDA0002001061670000113
Figure BDA0002001061670000114
Figure BDA0002001061670000115
Figure BDA0002001061670000116
Figure BDA0002001061670000117
Figure BDA0002001061670000118
Figure BDA0002001061670000119
Figure BDA00020010616700001110
Figure BDA00020010616700001111
Figure BDA00020010616700001112
Figure BDA00020010616700001113
其中,I表示用户总数,T为总时长,R为地理分布式数据中心数量,
Figure BDA00020010616700001114
为计算过程中的辅助变量,其值大小等于
Figure BDA00020010616700001115
M为预设参数,
Figure BDA00020010616700001116
为两个预设辅助变量,
Figure BDA0002001061670000121
Figure BDA0002001061670000122
分别表示前一时刻和当前时刻计算节点和参数服务器的部署情况。
具体来说,该线性规划方程式的目标函数即为四种代价的累加和,subject to后即为所要满足的约束条件。第一个约束条件满足每个任务在每个数据中心布置了足够多的计算节点完成相应的训练任务;第二个约束条件满足了每个时刻的数据集全部都被处理掉;第三至第五个约束条件满足了尽可能地利用总额折扣降低租赁资源成本;第六个约束条件保证每个任务都配有一个参数服务器;第七个和第八个约束条件保证了部署的完备性,即只要任务发生变化都要进行重新部署。第九个和第十个约束条件保证每个任务的计算节点和参数服务器都能够成功通讯,最后一个约束条件保证了每个变量的合理性。
其中,
Figure BDA0002001061670000123
Figure BDA0002001061670000124
为根据实际资源价格设置可调整的参数。
Figure BDA0002001061670000125
为计算过程中的辅助变量,其值大小等于
Figure BDA0002001061670000126
M在实际中可以设置为一个很大的数,没有实际意义,目的在于方便计算,例如,可以取10000甚至更大。
Figure BDA0002001061670000127
同样是两个辅助变量,没有实际物理意义,但在求解线性规划方程式可以取0或1,目的为方便进行计算。
步骤S4:将整数型线性规划松弛为线性规划,求出t时刻在数据中心r上放置的任务i的计算节点的数量,在t时刻在数据中心r上放置的任务i的参数服务器的数量对应的分数解。
在一种实施方式中,步骤S4具体包括:
将整数型线性规划松弛成线性规划,再采用正则化方法将每相邻两个时段内的关系解耦获得归一化项:
Figure BDA0002001061670000128
求出
Figure BDA0002001061670000129
Figure BDA00020010616700001210
的分数解,其中,
Figure BDA00020010616700001211
表示t时刻在数据中心r上放置的任务i的计算节点的数量,
Figure BDA00020010616700001212
表示在t时刻在数据中心r上放置的任务i的参数服务器的数量ε和σ为设置参数,取大于0小于1的数。
具体来说,将整数型线性规划松弛成线性规划,即将约束条件(11)的所有变量的范围都调整为大于等于零。然后在这基础上用正则化regularization method将目标方程式的C3(t)替换成一个证明凸性的归一化项,归一化项中的ε和σ用来进行归一化和防止分母为零两个作用,在实际计算时,取大于0小于1的数。通过这个方法可以去除掉相邻两个时间段之间的关联性,使得可以将整个时间段T上的线性规划分割成每个时刻(one-slot)独立的线性规划,从而可以运用经典的内点法求出相应的分数解。
步骤S5:对所述分数解采用独立取整方法,求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案、数据迁移方案,将其作为调度方案。
具体来说,由于每个数据中心上放置的计算节点数和参数服务器的数量必须是整数,因而该步骤采用独立取整Dependent Rounding的方法将前述步骤求出的分数解转化为整数解,并且保证转化后的性能基本不变。最后求出的整数解即为云资源经纪商的调度方案,即每个时刻在每个数据中心为每个任务部署多少个计算节点和参数服务器(对应于变量
Figure BDA0002001061670000131
的整数解的值),并且需要被训练的数据集的迁移方案(对应于变量
Figure BDA0002001061670000132
的值)。
在一种实施方式中,步骤S5具体包括:
步骤S5.1:对步骤S4的
Figure BDA0002001061670000133
对应的分数解取整,具体为:将所有不为整数的
Figure BDA0002001061670000134
的小数部分pi(t)放入一个集合
Figure BDA0002001061670000135
当集合
Figure BDA0002001061670000136
不为空集的时候,任取两个pi1(t)和pi2(t),定义两个变量Φ1和Φ2,分别表示为:
Figure BDA0002001061670000137
Figure BDA0002001061670000138
根据概率
Figure BDA0002001061670000139
设置pi1(t)=pi1(t)+Φ1
Figure BDA00020010616700001310
根据概率
Figure BDA00020010616700001311
设置pi1(t)=pi1(t)-Φ2
Figure BDA00020010616700001312
到所有的
Figure BDA00020010616700001313
都为0或者1;
步骤S5.2:将
Figure BDA00020010616700001314
对应的分数解取整,具体包括:根据概率分布任取一个i′使得
Figure BDA00020010616700001315
为1其余的i对应的
Figure BDA00020010616700001316
都为0;
步骤S5.3:将通过步骤S5.1和步骤S5.2求出来的
Figure BDA00020010616700001317
Figure BDA00020010616700001318
输入整数型线性规划方程中,重新求解出其余所有的变量。
具体来说,通过步骤S5.1后,如果新的pi1(t)和pi2(t)中有变为0或者1的,则将从集合
Figure BDA00020010616700001319
中除去,然后再循环执行步骤S8.1中的操作,直到所有的
Figure BDA00020010616700001320
都变为0或者1。步骤S5.2中,因为
Figure BDA00020010616700001321
是0-1之间的小数,所以将其值视为自己的概率分布,所以根据概率分布任取一个i′使得
Figure BDA0002001061670000141
为1其余的i对应的
Figure BDA0002001061670000142
都为0。请参见图2,为一种具体实施方式中求解调度方案的计算流程图,包括:
步骤S201:初始化
Figure BDA0002001061670000143
步骤S202:在每个时段的开始时刻,观测每个数据中心各种资源的价格函数
Figure BDA0002001061670000144
以及每个数据中心的数据量大小
Figure BDA0002001061670000145
步骤S203:计算四种成本,联立原始线性规划方程;
步骤S204:采用正则化方法替换C3(t),并计算出
Figure BDA0002001061670000146
的分数解;
步骤S205:采用独立取整方法计算出
Figure BDA0002001061670000147
的整数解,获得每个时刻的部署方案以及数据迁移方案,即为调度方案。
在获得调度方案后,执行步骤S6:基于所述调度方案,进行在线调度。
具体来说,再通过本发明设计的算法模型求解出调度方案后,则可以根据调度方案对用户提交的机器学习任务进行在线调度,通过基于总额折扣,在线调度地理分布式机器学习任务,以实现所有的成本之和最小化,从而优化了调度效果。
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
在本示例中,采用的数据中心的个数为15,时隙跨度T=50~100。设置每个计算节点需要0-4个GPU,1-10个CPU,2-32GB内存,5-10GB外存,每个计算节点的处理能力在16-66GB,每个时刻的训练数据集大小在100-600GB,并设置计算节点和参数服务器之间交换的参数在每个时刻(半天)内总共的大小为4.32-82.8GB,数据迁移的单位成本设置为0.01-0.02USD每GB,部署成本设置为0.05-0.1USD每GB,GPU,CPU,内存和外存的单位价格分别设置为1.2-9.6,0.13-0.24,0.01-0.1,0.01-0.1USD每GB,总额折扣设置为70%-80%,总额阈值设置在500-600,800-1000,1000-1050,1000-1050之间取随机。请参见图3a和3b,为采用本发明的调度方法与现有方法的对比结果,其中,图3a横坐标表示每个算法,分别为理想情况下最优算法opt,本发明的算法ours,集中式算法cen,本地训练式算法Lo和OASiS算法。纵坐标表示每个算法最后导致的代价总和,其中,同一个柱形的不同段标识的是总代价之和中的某一个代价分支的大小。图3a分为左半图和右半图,区别是每个时刻训练数据的大小,左半图的训练数据量在500GB-600GB之间,本发明的算法是在图中是ours,可以看出在两个情况下,均为本发明算法是在实际算法中总代价之和最少,并且总是最趋近于理想最优解。图3b横坐标表示每个时刻训练任务的数量,纵坐标表示和理想最优解的比值。可以看出无论训练任务数量如何变化,本发明的算法是最优的。
基于同一发明构思,本申请还提供了与实施例一中面向分布式机器学习任务的云资源在线调度方法对应的装置,详见实施例二。
实施例二
本实施例提供了一种面向分布式机器学习任务的云资源在线调度装置,请参见图4,该装置包括:
价格函数及数据量观测模块201,用于在每个时段的开始,观测出每个地理分布式数据中心各种资源的价格函数以及每个机器学习任务需要训练的数据量大小,其中,地理分布式数据中心用于放置计算节点和参数服务器,机器学习任务由用户提交,并且在每个时刻产生下个时刻每个任务需要训练的数据量,价格函数为
Figure BDA0002001061670000151
Figure BDA0002001061670000152
其中,h为资源使用量,
Figure BDA0002001061670000153
为阈值,
Figure BDA0002001061670000154
Figure BDA0002001061670000155
为根据实际资源价格设置可调整的参数;
代价计算模块202,用于根据价格函数和数据量大小,计算出调度分布式机器学习任务过程中所产生的代价;
整数型线性规划表示模块203,用于将所有代价之和表示为成整数型线性规划;
松弛化模块204,用于将整数型线性规划松弛为线性规划,求出t时刻在数据中心r上放置的任务i的计算节点的数量,在t时刻在数据中心r上放置的任务i的参数服务器的数量对应的分数解;
调度方案求解模块205,用于对所述分数解采用独立取整方法,求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案、数据迁移方案,将其作为调度方案;
调度模块206,用于基于所述调度方案,进行在线调度。
在一种实施方式中,调度分布式机器学习任务过程中所产生的代价包括数据迁移代价、资源租用代价、部署代价和通信代价,代价计算模块具体用于执行下述步骤:
步骤S2.1:获取与调度相关的参数,具体包括:任务i的计算节点的处理能力为Pi,任务i的计算节点需要的k类资源的数量为ni,k,任务i的参数服务器需要的k类资源的数量为mi,t,参数服务器和计算节点之间需要交换的参数大小为Bi,在t时刻在数据中心r上放置的任务i的计算节点的数量为
Figure BDA0002001061670000161
在t时刻在数据中心r上放置的任务i的参数服务器的数量为
Figure BDA0002001061670000162
在t时刻在系统里处理的任务集合为It,在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure BDA0002001061670000163
参数服务器和计算节点之间的连接数为
Figure BDA0002001061670000164
任务i的部署成本为ci
步骤S2.2:根据单位数据迁移成本与迁移的数据量,表示数据迁移代价C1(t),其中,
Figure BDA0002001061670000165
步骤S2.3:根据用户任务所需要消耗的资源量和资源价格方程,表示出资源租用代价C2(t),其中,
Figure BDA0002001061670000166
步骤S2.4:根据上一时刻和当前时刻计算节点和参数服务器的部署情况来表示部署代价C3(t),其中,
Figure BDA0002001061670000167
其中,
Figure BDA0002001061670000168
表示i任务在r数据中心上的部署代价,
Figure BDA0002001061670000169
时表示需要发生新的部署,
Figure BDA00020010616700001610
时表示不需要,上一时刻计算节点和参数服务器的部署情况为
Figure BDA00020010616700001611
当前时刻计算节点和参数服务器的部署情况为
Figure BDA00020010616700001612
步骤S2.5:根据部署方案表示出节点和参数服务器的通信代价C4(t),其中,
Figure BDA00020010616700001613
在一种实施方式中,整数型线性规划表示模块具体用于:
将数据迁移代价、资源租用代价、部署代价和通信代价相加表示为整数型线性规划,minimize∑t∈T(C1(t)+C2(t)+C3(t)+C4(t)),并构建约束条件,约束条件具体包括约束条件(1)~(11):
Figure BDA00020010616700001614
Figure BDA00020010616700001615
Figure BDA0002001061670000171
Figure BDA0002001061670000172
Figure BDA0002001061670000173
Figure BDA0002001061670000174
Figure BDA0002001061670000175
Figure BDA0002001061670000176
Figure BDA0002001061670000177
Figure BDA0002001061670000178
Figure BDA0002001061670000179
其中,I表示用户总数,T为总时长,R为地理分布式数据中心数量,
Figure BDA00020010616700001710
为计算过程中的辅助变量,其值大小等于
Figure BDA00020010616700001711
M为预设参数,
Figure BDA00020010616700001712
为两个预设辅助变量,
Figure BDA00020010616700001713
Figure BDA00020010616700001714
分别表示前一时刻和当前时刻计算节点和参数服务器的部署情况。
由于本发明实施例二所介绍的装置,为实施本发明实施例一中面向分布式机器学习任务的云资源在线调度方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
实施例三
请参见图5,基于同一发明构思,本申请还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中面向分布式机器学习任务的云资源在线调度方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,请参见图6,包括存储401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中面向分布式机器学习任务的云资源在线调度方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.面向分布式机器学习任务的云资源在线调度方法,其特征在于,包括:
步骤S1:云资源经纪商在每个时段的开始,观测出每个地理分布式数据中心各种资源的价格函数以及每个机器学习任务需要训练的数据量大小,其中,地理分布式数据中心用于放置计算节点和参数服务器,机器学习任务由用户提交,并且在每个时刻产生下个时刻每个任务需要训练的数据量,价格函数为
Figure FDA0002492285670000011
Figure FDA0002492285670000012
其中,h为资源使用量,
Figure FDA0002492285670000013
为阈值,
Figure FDA0002492285670000014
Figure FDA0002492285670000015
为根据实际资源价格设置可调整的参数;
步骤S2:计算出调度分布式机器学习任务过程中所产生的代价,调度分布式机器学习任务过程中所产生的代价包括数据迁移代价、资源租用代价、部署代价和通信代价;
步骤S3:将所有代价之和表示为成整数型线性规划;
步骤S4:将整数型线性规划松弛为线性规划,求出t时刻在数据中心r上放置的任务i的计算节点的数量,在t时刻在数据中心r上放置的任务i的参数服务器的数量对应的分数解;
步骤S5:对所述分数解采用独立取整方法,求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案、数据迁移方案,将其作为调度方案;
步骤S6:基于所述调度方案,进行在线调度;
其中,步骤S2具体包括:
步骤S2.1:获取与调度相关的参数,具体包括:任务i的计算节点的处理能力为Pi,任务i的计算节点需要的k类资源的数量为ni,k,任务i的参数服务器需要的k类资源的数量为mi,t,参数服务器和计算节点之间需要交换的参数大小为Bi,在t时刻在数据中心r上放置的任务i的计算节点的数量为
Figure FDA0002492285670000016
在t时刻在数据中心r上放置的任务i的参数服务器的数量为
Figure FDA0002492285670000017
在t时刻在系统里处理的任务集合为It,在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure FDA0002492285670000021
参数服务器和计算节点之间的连接数为
Figure FDA0002492285670000022
任务i的部署成本为ci
步骤S2.2:根据单位数据迁移成本与迁移的数据量,表示数据迁移代价C1(t),其中,
Figure FDA0002492285670000023
步骤S2.3:根据用户任务所需要消耗的资源量和资源价格方程,表示出资源租用代价C2(t),其中,
Figure FDA0002492285670000024
步骤S2.4:根据上一时刻和当前时刻计算节点和参数服务器的部署情况来表示部署代价C3(t),其中,
Figure FDA0002492285670000025
其中,
Figure FDA0002492285670000026
表示i任务在r数据中心上的部署代价,
Figure FDA0002492285670000027
Figure FDA0002492285670000028
时表示需要发生新的部署,
Figure FDA0002492285670000029
时表示不需要,上一时刻计算节点和参数服务器的部署情况为
Figure FDA00024922856700000210
当前时刻计算节点和参数服务器的部署情况为
Figure FDA00024922856700000211
步骤S2.5:根据部署方案表示出节点和参数服务器的通信代价C4(t),其中,
Figure FDA00024922856700000212
步骤S3具体包括:
将数据迁移代价、资源租用代价、部署代价和通信代价相加表示为整数型线性规划,minimize∑t∈T(C1(t)+C2(t)+C3(t)+C4(t)),并构建约束条件,约束条件具体包括约束条件(1)~(11):
Figure FDA00024922856700000213
Figure FDA00024922856700000214
Figure FDA00024922856700000215
Figure FDA00024922856700000216
Figure FDA00024922856700000217
Figure FDA00024922856700000218
Figure FDA00024922856700000219
Figure FDA0002492285670000031
Figure FDA0002492285670000032
Figure FDA0002492285670000033
Figure FDA0002492285670000035
其中,I表示用户总数,T为总时长,R为地理分布式数据中心数量,
Figure FDA0002492285670000036
为计算过程中的辅助变量,其值大小等于
Figure FDA0002492285670000037
M为预设参数,
Figure FDA0002492285670000038
为两个预设辅助变量,
Figure FDA0002492285670000039
Figure FDA00024922856700000310
分别表示前一时刻和当前时刻计算节点和参数服务器的部署情况。
2.如权利要求1所述的方法,其特征在于,步骤S4具体包括:
将整数型线性规划松弛成线性规划,再采用正则化方法将每相邻两个时段内的关系解耦获得归一化项:
Figure FDA00024922856700000311
求出
Figure FDA00024922856700000312
Figure FDA00024922856700000313
的分数解,其中,
Figure FDA00024922856700000314
表示t时刻在数据中心r上放置的任务i的计算节点的数量,
Figure FDA00024922856700000315
表示在t时刻在数据中心r上放置的任务i的参数服务器的数量ε和σ为设置参数,取大于0小于1的数。
3.如权利要求2所述的方法,其特征在于,步骤S5具体包括:
步骤S5.1:对步骤S4的
Figure FDA00024922856700000316
对应的分数解取整,具体为:将所有不为整数的
Figure FDA00024922856700000317
的小数部分pi(t)放入一个集合
Figure FDA00024922856700000318
当集合
Figure FDA00024922856700000319
不为空集的时候,任取两个pi1(t)和pi2(t),定义两个变量Φ1和Φ2,分别表示为:
Figure FDA00024922856700000320
Figure FDA00024922856700000321
根据概率
Figure FDA00024922856700000322
设置pi1(t)=pi1(t)+Φ1
Figure FDA00024922856700000323
根据概率
Figure FDA00024922856700000324
设置pi1(t)=pi1(t)-Φ2
Figure FDA00024922856700000325
到所有的
Figure FDA00024922856700000326
都为0或者1;
步骤S5.2:将
Figure FDA0002492285670000041
对应的分数解取整,具体包括:根据概率分布任取一个i′使得
Figure FDA0002492285670000042
为1其余的i对应的
Figure FDA0002492285670000043
都为0;
步骤S5.3:将通过步骤S5.1和步骤S5.2求出来的
Figure FDA0002492285670000044
Figure FDA0002492285670000045
输入整数型线性规划方程中,重新求解出其余所有的变量。
4.面向分布式机器学习任务的云资源在线调度装置,其特征在于,包括:
价格函数及数据量观测模块,用于在每个时段的开始,观测出每个地理分布式数据中心各种资源的价格函数以及每个机器学习任务需要训练的数据量大小,其中,地理分布式数据中心用于放置计算节点和参数服务器,机器学习任务由用户提交,并且在每个时刻产生下个时刻每个任务需要训练的数据量,价格函数为
Figure FDA0002492285670000046
Figure FDA0002492285670000047
其中,h为资源使用量,
Figure FDA0002492285670000048
为阈值,
Figure FDA0002492285670000049
Figure FDA00024922856700000410
为根据实际资源价格设置可调整的参数;
代价计算模块,用于计算出调度分布式机器学习任务过程中所产生的代价,调度分布式机器学习任务过程中所产生的代价包括数据迁移代价、资源租用代价、部署代价和通信代价;
整数型线性规划表示模块,用于将所有代价之和表示为成整数型线性规划;
松弛化模块,用于将整数型线性规划松弛为线性规划,求出t时刻在数据中心r上放置的任务i的计算节点的数量,在t时刻在数据中心r上放置的任务i的参数服务器的数量对应的分数解;
调度方案求解模块,用于对所述分数解采用独立取整方法,求出每个时刻每个机器学习任务的计算节点和参数服务器的部署方案、数据迁移方案,将其作为调度方案;
调度模块,用于基于所述调度方案,进行在线调度;
其中,代价计算模块具体用于执行步骤S2.1~S2.5:
步骤S2.1:获取与调度相关的参数,具体包括:任务i的计算节点的处理能力为Pi,任务i的计算节点需要的k类资源的数量为ni,k,任务i的参数服务器需要的k类资源的数量为mi,t,参数服务器和计算节点之间需要交换的参数大小为Bi,在t时刻在数据中心r上放置的任务i的计算节点的数量为
Figure FDA0002492285670000051
在t时刻在数据中心r上放置的任务i的参数服务器的数量为
Figure FDA0002492285670000052
在t时刻在系统里处理的任务集合为It,在将数据集从数据中心r迁移到r′的迁移成本是drr′,其需要迁移的数据量大小为
Figure FDA0002492285670000053
参数服务器和计算节点之间的连接数为
Figure FDA0002492285670000054
任务i的部署成本为ci
步骤S2.2:根据单位数据迁移成本与迁移的数据量,表示数据迁移代价C1(t),其中,
Figure FDA0002492285670000055
步骤S2.3:根据用户任务所需要消耗的资源量和资源价格方程,表示出资源租用代价C2(t),其中,
Figure FDA0002492285670000056
步骤S2.4:根据上一时刻和当前时刻计算节点和参数服务器的部署情况来表示部署代价C3(t),其中,
Figure FDA0002492285670000057
其中,
Figure FDA0002492285670000058
表示i任务在r数据中心上的部署代价,
Figure FDA0002492285670000059
Figure FDA00024922856700000510
时表示需要发生新的部署,
Figure FDA00024922856700000511
时表示不需要,上一时刻计算节点和参数服务器的部署情况为
Figure FDA00024922856700000512
当前时刻计算节点和参数服务器的部署情况为
Figure FDA00024922856700000513
步骤S2.5:根据部署方案表示出节点和参数服务器的通信代价C4(t),其中,
Figure FDA00024922856700000514
整数型线性规划表示模块具体用于:
将数据迁移代价、资源租用代价、部署代价和通信代价相加表示为整数型线性规划,minimize∑t∈T(C1(t)+C2(t)+C3(t)+C4(t)),并构建约束条件,约束条件具体包括约束条件(1)~(11):
Figure FDA00024922856700000515
Figure FDA00024922856700000516
Figure FDA00024922856700000517
Figure FDA0002492285670000061
Figure FDA0002492285670000062
Figure FDA0002492285670000063
Figure FDA0002492285670000064
Figure FDA0002492285670000065
Figure FDA0002492285670000066
Figure FDA0002492285670000067
Figure FDA0002492285670000069
其中,I表示用户总数,T为总时长,R为地理分布式数据中心数量,
Figure FDA00024922856700000610
为计算过程中的辅助变量,其值大小等于
Figure FDA00024922856700000611
M为预设参数,
Figure FDA00024922856700000612
为两个预设辅助变量,
Figure FDA00024922856700000613
Figure FDA00024922856700000614
分别表示前一时刻和当前时刻计算节点和参数服务器的部署情况。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至3中任一项权利要求所述的方法。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3中任一项权利要求所述的方法。
CN201910212778.1A 2019-03-20 2019-03-20 面向分布式机器学习任务的云资源在线调度方法及装置 Active CN110086650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910212778.1A CN110086650B (zh) 2019-03-20 2019-03-20 面向分布式机器学习任务的云资源在线调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910212778.1A CN110086650B (zh) 2019-03-20 2019-03-20 面向分布式机器学习任务的云资源在线调度方法及装置

Publications (2)

Publication Number Publication Date
CN110086650A CN110086650A (zh) 2019-08-02
CN110086650B true CN110086650B (zh) 2020-07-10

Family

ID=67413303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910212778.1A Active CN110086650B (zh) 2019-03-20 2019-03-20 面向分布式机器学习任务的云资源在线调度方法及装置

Country Status (1)

Country Link
CN (1) CN110086650B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110730101B (zh) * 2019-10-22 2023-04-07 深圳前海微众银行股份有限公司 资源分配方法、终端、装置及可读存储介质
CN111026550A (zh) * 2019-11-29 2020-04-17 中国科学院深圳先进技术研究院 容器云环境下的任务调度方法、装置、服务器及存储装置
CN110889510B (zh) * 2019-12-05 2022-06-07 武汉大学 一种面向分布式机器学习任务的在线调度方法及装置
CN110990140B (zh) * 2019-12-10 2023-03-14 电子科技大学 一种光电交换网络中分布式机器学习流的调度方法
WO2022000169A1 (zh) * 2020-06-29 2022-01-06 深圳大学 跨数据中心的数据分析方法、装置、设备及存储介质
CN112073469A (zh) * 2020-08-14 2020-12-11 武汉大学 一种面向分布式机器学习任务的动态定价和部署方法
US20220207444A1 (en) * 2020-12-30 2022-06-30 International Business Machines Corporation Implementing pay-as-you-go (payg) automated machine learning and ai
CN114139730B (zh) * 2021-06-30 2024-04-19 武汉大学 一种面向边缘云网络中机器学习任务的动态定价和部署方法
CN113672215B (zh) * 2021-07-30 2023-10-24 阿里巴巴新加坡控股有限公司 深度学习分布式训练适配方法和装置
CN113891466B (zh) * 2021-09-07 2024-04-26 武汉大学 一种面向边缘无线网络中udl任务的在线调度系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103906245A (zh) * 2013-12-03 2014-07-02 浙江理工大学 一种无线传感网络分布式速率控制方法
CN108345501A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种分布式资源调度方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908458A (zh) * 2017-11-10 2018-04-13 苏州铭冠软件科技有限公司 一种考虑时间和费用的云计算数据资源调度方法
CN108418858B (zh) * 2018-01-23 2021-07-02 南京邮电大学 一种面向Geo-distributed云存储的数据副本放置方法
CN108449411B (zh) * 2018-03-19 2020-09-11 河南工业大学 一种随机需求下面向异质费用的云资源调度方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103906245A (zh) * 2013-12-03 2014-07-02 浙江理工大学 一种无线传感网络分布式速率控制方法
CN108345501A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种分布式资源调度方法和系统

Also Published As

Publication number Publication date
CN110086650A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN110086650B (zh) 面向分布式机器学习任务的云资源在线调度方法及装置
Nayak et al. Deadline sensitive lease scheduling in cloud computing environment using AHP
Tritschler et al. A hybrid metaheuristic for resource-constrained project scheduling with flexible resource profiles
US10761897B2 (en) Predictive model-based intelligent system for automatically scaling and managing provisioned computing resources
Abd Latiff A checkpointed league championship algorithm-based cloud scheduling scheme with secure fault tolerance responsiveness
CN108292241A (zh) 处理计算图
CN113168569A (zh) 去中心化分布式深度学习
US10783002B1 (en) Cost determination of a service call
CN112154462A (zh) 高性能流水线并行深度神经网络训练
CN110889510B (zh) 一种面向分布式机器学习任务的在线调度方法及装置
Sood et al. Matrix based proactive resource provisioning in mobile cloud environment
CN108270805B (zh) 用于数据处理的资源分配方法及装置
Ralha et al. Multiagent system for dynamic resource provisioning in cloud computing platforms
CN111061564A (zh) 服务器容量调整方法、装置及电子设备
CN113296905A (zh) 调度方法、装置、电子设备、存储介质及软件产品
CN114896068A (zh) 资源分配方法、资源分配装置、电子设备及存储介质
CN108132840A (zh) 一种分布式系统中的资源调度方法及装置
US20210217083A1 (en) Method and system for optimizing resource redistribution
Jung et al. A workflow scheduling technique using genetic algorithm in spot instance-based cloud
Alworafi et al. Budget-aware task scheduling technique for efficient management of cloud resources
Serrano-Iglesias et al. A self-scalable distributed network simulation environment based on cloud computing
CN114596009A (zh) 智算中心的算力资源部署方法、装置、设备及存储介质
Banerjee et al. Offloading work to mobile devices: An availability-aware data partitioning approach
CN114816690A (zh) 一种任务分配方法、装置、设备及存储介质
CN109901931B (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
TR01 Transfer of patent right

Effective date of registration: 20230621

Address after: 241002 Building 5, Wuhu Science and Technology Industrial Park, Yijiang District, Wuhu City, Anhui Province

Patentee after: Yangtze River delta information intelligence Innovation Research Institute

Address before: 430072 Hubei Province, Wuhan city Wuchang District of Wuhan University Luojiashan

Patentee before: WUHAN University

TR01 Transfer of patent right