CN114139730A - 一种面向边缘云网络中机器学习任务的动态定价和部署方法 - Google Patents
一种面向边缘云网络中机器学习任务的动态定价和部署方法 Download PDFInfo
- Publication number
- CN114139730A CN114139730A CN202110733452.0A CN202110733452A CN114139730A CN 114139730 A CN114139730 A CN 114139730A CN 202110733452 A CN202110733452 A CN 202110733452A CN 114139730 A CN114139730 A CN 114139730A
- Authority
- CN
- China
- Prior art keywords
- task
- server
- node
- nodes
- computing
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000009977 dual effect Effects 0.000 claims abstract description 20
- 238000005457 optimization Methods 0.000 claims abstract description 4
- 230000008901 benefit Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 claims description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向边缘云网络中机器学习任务的动态定价和部署方法,该方法能够对计算节点和参数服务器节点动态定价,并且在未知未来任务信息的情况下决定是否接收在线到达的机器学习任务,并对接收的任务进行部署放置,以社会福利最大化为目的。边缘云市场资源提供商根据本发明可以随着时间的推移实时在线地对资源进行动态定价,进而对在线到达的机器学习任务有选择性的接收,近似实现社会福利最大化。本发明结合了线性规划建模,紧致指数优化理论,对偶理论和贪心算法等,通过理论分析证明了我们的算法实现了在线的可信拍卖,同时算法能在多项式时间内给出结果,此外还证明了放置算法的最优性。
Description
技术邻域
本发明属于边缘计算、云计算领域,具体涉及一种面向边缘云网络中机器学习任务的动态定价和部署方法。
背景技术
随着物联网的发展,物联网产生的数据量越来越大,边缘计算进入人类的视野,近几年来迅速发展。边缘计算具有两大特点:1.相比云服务器,边缘节点计算、存储资源较少。2.边缘节点靠近数据源头,数据传输距离短,因此边缘计算时延更低,带宽要求低。基于这些特点,边缘计算如今开始应用到智慧城市、自动驾驶、视频分析、智慧家庭等各个领域,利用边缘云网络训练机器学习模型也越来越普遍。已有的分布式机器学习任务调度算法并不适合直接应用于边缘-云网络上机器学习任务的调度。首先,由于边缘靠近数据源,在算力相同的情况下机器学习任务肯定更倾向于在边缘服务器进行训练,然而边缘服务器的资源相比云服务器来说稀少得多,因此在调度的过程中需要同时考虑延迟和资源限制的影响;其次,已有的针对云服务商的定价机制并不适合于边缘-云网络,考虑到边缘服务器计算、存储以及带宽资源较为稀少,但本身又具有靠近数据源的优点,边缘服务器上的资源定价不一定与云服务器上的资源定价一致。因此,对于边缘-云网络,设计出适用的机器学习任务定价、部署算法是一个亟待解决的问题。
从一个服务商的角度出发,假设他拥有多个分布在不同区域的边缘服务器和一个云服务器,每个服务器上有多种类型计算节点和参数服务器节点。用户到达并向服务商提供想要训练的机器学习任务的信息,但是用户不需要提交任务的运行时间以及所需要的计算节点和参数服务器结点的类型和数量。即使是在知道任务使用的节点的类型和数量以及任务运行时间的前提下,对在线到达的的任务进行动态定价和部署已经是一个NP-hard问题。如果考虑一个更实际的情况,每个用户任务请求在线到达并且任务运行时间和任务使用的节点的类型和数量都是未知的(现实中这些信息往往都是未知的),要求云服务商立刻确定是否接收任务,问题将会变的更难。
发明内容
为了解决上述问题,本发明提供了一种高效面向边缘云网络中机器学习任务的动态定价和部署方法。用户到达并向服务商提供想要训练的机器学习任务的信息。服务商通过算法首先根据历史信息和系统状况对计算节点和参数服务器节点动态定价,然后计算任务的最优部署方案(指使得竞标价格减去资源花销最大的部署方案),并决定是否接收任务。如果接收任务,则服务商根据最优部署方案部署任务。本机制以社会福利最大化为目标,这里的社会福利指服务商收益与服务商接收的用户的效益之和。
本发明所采用的技术方案是:
一种面向边缘云网络中机器学习任务的动态定价和部署方法,一个服务商提供给用户W种类型的计算节点和P种类型的参数服务器节点,这些节点位于S个不同位置的服务器上。其中,第s个服务器上第w类的计算节点资源量为Csw,第s个服务器上第p类的参数服务器节点资源量为Csp。有J个机器学习任务在总长为T的时间段到来。用户j提交其任务的信息给服务商:其中rj是任务到达的时间,fj(·)是非负的效益函数,其数值随着任务持续时间增加而增加,该函数的取值含义是用户根据任务完成时间对任务定义的价值。Bj中剩余的部分描述任务j的信息,每个机器学习任务都包含一个输入数据集,习惯上我们会将数据集分为相同大小的数据块,Dj则是数据块的数量,每个数据块被进一步划分为Mj个相同大小的mini-batch。由于深度学习任务的学习中止条件不确定,每个任务会指定一个最大的训练轮次Ej。如果任务j被接收,所有数据块将调度到分配的Worker对应的物理服务器s上,其传输延迟为而表示使用第w种Worker、第p种PS训练任务j一个mini-batch所需要的时间。
每个用户到达时,提交任务信息给云服务商,云服务商对不同服务器上的资源进行动态定价(将第s个服务器上第w类的计算节点的单价定为αsw,将第s个服务器上第p类的的参数服务器节点单价定为βsp)。然后模拟计算任务的最优部署方案,如果该方案对应的收益大于0,则接收该任务,并部署该任务,否则拒绝该任务。
一种面向边缘云网络中机器学习任务的动态定价和部署方法,具体包括以下步骤:
步骤1:用整数规划对上述问题进行建模。
步骤2:考虑步骤1中的整数规划问题,使用紧致指数优化理论对其进行重构。
步骤3:对步骤2中得到的重构问题,考虑其对偶问题。基于对偶问题,提出任务接收控制的基本原则。
步骤4:提出对计算节点和参数服务器节点进行动态定价的定价函数,根据历史信息和系统状况对资源进行定价。
步骤5:当任务到达时,服务商计算其最优调度方案,根据任务接收控制的基本原则,决定是否接收该任务,对于接收的任务,转到步骤6。
步骤6:部署机器学习任务,同时更新当前可用资源状况。
步骤7:每当有任务完成时,更新步骤4中定价函数的相关参数,并重新对计算节点和参数服务器节点进行定价。
进一步的,步骤1中建模如下,
subject to:
其中,xj表示决策变量,是否接收任务j,aj表示任务j开始执行的时隙,表示任务j结束执行的时隙,Csw表示服务器s上第w种计算节点的数量,Csp表示服务器s上第p种参数服务器的数量,bw表示计算节点w的带宽大小,bp表示计算参数服务器节点p的带宽大小,ojw表示任务j是否选择计算节点w,ojp表示参数任务j是否选择计算服务器节点p;yjsw(t)表示任务j在服务器s上于时隙t使用的计算节点w数量;zjsp(t)表示任务j在服务器s上于时隙t使用的参数服务器节点p数量;ψj表示是否任务j的所有计算节点和参数服务器节点都在一个服务器上;pj表示用户应为任务j支付的酬劳,[S]\s表示从集合S中除去元素s得到的集合;
建模的目的是,对资源进行定价,然后在满足资源约束的条件下,决定是否接收用户任务,并为接受的任务设计部署方案,以最大化社会福利;约束条件(1a)假设一个任务只能使用一种类型的计算节点和参数服务器节点,只有在计算节点类型确定后才能给任务分配该类型的计算节点,因此只有ojw=1时才能分配第w种计算节点;此外,任务的每一个数据块至多只能被一个计算节点训练,因此同一时隙内分配的计算节点数量不能超过Dj,于是得到约束约束条件(1b);约束条件(1c)规定计算节点禁止抢占,分配给每个任务的计算节点在任务完成后才会释放;类似于约束条件(1b)和(1c),得到关于参数服务器节点的两个约束(1d)和(1e);考虑到Worker训练数据离不开PS,必须保证Worker运行时至少有一个PS,由此得到约束(1f);约束(1g)保证有足够多的计算节点和时间来训练任务;约束(1h)确定使用集中化放置还是分布式放置;约束(1i)和(1j)保证使用的计算节点、参数服务器节点输了不超过服务器拥有的数量;约束(1k)保证参数服务器节点有足够的带宽用于传递参数,对于放置参数服务器节点的服务器s,我们对服务器集合S中所有其他服务器上的计算节点需要的带宽进行求和,保证求和得到的值小于服务器s上参数服务器节点拥有的带宽;约束(1l)保证任务到达之前不分配资源以及完成之后立刻释放资源;(1m)和(1n)分别表示任务的开始训练时间和结束训练时间;约束(1o)和(1p)规定上述变量的范围。
进一步的,步骤2的具体实现方式如下;
对于任意一个任务j,其调度由xj,ojw,ojp,yjsw(t),zjsp(t)决策变量决定,令Lj为任务j所有满足约束条件(1a)-(1h),(1k)-(1p)的调度方案的集合;然后将xj修改为其含义是任务j是否被接收并且采用调度方案l,表示采用,表示不采用;类似的,也修改变量yjsw(t),zjsp(t)为其含义分别是采用调度方案l时分配给任务j的计算节点、参数服务器节点数量;最后定义为在调度方案l下任务j的完成时间,于是得到问题(1)的重构问题(2)如下:
subject to:
问题(2)是一个整数线性规划问题(ILP),其中约束(2a)、(2b)分别对应于约束(1i)、(1j);约束(2c)、(2d)则覆盖了剩余的约束条件,通过解决问题(2)来处理问题(1)。
进一步的,步骤3的具体实现方式如下;
将MINLP问题(1)转化为了ILP问题(2),但是代价是引入了指数级数量的变量为了处理如此之多的变量,考虑(2)的对偶问题,将放宽为然后对于约束(2a),(2b)和(2c)分别引入对偶变量αsw(t),βsp(t),μj,得到对偶问题(3):
minimize∑j∈[J]μj+∑s∈[S]∑w∈[W]∑t∈[T]αsw(t)Csw+∑s∈[S]∑p∈[P]∑t∈[T]βsp(t)Csp (3)
subject to:
对于问题(3),将对偶变量αsw(t),βsp(t)理解为计算节点w,参数服务器节点p在服务器s上单位时间的单位价格,于是通过以下公式计算任务j在采用调度方案l时的总花费:
再考虑约束(3a),该约束右边部分实际上就是任务的效益减去总花费,根据对偶问题的互补松驰性原则,同时考虑(3b),得到:
其中RHS表示公式等号或者不等号的右侧,令于是μj可以理解成用户在任务j采用最优调度方案l*时的收益;基于(4),提出任务接收控制的基本原则:对于任务j,只有当采用最优调度方案l*得到的μj大于0时,服务商才会接受任务j,μj大于0就说明任务带来的效益能大于执行任务产生的花销。
进一步的,步骤4的具体实现方式如下;
定义两个资源数量变量qsw(t),hsp(t),分别表示时隙t时服务器s上第w种计算节点和第p中参数服务器节点的使用数量,采用指数函数为原型,提出的定价函数如下:
当资源完全未使用时,qsw(t)=0,hsp(t)=0,αsw(0)=0, 此时由于任务的效益永远非负,因此任何任务都能接收,该机制确保了算法能尽可能多的接收任务;当资源完全耗尽时, 其中ηw和ηp为价格函数中的相关参数,此时应该保证任意一个任务都不会被接收,这就要求ηw,ηp足够大,以下式为标准:
考虑到计算节点或参数服务器节点数量不确定,按照以下的式子来确定ηw,ηp的下界:
上面的式子中假设ηw-1>1,ηp-1>1,这样的下界保证即使任务只要求一个计算节点,其效益也小于其花销。
进一步的,步骤5的具体实现方式如下;
对于在线到达的任务,服务商计算其最优部署方案,该问题实质上是对于任务j,假定接收任务j的情况下,找出其最优调度方案l*,对该问题建模如下:
subject to:
subject to:
为得到问题(7)的最优解,分别考虑两种放置情况:集中式放置和分布式放置;对于集中式放置,统计所有能满足集中化放置条件的服务器,并按照资源开销从小到大排序,选取排序后第一个服务器进行放置,得到集中式放置的方案和开销,这里的满足条件指在时间段T1期间计算节点数量足够,并且至少有一个参数服务器节点;对于分布式放置,首先根据计算节点价格从低到高对服务器进行排序,然后按顺序放置计算节点,计算节点全部放置完后考虑放置参数服务器节点,尝试将其他服务器上放置的计算节点移动到参数服务器节点对应的服务器上,尽管移动计算节点后会导致计算节点花销增多,但有可能参数服务器节点因此减少进而使得总花销变少,于是首先遍历每一个可能放置参数服务器节点的服务器,然后讨论移动计算节点的可能性,并将最终花销最小的方案存储到集合Γ中,最后根据花销对集合Γ排序,返回花销最小的方案;
总的来说,为得到问题(6)的最优解,首先遍历所有可能的计算节点、参数服务器节点类型以及任务开始时间、结束时间,然后分别考虑分布式放置和集中式放置,选出最优的调度方案,然后根据任务接收的控制原则决定是否接收任务,对于接收的任务,转入步骤6。
与现有技术相比,本发明具有如下优点和有益效果:该方法能够对计算节点和参数服务器节点动态定价,并且在未知未来任务信息的情况下决定是否接收在线到达的机器学习任务,并对接收的任务进行部署放置,以社会福利最大化为目的。边缘云市场资源提供商根据本发明可以随着时间的推移实时在线地对资源进行动态定价,进而对在线到达的机器学习任务有选择性的接收,近似实现社会福利最大化。本发明结合了线性规划建模,紧致指数优化理论,对偶理论和贪心算法等,通过理论分析证明了我们的算法实现了在线的可信拍卖,同时算法能在多项式时间内给出结果,此外还证明了放置算法的最优性。
附图说明
图1是本发明实施例系统模型的结构图。
图2是本发明实施例的概念流程图。
图3是本发明实施例实验结果图。图3(a)展示了本发明实施例在不同服务器、任务数量下的竞争比(竞争比指在线算法得到的结果与离线最优算法的结果之比,越小越好);图3(b)展示了采用不同效益函数时本发明实施例得到的社会福利;图3(c)对比本发明实施例实验中接收的任务的资源消耗与任务价值。
图4是本发明实施例和其他现有算法结果的实验结果对比图。图4(a)展示了不同任务数量下本发明实施例得到的社会福利与其他算法的对比;图4(b)展示了不同服务器数量下本发明实施例得到的社会福利与其他算法的对比;图4(c)展示了本发明实施例与其他算法在不同服务器、任务数量下的竞争比。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,不用于限定本发明。
我们首先在表1中说明实施例中使用到的一些重要符号:
表1重要符号
在本实施例中,我们首先模拟出一个边缘-云网络,包括一个云端以及许多边缘服务器,边缘服务器的数量为S=[50,300],我们考虑在这个网络上进行时长T=150的测试(一个时隙表示一个小时)。每个边缘服务器包含[1,5]个计算节点以及[1,3]个参数服务器节点,考虑到计算节点和参数服务器节点的异构性,我们将计算节点和参数服务器节点的类型设置为5种。在服务器带宽方面,我们将Worker的带宽设置在[100,5*1024]Mbps,参数服务器节点的带宽设置在[5*1024,20*1024]Mbps左右。一种面向分布式机器学习任务的动态定价和部署方法,包括以下步骤:
步骤1:用整数规划对问题进行建模。
subject to:
该机制的目的是,对资源进行定价,然后在满足资源约束的条件下,决定是否接收用户任务,并为接受的任务设计部署方案(yjsw和zjsp),以最大化社会福利。约束条件(1a)假设一个任务只能使用一种类型的计算节点和参数服务器节点。只有在计算节点类型确定后我们才能给任务分配该类型的计算节点,因此只有ojw=1时我们才能分配第w种计算节点。此外,任务的每一个数据块至多只能被一个计算节点训练,因此同一时隙内分配的计算节点数量不能超过Dj,于是我们得到约束约束条件(1b)。约束条件(1c)规定计算节点禁止抢占,分配给每个任务的计算节点在任务完成后才会释放。类似于约束条件(1b)和(1c),我们得到关于参数服务器节点的两个约束(1d)和(1e)。考虑到Worker训练数据离不开PS,我们必须保证Worker运行时至少有一个PS,由此得到约束(1f)。约束(1g)保证有足够多的计算节点和时间来训练任务。约束(1h)确定使用集中化放置还是分布式放置。约束(1i)和(1j)保证使用的计算节点、参数服务器节点输了不超过服务器拥有的数量。约束(1k)保证参数服务器节点有足够的带宽用于传递参数,对于放置参数服务器节点的服务器s,我们对服务器集合S中所有其他服务器上的计算节点需要的带宽进行求和,保证求和得到的值小于服务器s上参数服务器节点拥有的带宽。约束(1l)保证任务到达之前不分配资源以及完成之后立刻释放资源。(1m)和(1n)分别表示任务的开始训练时间和结束训练时间。约束(1o)和(1p)规定上述变量的范围。
步骤2:问题(1)很难直接进行求解,因此我们需要对其进行重构。对于任意一个任务j,其调度主要由xj,ojw,ojp,yjsw(t),zjsp(t)等决策变量决定,我们令Lj为任务j所有满足约束条件(1a)-(1h),(1k)-(1p)的调度方案的集合。然后我们将xj修改为其含义是任务j是否被接收并且采用调度方案l(表示采用,表示不采用)。类似的,我们也修改变量yjsw(t),zjsp(t)为其含义分别是采用调度方案l时分配给任务j的计算节点、参数服务器节点数量。最后我们定义为在调度方案l下任务j的完成时间。于是我们得到问题(1)的重构问题(2)如下:
subject to:
问题(2)是一个整数线性规划问题(ILP),其中约束(2a)、(2b)分别对应于约束(1i)、(1j);约束(2c)、(2d)则覆盖了剩余的约束条件。于是我们可以通过解决问题(2)来处理问题(1)。
步骤3:我们将MINLP问题(1)转化为了ILP问题(2),但是代价是引入了指数级数量的变量为了处理如此之多的变量,我们考虑(2)的对偶问题,我们将放宽为然后对于约束(2a),(2b)和(2c)分别引入对偶变量αsw(t),βsp(t),μj,得到对偶问题(3):
minimize∑j∈[J]μj+∑s∈[S]∑w∈[W]∑t∈[T]αsw(t)Csw+∑s∈[S]∑p∈[P]∑t∈[T]βsp(t)Csp (3)
subject to:
对于问题(3),我们将对偶变量αsw(t),βsp(t)理解为计算节点w,参数服务器节点p在服务器s上单位时间的单位价格。于是我们可以通过以下公式计算任务j在采用调度方案l时的总花费:
我们再考虑约束(3a),该约束右边部分实际上就是任务的效益减去总花费。根据对偶问题的互补松驰性原则,同时考虑(3b),我们得到:
其中RHS(right-hand side)表示公式等号或者不等号的右侧,我们令于是μj可以理解成用户在任务j采用最优调度方案l*时的收益。基于(4),我们提出任务接收控制的基本原则:对于任务j,只有当采用最优调度方案l*得到的μj大于0时,服务商才会接受任务j。μj大于0就说明任务带来的效益能大于执行任务产生的花销。
步骤4:我们定义两个资源数量变量qsw(t),hsp(t),分别表示时隙t时服务器s上第w(p)种计算节点(参数服务器节点)的使用数量。我们采用指数函数为原型,提出我们的定价函数如下:
当资源完全未使用时,qsw(t)=0,hsp(t)=0,αsw(0)=0, 此时由于任务的效益永远非负,因此任何任务都能接收。该机制确保了算法能尽可能多的接收任务。当资源完全耗尽时, 此时我们应该保证任意一个任务都不会被接收,这就要求ηw,ηp足够大,以下式为标准:
考虑到计算节点(参数服务器节点)数量不确定,我们按照以下的式子来确定ηw,ηp的下界:
上面的式子中我们假设ηw-1>1,ηp-1>1。这样的下界保证即使任务只要求一个计算节点,其效益也小于其花销。
步骤5:对于在线到达的任务,服务商计算其最优部署方案,该问题实质上是对于任务j,假定接收任务j的情况下,找出其最优调度方案l*,我们对该问题建模如下:
subject to:
问题(6)仍然是个太复杂的问题,原因是计算节点和参数服务器节点类型以及任务开始执行时间不确定。我们固定上述三个变量,也就是w,p,aj,在这个基础上,再给定任务完成时间于是我们得到问题(6)的简化问题:
subject to:
为得到问题(7)的最优解,我们分别考虑两种放置情况:集中式放置和分布式放置。对于集中式放置,我们统计所有能满足集中化放置条件(这里的满足条件指在时间段T1期间计算节点数量足够,并且至少有一个参数服务器节点)的服务器,并按照资源开销从小到大排序,选取排序后第一个服务器进行放置,得到集中式放置的方案和开销。对于分布式放置,我们首先根据计算节点价格从低到高对服务器进行排序,然后按顺序放置计算节点。计算节点全部放置完后考虑放置参数服务器节点,我们尝试将其他服务器上放置的计算节点移动到参数服务器节点对应的服务器上,尽管移动计算节点后会导致计算节点花销增多,但有可能参数服务器节点因此减少进而使得总花销变少。于是我们首先遍历每一个可能放置参数服务器节点的服务器,然后讨论移动计算节点的可能性,并将最终花销最小的方案存储到集合Γ中。最后根据花销对集合Γ排序,返回花销最小的方案。
总的来说,为得到问题(6)的最优解,我们首先遍历所有可能的计算节点、参数服务器节点类型以及任务开始时间、结束时间,然后分别考虑分布式放置和集中式放置,选出最优的调度方案。然后根据任务接收的控制原则决定是否接收任务。对于接收的任务,转入步骤6。
步骤6:部署机器学习任务,同时更新当前可用资源状况。
步骤7:一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量。同时,根据该任务的信息,基于步骤4中的公式(5),更新价格函数相关参数ηw和ηp,然后重新对计算节点和参数服务器节点进行定价。
本发明研究了服务商如何对边缘云网络中的计算节点和参数服务器节点进行动态定价,并且在未知未来任务信息的情况下,决定是否接收任务,并对接收的任务进行部署放置,尽可能实现社会福利最大化。
应当理解的是,本说明未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (6)
1.一种面向分布式机器学习任务的动态定价和部署方法,其特征在于,包括:
一个服务商提供给用户W种类型的计算节点和P种类型的参数服务器节点,这些节点位于S个不同位置的服务器上;其中,第s个服务器上第w类的计算节点资源量为Csw,第s个服务器上第p类的参数服务器节点资源量为Csp;有J个机器学习任务在总长为T的时间段到来,用户j提交其任务的信息给服务商:其中rj是任务到达的时间,fj(·)是非负的效益函数,其数值随着任务持续时间增加而增加,该函数的取值含义是用户根据任务完成时间对任务定义的价值;Bj中剩余的部分描述任务j的信息,每个机器学习任务都包含一个输入数据集,将数据集分为相同大小的数据块,Dj则是数据块的数量,每个数据块被进一步划分为Mj个相同大小的mini-batch;由于深度学习任务的学习中止条件不确定,每个任务会指定一个最大的训练轮次Ej,如果任务j被接收,所有数据块将调度到分配的Worker对应的物理服务器s上,其传输延迟为而表示使用第w种Worker、第p种PS训练任务j一个mini-batch所需要的时间;
每个用户到达时,提交任务信息给云服务商,云服务商对不同服务器上的资源进行动态定价,即将第s个服务器上第w类的计算节点的单价定为αsw,将第s个服务器上第p类的的参数服务器节点单价定为βsp;然后模拟计算任务的最优部署方案,如果该方案对应的收益大于0,则接收该任务,并部署该任务,否则拒绝该任务;具体包括如下步骤:
步骤1,用整数规划对上述问题进行建模;
步骤2,考虑步骤1中的整数规划问题,使用紧致指数优化理论对其进行重构;
步骤3,对步骤2中得到的重构问题,考虑其对偶问题,基于对偶问题,提出任务接收控制的基本原则;
步骤4,提出对计算节点和参数服务器节点进行动态定价的定价函数,根据历史信息和系统状况对资源进行定价;
步骤5,当任务到达时,服务商计算其最优调度方案,根据任务接收控制的基本原则,决定是否接收该任务,对于接收的任务,转到步骤6;
步骤6,部署机器学习任务,同时更新当前可用资源状况;
步骤7,每当有任务完成时,更新步骤4中定价函数的相关参数,并重新对计算节点和参数服务器节点进行定价。
2.如权利要求1所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤1中建模如下,
subject to:
其中,xj表示决策变量,是否接收任务j,aj表示任务j开始执行的时隙,表示任务j结束执行的时隙,Csw表示服务器s上第w种计算节点的数量,Csp表示服务器s上第p种参数服务器的数量,bw表示计算节点w的带宽大小,bp表示计算参数服务器节点p的带宽大小,ojw表示任务j是否选择计算节点w,ojp表示参数任务j是否选择计算服务器节点p;yjsw(t)表示任务j在服务器s上于时隙t使用的计算节点w数量;zjsp(t)表示任务j在服务器s上于时隙t使用的参数服务器节点p数量;ψj表示是否任务j的所有计算节点和参数服务器节点都在一个服务器上;pj表示用户应为任务j支付的酬劳,[S]\s表示从集合S中除去元素s得到的集合;
建模的目的是,对资源进行定价,然后在满足资源约束的条件下,决定是否接收用户任务,并为接受的任务设计部署方案,以最大化社会福利;约束条件(1a)假设一个任务只能使用一种类型的计算节点和参数服务器节点,只有在计算节点类型确定后才能给任务分配该类型的计算节点,因此只有ojw=1时才能分配第w种计算节点;此外,任务的每一个数据块至多只能被一个计算节点训练,因此同一时隙内分配的计算节点数量不能超过Dj,于是得到约束约束条件(1b);约束条件(1c)规定计算节点禁止抢占,分配给每个任务的计算节点在任务完成后才会释放;类似于约束条件(1b)和(1c),得到关于参数服务器节点的两个约束(1d)和(1e);考虑到Worker训练数据离不开PS,必须保证Worker运行时至少有一个PS,由此得到约束(1f);约束(1g)保证有足够多的计算节点和时间来训练任务;约束(1h)确定使用集中化放置还是分布式放置;约束(1i)和(1j)保证使用的计算节点、参数服务器节点输了不超过服务器拥有的数量;约束(1k)保证参数服务器节点有足够的带宽用于传递参数,对于放置参数服务器节点的服务器s,我们对服务器集合S中所有其他服务器上的计算节点需要的带宽进行求和,保证求和得到的值小于服务器s上参数服务器节点拥有的带宽;约束(1l)保证任务到达之前不分配资源以及完成之后立刻释放资源;(1m)和(1n)分别表示任务的开始训练时间和结束训练时间;约束(1o)和(1p)规定上述变量的范围。
3.如权利要求2所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤2的具体实现方式如下;
对于任意一个任务j,其调度由xj,ojw,ojp,yjsw(t),zjsp(t)决策变量决定,令Lj为任务j所有满足约束条件(1a)-(1h),(1k)-(1p)的调度方案的集合;然后将xj修改为其含义是任务j是否被接收并且采用调度方案l,表示采用,表示不采用;类似的,也修改变量yjsw(t),zjsp(t)为其含义分别是采用调度方案l时分配给任务j的计算节点、参数服务器节点数量;最后定义为在调度方案l下任务j的完成时间,于是得到问题(1)的重构问题(2)如下:
subject to:
问题(2)是一个整数线性规划问题(ILP),其中约束(2a)、(2b)分别对应于约束(1i)、(1j);约束(2c)、(2d)则覆盖了剩余的约束条件,通过解决问题(2)来处理问题(1)。
4.如权利要求3所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤3的具体实现方式如下;
将MINLP问题(1)转化为了ILP问题(2),但是代价是引入了指数级数量的变量为了处理如此之多的变量,考虑(2)的对偶问题,将放宽为然后对于约束(2a),(2b)和(2c)分别引入对偶变量αsw(t),βsp(t),μj,得到对偶问题(3):
subject to:
对于问题(3),将对偶变量αsw(t),βsp(t)理解为计算节点w,参数服务器节点p在服务器s上单位时间的单位价格,于是通过以下公式计算任务j在采用调度方案l时的总花费:
再考虑约束(3a),该约束右边部分实际上就是任务的效益减去总花费,根据对偶问题的互补松驰性原则,同时考虑(3b),得到:
5.如权利要求4所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤4的具体实现方式如下;
定义两个资源数量变量qsw(t),hsp(t),分别表示时隙t时服务器s上第w种计算节点和第p中参数服务器节点的使用数量,采用指数函数为原型,提出的定价函数如下:
当资源完全未使用时,qsw(t)=0,hsp(t)=0,αsw(0)=0,βsp(0)=0,此时由于任务的效益永远非负,因此任何任务都能接收,该机制确保了算法能尽可能多的接收任务;当资源完全耗尽时,αsw(·)=ηw-1,βsp(·)=ηp-1,其中ηw和ηp为价格函数中的相关参数,此时应该保证任意一个任务都不会被接收,这就要求ηw,ηp足够大,以下式为标准:
考虑到计算节点或参数服务器节点数量不确定,按照以下的式子来确定ηw,ηp的下界:
上面的式子中假设ηw-1>1,ηp-1>1,这样的下界保证即使任务只要求一个计算节点,其效益也小于其花销。
6.如权利要求5所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤5的具体实现方式如下;
对于在线到达的任务,服务商计算其最优部署方案,该问题实质上是对于任务j,假定接收任务j的情况下,找出其最优调度方案l*,对该问题建模如下:
subject to:
subject to:
为得到问题(7)的最优解,分别考虑两种放置情况:集中式放置和分布式放置;对于集中式放置,统计所有能满足集中化放置条件的服务器,并按照资源开销从小到大排序,选取排序后第一个服务器进行放置,得到集中式放置的方案和开销,这里的满足条件指在时间段T1期间计算节点数量足够,并且至少有一个参数服务器节点;对于分布式放置,首先根据计算节点价格从低到高对服务器进行排序,然后按顺序放置计算节点,计算节点全部放置完后考虑放置参数服务器节点,尝试将其他服务器上放置的计算节点移动到参数服务器节点对应的服务器上,尽管移动计算节点后会导致计算节点花销增多,但有可能参数服务器节点因此减少进而使得总花销变少,于是首先遍历每一个可能放置参数服务器节点的服务器,然后讨论移动计算节点的可能性,并将最终花销最小的方案存储到集合Γ中,最后根据花销对集合Γ排序,返回花销最小的方案;
总的来说,为得到问题(6)的最优解,首先遍历所有可能的计算节点、参数服务器节点类型以及任务开始时间、结束时间,然后分别考虑分布式放置和集中式放置,选出最优的调度方案,然后根据任务接收的控制原则决定是否接收任务,对于接收的任务,转入步骤6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110733452.0A CN114139730B (zh) | 2021-06-30 | 2021-06-30 | 一种面向边缘云网络中机器学习任务的动态定价和部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110733452.0A CN114139730B (zh) | 2021-06-30 | 2021-06-30 | 一种面向边缘云网络中机器学习任务的动态定价和部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114139730A true CN114139730A (zh) | 2022-03-04 |
CN114139730B CN114139730B (zh) | 2024-04-19 |
Family
ID=80394188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110733452.0A Active CN114139730B (zh) | 2021-06-30 | 2021-06-30 | 一种面向边缘云网络中机器学习任务的动态定价和部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114139730B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116111599A (zh) * | 2022-09-08 | 2023-05-12 | 贵州电网有限责任公司 | 一种基于区间预测的智能电网不确定性感知管理控制方法 |
CN116578406A (zh) * | 2023-07-13 | 2023-08-11 | 太极计算机股份有限公司 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170357532A1 (en) * | 2016-06-10 | 2017-12-14 | Board Of Regents, The University Of Texas System | Systems and methods for scheduling of workload-aware jobs on multi-clouds |
US20190049975A1 (en) * | 2017-08-11 | 2019-02-14 | Tata Consultancy Services Limited | Method and system for optimally allocating warehouse procurement tasks to distributed robotic agents |
CN110086650A (zh) * | 2019-03-20 | 2019-08-02 | 武汉大学 | 面向分布式机器学习任务的云资源在线调度方法及装置 |
CN110889510A (zh) * | 2019-12-05 | 2020-03-17 | 武汉大学 | 一种面向分布式机器学习任务的在线调度方法及装置 |
CN111400001A (zh) * | 2020-03-09 | 2020-07-10 | 清华大学 | 一种面向边缘计算环境的在线计算任务卸载调度方法 |
CN111885147A (zh) * | 2020-07-20 | 2020-11-03 | 兰州理工大学 | 边缘计算中的一种资源动态定价方法 |
CN112073469A (zh) * | 2020-08-14 | 2020-12-11 | 武汉大学 | 一种面向分布式机器学习任务的动态定价和部署方法 |
CN112148492A (zh) * | 2020-09-28 | 2020-12-29 | 南京大学 | 一种考虑多用户移动性的服务部署和资源分配方法 |
-
2021
- 2021-06-30 CN CN202110733452.0A patent/CN114139730B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170357532A1 (en) * | 2016-06-10 | 2017-12-14 | Board Of Regents, The University Of Texas System | Systems and methods for scheduling of workload-aware jobs on multi-clouds |
US20190049975A1 (en) * | 2017-08-11 | 2019-02-14 | Tata Consultancy Services Limited | Method and system for optimally allocating warehouse procurement tasks to distributed robotic agents |
CN110086650A (zh) * | 2019-03-20 | 2019-08-02 | 武汉大学 | 面向分布式机器学习任务的云资源在线调度方法及装置 |
CN110889510A (zh) * | 2019-12-05 | 2020-03-17 | 武汉大学 | 一种面向分布式机器学习任务的在线调度方法及装置 |
CN111400001A (zh) * | 2020-03-09 | 2020-07-10 | 清华大学 | 一种面向边缘计算环境的在线计算任务卸载调度方法 |
CN111885147A (zh) * | 2020-07-20 | 2020-11-03 | 兰州理工大学 | 边缘计算中的一种资源动态定价方法 |
CN112073469A (zh) * | 2020-08-14 | 2020-12-11 | 武汉大学 | 一种面向分布式机器学习任务的动态定价和部署方法 |
CN112148492A (zh) * | 2020-09-28 | 2020-12-29 | 南京大学 | 一种考虑多用户移动性的服务部署和资源分配方法 |
Non-Patent Citations (2)
Title |
---|
RUITING ZHOU等: "DPS: Dynamic Pricing and Scheduling for Distributed Machine Learning Jobs in Edge-Cloud Networks", 《IEEE TRANSACTIONS ON MOBILE COMPUTING》, 2 August 2022 (2022-08-02) * |
刘通;唐伦;何小强;陈前斌;: "融合区块链与雾计算系统中基于网络时延和资源管理的优化任务卸载方案", 电子与信息学报, no. 09, 15 September 2020 (2020-09-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116111599A (zh) * | 2022-09-08 | 2023-05-12 | 贵州电网有限责任公司 | 一种基于区间预测的智能电网不确定性感知管理控制方法 |
CN116578406A (zh) * | 2023-07-13 | 2023-08-11 | 太极计算机股份有限公司 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
CN116578406B (zh) * | 2023-07-13 | 2023-10-10 | 太极计算机股份有限公司 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114139730B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN109992404B (zh) | 集群计算资源调度方法、装置、设备及介质 | |
Shen et al. | Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems | |
US9020829B2 (en) | Quality of service aware scheduling for composite web service workflows | |
CN109804395A (zh) | 具有会议时间和位置优化的会议服务 | |
CN114139730A (zh) | 一种面向边缘云网络中机器学习任务的动态定价和部署方法 | |
CN108734293A (zh) | 任务管理系统、方法和装置 | |
CN113852405B (zh) | 多波束中继卫星任务调度模型的构建方法及装置 | |
CN114756358A (zh) | 一种dag任务调度方法、装置、设备及存储介质 | |
CN108566242B (zh) | 一种针对遥感数据传输业务的空间信息网络资源调度系统 | |
CN114253735B (zh) | 一种任务处理方法、装置及相关设备 | |
CN113472597B (zh) | 分布式卷积神经网络细粒度的参数传输调度方法及装置 | |
CN111768019A (zh) | 订单处理方法、装置、计算机设备及存储介质 | |
CN115002123B (zh) | 基于移动边缘计算的快速适应任务卸载系统和方法 | |
CN115271130B (zh) | 面向船舶主动力设备维修订单的动态调度方法及系统 | |
CN109684088A (zh) | 云平台资源约束的遥感大数据快速处理任务调度方法 | |
CN114862209A (zh) | 运力调度方法、装置、电子设备及存储介质 | |
Girish et al. | Scheduling job shop associated with multiple routings with genetic and ant colony heuristics | |
CN108134851B (zh) | 数据传输的服务质量控制方法及装置 | |
CN116915869A (zh) | 基于云边协同的时延敏感型智能服务快速响应方法 | |
CN115016911A (zh) | 面向大规模联邦学习的任务编排方法、装置、设备和介质 | |
SHUKLA et al. | Data Model Approach And Markov Chain Based Analysis Of Multi-Level Queue Scheduling. | |
CN115423393A (zh) | 一种基于lstm的动态自适应调度周期的订单调度方法及装置 | |
Rokou et al. | Multi-project flexible resource profiles project scheduling with Ant Colony Optimization | |
CN113358126A (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 |