CN112073469A - 一种面向分布式机器学习任务的动态定价和部署方法 - Google Patents

一种面向分布式机器学习任务的动态定价和部署方法 Download PDF

Info

Publication number
CN112073469A
CN112073469A CN202010817927.XA CN202010817927A CN112073469A CN 112073469 A CN112073469 A CN 112073469A CN 202010817927 A CN202010817927 A CN 202010817927A CN 112073469 A CN112073469 A CN 112073469A
Authority
CN
China
Prior art keywords
user
price
task
server
resource
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
Application number
CN202010817927.XA
Other languages
English (en)
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.)
Wuhan University WHU
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 CN202010817927.XA priority Critical patent/CN112073469A/zh
Publication of CN112073469A publication Critical patent/CN112073469A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向分布式机器学习任务的动态定价和部署方法,该方法能够在用户预算未知的情况下,对在线到达的机器学习任务请求资源进行动态地定价,同时为接受收费的用户部署任务,以达到收益最大化目的。云容器资源提供商根据本发明可以随着时间的推移实时在线地对资源进行动态定价,以谋得最大化收益。本发明结合了线性规划建模,经典的多臂老虎机框架(multi‑armed bandit,MAB)和贪心算法等,从理论上证明了其有效性。本发明能够在不需要知道用户预算和机器学习任务训练时长的情况下,趋向最优地进行动态定价并为任务进行部署,达到让资源尽可能地服务于更多请求的同时产生最大的收益。

Description

一种面向分布式机器学习任务的动态定价和部署方法
技术邻域
本发明属于云计算领域,具体涉及一种面向分布式机器学习任务的动态定价和部署方法。
背景技术
当下,云服务提供商通常采用随用随付(pay-as-you-go)的定价策略,即根据用户的购买的虚拟机类型和任务运行时间并以固定单价进行收费。亚马逊EC2、谷歌云和微软Azure采用按需实例定价策略,用户根据运行的实例以按小时或按秒的方式,估计任务运行时间并预先为计算容量付费。另外一种经常采用的定价方式是预留实例,用户预先购买1-3年的计算容量。与按需实例的定价策略相比,预留实例可提供大幅折扣。但已有的定价策略不适合机器学习任务,原因如下:首先,不同的用户有不同的预算和资源需求。固定定价不能针对性地吸引不同的用户,并且不能反映市场上的供需变化。因此,索价过高和过低的情况都可能发生,从而损害云运营商和用户的利益。其次,现有的定价策略要求用户自己配置任务并提前预估任务运行时间。如果低估了任务的运行时间,用户将会被要求再次付费。但是,任务的运行时间是不能提前确定的,这通常受其计算节点的配置和部署位置的影响。
与现有的云服务定价相比,动态定价的关键在于云运营商怎样在不知道用户预算的情况下,对资源进行动态地定价并在服务器上配置和部署机器学习任务,来使得运营收益最大化同时在最短的时间内完成训练任务。
从一个云运营商的角度出发,假设他拥有多个分布在不同区域的云服务器,每个服务器上有多种类型计算节点和参数服务器节点。用户到达并向云运营商提供想要训练的机器学习任务的信息,以及指定所需要的计算节点和参数服务器结点的类型和数量。但是用户不需要提交任务的运行时间和预算。即使是在知道用户预算以及任务运行时间的前提下,对在线到的的任务进行动态定价和部署已经是一个NP-hard问题。如果考虑一个更实际的情况,每个用户任务请求在线到达并且任务运行时间和用户预算都是未知的(现实中这些信息往往都是未知的),要求云服务商立刻对其进行定价以追求最大收益,问题将会变的更难。
发明内容
为了解决上述问题,本发明提供了一种高效面向分布式机器学习任务的动态定价和部署方法。用户到达并向云服务商提供想要训练的机器学习任务的信息,以及指定所需要的计算节点和参数服务器节点的类型和数量。云服务商通过算法来动态地为其定价,并将价格告知给用户。如果用户接受改价格,则云服务商将进行收费并根据算法为其部署任务。本发明所采用的技术方案是:
一种面向分布式机器学习任务的动态定价和部署方法,包括:一个云服务提供商提供给用户K种类型的计算节点和M种类型的参数服务器节点,这些节点位于S个不同位置的服务器上。其中,第k类的计算节点资源量为Ck,第m类的参数服务器节点资源量为Cm。有N个用户带着其机器学习任务在总长为T的时间段到来,记用户i的到达时间为ti。用户i提交其任务的信息给云服务商:请求的计算节点类型ki和参数服务器节点类型mi;ki类计算节点的需求量dik和mi类参数服务器节点的需求量dim;机器学习任务的梯度大小wi;任务训练的轮次αi。记用户i提交的上述信息为Bi={ki,dik,mi,dim,wi,αi}。除此之外,每个用户在内心有自己的预算(记为vi)。
每个用户到达时,提交任务信息给云服务商,云服务商在不知道用户预算的情况下,对用户请求的资源进行动态定价(将ki类计算节点的单价定为pik,将mi类服务器计算节点单价定为pim)并告知用户。如果用户同意该定价(即总费用在其预算内),云服务商则进一步为其部署任务,即决定将该任务部署在哪些服务器上以及各个服务器上运行多少个计算节点和参数服务器节点。云服务提供商通过对资源动态定价和部署任务,来使得总收益最大。
一种面向分布式机器学习任务的动态定价和部署方法,包括以下步骤:
步骤1,用整数规划对上述问题进行建模;
步骤2,根据上述整数规划问题,建立利润和资源单价之间的关系;
步骤3,对于每种资源,将其价格区间[0,1]离散化,得到价格候选集合,并为价格候选集合中的每个价格设计一个奖励值;
步骤4,每当有用户请求到达时,用户向云服务商提交其机器学习任务相关的信息Bi,云服务商判断当前资源是否足够为该用户服务;如果资源足够,判断当前处于探索阶段还是处于开发阶段,进入步骤5;如果资源不足,则拒绝用户请求;
步骤5,基于步骤4所分析的当前状态,如果处于探索阶段,不向用户收取费用,这种情况下,费用一定在用户的预算范围,用户会接受零费用,云服务商将为其部署任务;如果处于开发阶段,则从资源对应的价格候选集中选择奖励值最高的作为当前用户所请求的资源的单价,并告知用户单价,等待用户的回应,如果用户接受定价,进入步骤6;如果用户不接受定价,则回到步骤4,处理下一个用户的请求;
步骤6,对于接受定价的用户,为其部署机器学习任务,同时更新当前可用资源状况;
步骤7,一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量,更新步骤3中对应的价格候选集合中奖励值相关参数,用于下一次的奖励值计算。
进一步的,步骤1中建模如下,
Figure BDA0002633410620000041
Figure BDA0002633410620000042
Figure BDA0002633410620000043
Figure BDA0002633410620000044
Figure BDA0002633410620000045
Figure BDA0002633410620000046
Figure BDA0002633410620000047
Figure BDA0002633410620000048
Figure BDA0002633410620000049
Figure BDA00026334106200000410
建模的目的在于,在满足资源约束的条件下,对用户请求的资源进行定价并为接受价格的用户设计任务部署方案,以最大化云服务商的收益;在(1a)中,II(x)为指示函数,即当x为真时值为1,当x为假时值取0,因此fi定义为当用户i到达时,当前可用资源是否足够为其服务;约束条件(1b)中定义了
Figure BDA00026334106200000411
表明了在用户i到达时,他所请求的第mi类参数服务器节点已被之前到来的任务所占用的数量,其中τj为用户j的任务的运行时间;同样地,约束条件(1c)中的
Figure BDA0002633410620000051
定义了第ki类计算节点已被占用的数量;约束条件(1d)和(1e)保障了部署在各个服务器上的计算节点和参数服务器节点的资源量等于用户请求的资源量,其中未知变量xski表示服务器s上分配给用户i的第ki类型计算节点个数,zsmi表示服务器s上分配给用户i的第mi类型参数服务器节点个数;约束条件(1f)和(1g)则保证了,每个服务器上分配给用户的计算节点和参数服务器节点数量不超过该服务器当前资源可用量,其中已知变量xski为用户i到达时服务器s上的第ki类型计算节点的可用量,
Figure BDA0002633410620000052
则表示用户i到达时服务器s上的第mi类型参数服务器节点的可用个数;约束条件(1h)保障了分配给用户的计算节点和参数服务器节点个数均为整数;(1i)则保障了给资源定的单价大于等于零。
进一步的,步骤2中建立利润和资源单价之间的关系如下,
对每种资源组合(k,m),用户的资源需求量和预算独立同分布,简记为(dik,dim,vi)~Fk,m,其中Fk,m为未知的分布,将固定价格
Figure BDA0002633410620000053
下的云服务商的收益记为
Figure BDA0002633410620000054
其中
Figure BDA0002633410620000055
在这种固定价格的策略下,收益和资源单价之间的关系可用以下公式表示:
Figure BDA0002633410620000056
其中,
Figure BDA0002633410620000057
Figure BDA0002633410620000058
分别表示用户i的实际购买计算节点和参数服务器节点的数量,即当vi≥pkdik+pmdim
Figure BDA0002633410620000059
否则值为零;
Figure BDA00026334106200000510
Figure BDA00026334106200000511
Qk(pk)表示第k类型计算节点以pk单价成功出售给需要该类资源的用户的平均数量,同理Qm(pm)表示第m类型参数服务器节点以pm单价成功出售给需要该类资源的用户的平均数量;nm和nk则分别表示请求m类型参数服务器节点和请求k类型计算节点的用户数;
Figure BDA0002633410620000061
其中μi=T-τi;而用户i的任务运行时间τi=αiβii(1-qi)(2wi/bi),其中βi为用户i机器学习任务训练时每轮计算梯度所需的计算时长,该计算时长可根据已有的知识预估出来;qi表明分配给用户i的所有资源是否位于同一个服务器上,值为1表明位于同一服务器上,值为0表明位于不同服务器上;当所有分配给用户的资源位于同一服务器上时,梯度参数传输时间可忽略不计;当位于不同服务器上时,传输时间则不能忽略,每轮梯度传输时间为2wi/bi,其中带宽bi=min(hki,Hmi/dik),hki为ki类型计算节点的预留带宽,Hmi为mi类型参数服务器节点的预留带宽。
进一步的,步骤3的具体实现方式如下,
记k类型计算节点的价格候选集为
Figure BDA0002633410620000062
z是指任意整数,
Figure BDA00026334106200000612
是指整数集合;m类型参数服务器节点的价格候选集为
Figure BDA0002633410620000063
其中δk∈(0,1),δm∈(0,1),基于步骤2中的收益公式(2),为候选集合的每个价格设计一个奖励值,记为
Figure BDA0002633410620000064
Figure BDA0002633410620000065
如下所示:
Figure BDA0002633410620000066
Figure BDA0002633410620000067
其中,
Figure BDA0002633410620000068
Figure BDA0002633410620000069
Figure BDA00026334106200000610
Figure BDA00026334106200000611
Figure BDA0002633410620000071
Figure BDA0002633410620000072
Figure BDA0002633410620000079
Figure BDA0002633410620000073
其中,
Figure BDA0002633410620000074
表示在用户i到达之前,价格pm被选择使用过的次数;记II为指示函数,即当ti′i′<ti成立时,该表达式II(ti′i′<ti)的值取1,否则取0;Θ表示渐进紧确界符号。
进一步的,步骤4中,若请求ki类型计算节点的任务数量累计达到nk(TCklognk)2/3且请求mi类型参数服务器节点的任务数量累计达到nm(TCmlognm)2/3,则进入开发阶段;否则,进入探索阶段;其中,nk表示请求k类计算节点的用户总数,nm表示请求m类参数服务器节点的用户总数。
进一步的,步骤5中如果处于开发阶段,则从ki类型计算节点的候选价格集合
Figure BDA0002633410620000075
中选择步骤3中具有最大奖励值
Figure BDA0002633410620000076
的价格,记为pik,作为用户i请求的ki类型计算节点的单价,同样地,从
Figure BDA0002633410620000077
中选择具有奖励值
Figure BDA0002633410620000078
的价格作为用户i请求的mi类型参数服务器节点的单价,记为pim;基于资源单价,计算应该向用户收取的费用,即pik×dik+pim×dim,并将费用告知用户。
进一步的,步骤6中用户i的部署问题描述为,
minimizeτi
subject to:
Figure BDA0002633410620000081
Figure BDA0002633410620000082
Figure BDA0002633410620000083
Figure BDA0002633410620000084
Figure BDA0002633410620000085
为了得到上述线性规划的最佳近似解,采用贪心算法对任务进行部署;针对用户i请求的资源类型,将服务器的可用资源按照从大到小的顺序进行排序,如果存在一个服务器上的可用资源足够部署用户i的任务,则将该任务部署到这个服务器上;否则,按照上述排序遍历服务器,分配当前服务器的所有可用资源给该用户,直至满足用户的资源请求,同时基于此次部署方案,更新所有服务器上的可用资源。
与现有技术相比,本发明具有如下优点和有益效果:该方法能够在用户预算未知的情况下,对在线到达的机器学习任务请求资源进行动态地定价,同时为接受收费的用户部署任务,以达到收益最大化目的。云容器资源提供商根据本发明可以随着时间的推移实时在线地对资源进行动态定价,以谋得最大化收益。本发明能够在不需要知道用户预算和机器学习任务训练时长的情况下,趋向最优地进行动态定价并为任务进行部署,达到让资源尽可能地服务于更多请求的同时产生最大的收益。
附图说明
图1是本发明实施例的概念流程图。
图2是本发明实施例实验结果图。其中,图(a)是我们方法在不同用户数量下的regret值(即我们方法得到的总利益和最佳静态定价方法的差值);图(b)是我们方法随时间的regret值;图(c)和图(d)是我们方法在不同参数设定下的regret变化情况。
图3是本发明实施例和其他现有算法结果的实验结果对比图,其中,图(a)为我们方法与现有的算法的regret比较;图(b)是我们方法得到的总利益与其他算法的总利益的对比情况。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,不用于限定本发明。
在本实施例中,我们设置了50个不同位置的服务器,一共有15种类型的计算节点和10中类型的参数服务器节点,其中每个服务器上的每种类型的计算节点个数在0到30之间随机生成,每种参数服务器节点个数在0到18之间随机生成。每种计算节点的带宽在100Mbps和5Gbps之间,每种参数服务器节点的带宽在5Gbps和20Gbps之间。每个时隙(time-slot)设为5分钟,系统时间总跨10000个时隙。期间,共有10000个用户带着机器学习任务请求到达。我们根据亚马逊EC2价格对设定了每种资源的价格区间,并对其进行预处理从而将其规约到[0,1]区间。
一种面向分布式机器学习任务的动态定价和部署方法,包括以下步骤:
步骤1:用整数规划对问题进行建模。
Figure BDA0002633410620000091
Figure BDA0002633410620000092
Figure BDA0002633410620000101
Figure BDA0002633410620000102
Figure BDA0002633410620000103
Figure BDA0002633410620000104
Figure BDA0002633410620000105
Figure BDA0002633410620000106
Figure BDA0002633410620000107
Figure BDA0002633410620000108
该机制的目的是,在满足资源约束的条件下,对用户请求的资源进行定价(pik和pim)并为接受价格的用户设计任务部署方案(xski和zsmi),以最大化云服务商的收益。在(1a)中,II(x)为指示函数(即当x为真时值为1,当x为假时值取0)。因此fi定义为当用户i到达时,当前可用资源是否足够为其服务。约束条件(1b)中定义了
Figure BDA0002633410620000109
表明了在用户i到达时,他所请求的第mi类参数服务器节点已被之前到来的任务所占用的数量,其中τj为用户j的任务的运行时间。同样地,约束条件(1c)中的
Figure BDA00026334106200001010
定义了第ki类计算节点已被占用的数量(用户i到达时)。约束条件(1d)和(1e)保障了部署在各个服务器上的计算节点和参数服务器节点的资源量等于用户请求的资源量,其中未知变量xski表示服务器s上分配给用户i的第ki类型计算节点个数,zsmi表示服务器s上分配给用户i的第mi类型参数服务器节点个数。约束条件(1f)和(1g)则保证了,每个服务器上分配给用户的计算节点和参数服务器节点数量不超过该服务器当前资源可用量,其中已知变量
Figure BDA00026334106200001012
为用户i到达时服务器s上的第ki类型计算节点的可用量,
Figure BDA00026334106200001011
则表示用户i到达时服务器s上的第mi类型参数服务器节点的可用个数。约束条件(1h)保障了分配给用户的计算节点和参数服务器节点个数均为整数;(1i)则保障了给资源定的单价大于等于零。
步骤2:根据上述整数规划问题(1),建立利润和资源单价之间的关系公式。由于用户的预算和其资源需求量二者之间通常具有强相关性,我们假设需要相同类型的计算节点和参数服务器节点的预算与其需求量之间存在一个未知的分布。即,对每种资源组合(k,m),用户的(资源需求量,预算)独立同分布,简记为(dik,dim,vi)~Fk,m,其中Fk,m为未知的分布。我们将固定价格
Figure BDA0002633410620000111
Figure BDA0002633410620000112
下的云服务商的收益记为
Figure BDA0002633410620000113
其中
Figure BDA0002633410620000114
Figure BDA0002633410620000115
在这种固定价格的策略下,收益和资源单价之间的关系可用以下公式表示:
Figure BDA0002633410620000116
其中,
Figure BDA0002633410620000117
Figure BDA0002633410620000118
分别表示用户i的实际购买计算节点和参数服务器节点的数量,即当vi≥pkdik+pmdim
Figure BDA0002633410620000119
否则值为零。
Figure BDA00026334106200001110
Qk(pk)表示第k类型计算节点以pk单价成功出售给需要该类资源的用户的平均数量,同理Qm(pm)表示第m类型参数服务器节点以pm单价成功出售给需要该类资源的用户的平均数量;nm和nk则分别表示请求m类型参数服务器节点和请求k类型计算节点的用户数;
Figure BDA00026334106200001111
其中μi=T-τi。而用户i的任务运行时间τi=αiβii(1-qi)(2wi/bi),其中βi为用户i机器学习任务训练时每轮计算梯度所需的计算时长,该计算时长可根据已有的知识预估出来;qi表明分配给用户i的所有资源是否位于同一个服务器上(值为1表明位于同一服务器上,值为0表明位于不同服务器上)。当所有分配给用户的资源位于同一服务器上时,梯度参数传输时间可忽略不计;当位于不同服务器上时,传输时间则不能忽略,每轮梯度传输时间为2wi/bi,其中带宽bi=min(hki,Hmi/dik),hki为ki类型计算节点的预留带宽,Hmi为mi类型参数服务器节点的预留带宽。
步骤3:对于每种资源,将其价格区间[0,1]离散化,得到价格候选集合。记k类型计算节点的价格候选集为
Figure BDA0002633410620000121
z是指任意整数,
Figure BDA0002633410620000122
是指整数集合;m类型参数服务器节点的价格候选集为
Figure BDA0002633410620000123
Figure BDA0002633410620000124
其中δk∈(0,1),δm∈(0,1)。基于步骤2中的收益公式(2),为候选集合的每个价格设计一个奖励值,记为
Figure BDA0002633410620000125
Figure BDA0002633410620000126
如下所示:
Figure BDA0002633410620000127
其中,
Figure BDA0002633410620000129
Figure BDA00026334106200001215
Figure BDA00026334106200001210
Figure BDA00026334106200001211
Figure BDA00026334106200001212
Figure BDA00026334106200001213
Figure BDA00026334106200001214
Figure BDA0002633410620000131
其中,
Figure BDA0002633410620000132
表示在用户i到达之前,价格pm被选择使用过的次数,;记II为指示函数,即当ti′i′<ti成立时,该表达式II(ti′i′<ti)的值取1,否则取0,Θ通常用来表示渐进紧确界符号。
步骤4:每当有用户请求到达时,用户向云服务商提交其机器学习任务相关的信息Bi,云服务商判断当前资源是否足够为该用户服务。如果资源足够,判断当前处于探索阶段(exploration-stage)还是处于开发阶段(exploitation-stage):即若请求ki类型计算节点的任务数量累计达到nk(TCklognk)2/3且请求mi类型参数服务器节点的任务数量累计达到nm(TCmlognm)2/3,则进入开发阶段;否则,进入探索阶段。其中,nk表示请求k类计算节点的用户总数,nm表示请求m类参数服务器节点的用户总数。
步骤5:基于步骤4所分析的当前状态:如果处于探索阶段,不向用户收取费用(这种情况下,费用一定在用户的预算范围,用户会接受零费用,云服务商将为其部署任务);如果处于开发阶段,则从ki类型计算节点的候选价格集合
Figure BDA0002633410620000133
中选择步骤3中具有最大奖励值
Figure BDA0002633410620000134
的价格(记为pik),作为用户i请求的ki类型计算节点的单价,同样地,从
Figure BDA0002633410620000135
中选择具有奖励值
Figure BDA0002633410620000136
的价格作为用户i请求的mi类型参数服务器节点的单价(记为pim)。基于资源单价,计算应该向用户收取的费用,即pik×dik+pim×dim,并将费用告知用户。基于用户对收费的接受情况,基于步骤3中的公式(6)~(11)更新参数
Figure BDA0002633410620000137
Figure BDA0002633410620000138
步骤6:对于接受定价的用户,为其部署机器学习任务。我们对部署问题进行建模,使得任务的运行时长尽可能地短。用户i的部署问题可以描述为:
minimizeτi
subject to:(1d)~(1h)
为了得到上述线性规划的最佳近似解,我们采用贪心算法对任务进行部署。针对用户i请求的资源类型,将服务器的可用资源按照从大到小的顺序进行排序。如果存在一个服务器上的可用资源足够部署用户i的任务,则将该任务部署到这个服务器上;否则,按照上述排序遍历服务器,分配当前服务器的所有可用资源给该用户,直至满足用户的资源请求量。同时基于此次部署方案,更新所有服务器上的可用资源。
步骤7:一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量。同时,根据该任务的运行时长,基于步骤3中的公式(5)(9)(10)(12),更新运行时长相关参数
Figure BDA0002633410620000141
Figure BDA0002633410620000142
用于下次计算价格奖励值。
本发明研究了云服务商如何在未知用户预算的情况下,对用户请求的资源进行动态定价并对任务进行部署放置,以实现收益最大化。如图3(b)所示,在10000个时隙内,我们方法为云服务商带来的总收益高达现有的方法的总收益的238%,且该比率会随着时间的增加而持续增长。
应当理解的是,本说明未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (7)

1.一种面向分布式机器学习任务的动态定价和部署方法,其特征在于,包括:
一个云服务提供商提供给用户K种类型的计算节点和M种类型的参数服务器节点,这些节点位于S个不同位置的服务器上,其中,第k类的计算节点资源量为Ck,第m类的参数服务器节点资源量为Cm;有N个用户带着其机器学习任务在总长为T的时间段到来,记用户i的到达时间为ti,用户i提交其任务的信息给云服务商;请求的计算节点类型ki和参数服务器节点类型mi;ki类计算节点的需求量dik和mi类参数服务器节点的需求量dim;机器学习任务的梯度大小wi;任务训练的轮次αi,记用户i提交的上述信息为Bi={ki,dik,mi,dim,wi,αi},除此之外,每个用户在内心有自己的预算,记为vi
每个用户到达时,提交任务信息给云服务商,云服务商在不知道用户预算的情况下,对用户请求的资源进行动态定价,即将ki类计算节点的单价定为pik,将mi类服务器计算节点单价定为pim,并告知用户;如果用户同意该定价,即总费用在其预算内,云服务商则进一步为其部署任务,即决定将该任务部署在哪些服务器上以及各个服务器上运行多少个计算节点和参数服务器节点;具体包括如下步骤:
步骤1,用整数规划对上述问题进行建模;
步骤2,根据上述整数规划问题,建立利润和资源单价之间的关系;
步骤3,对于每种资源,将其价格区间[0,1]离散化,得到价格候选集合,并为价格候选集合中的每个价格设计一个奖励值;
步骤4,每当有用户请求到达时,用户向云服务商提交其机器学习任务相关的信息Bi,云服务商判断当前资源是否足够为该用户服务;如果资源足够,判断当前处于探索阶段还是处于开发阶段,进入步骤5;如果资源不足,则拒绝用户请求;
步骤5,基于步骤4所分析的当前状态,如果处于探索阶段,不向用户收取费用,这种情况下,费用一定在用户的预算范围,用户会接受零费用,云服务商将为其部署任务;如果处于开发阶段,则从资源对应的价格候选集中选择奖励值最高的作为当前用户所请求的资源的单价,并告知用户单价,等待用户的回应,如果用户接受定价,进入步骤6;如果用户不接受定价,则回到步骤4,处理下一个用户的请求;
步骤6,对于接受定价的用户,为其部署机器学习任务,同时更新当前可用资源状况;
步骤7,一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量,更新步骤3中对应的价格候选集合中奖励值相关参数,用于下一次的奖励值计算。
2.如权利要求1所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤1中建模如下,
Figure FDA0002633410610000021
subject to:
Figure FDA0002633410610000022
Figure FDA0002633410610000023
Figure FDA0002633410610000024
Figure FDA0002633410610000025
Figure FDA0002633410610000026
Figure FDA0002633410610000027
Figure FDA0002633410610000028
Figure FDA0002633410610000029
Figure FDA00026334106100000210
建模的目的在于,在满足资源约束的条件下,对用户请求的资源进行定价并为接受价格的用户设计任务部署方案,以最大化云服务商的收益;在(1a)中,
Figure FDA00026334106100000211
为指示函数,即当x为真时值为1,当x为假时值取0,因此fi定义为当用户i到达时,当前可用资源是否足够为其服务;约束条件(1b)中定义了
Figure FDA0002633410610000031
表明了在用户i到达时,他所请求的第mi类参数服务器节点已被之前到来的任务所占用的数量,其中τj为用户j的任务的运行时间;同样地,约束条件(1c)中的
Figure FDA0002633410610000032
定义了第ki类计算节点已被占用的数量;约束条件(1d)和(1e)保障了部署在各个服务器上的计算节点和参数服务器节点的资源量等于用户请求的资源量,其中未知变量xski表示服务器s上分配给用户i的第ki类型计算节点个数,zsmi表示服务器s上分配给用户i的第mi类型参数服务器节点个数;约束条件(1f)和(1g)则保证了,每个服务器上分配给用户的计算节点和参数服务器节点数量不超过该服务器当前资源可用量,其中已知变量
Figure FDA0002633410610000033
为用户i到达时服务器s上的第ki类型计算节点的可用量,
Figure FDA0002633410610000034
则表示用户i到达时服务器s上的第mi类型参数服务器节点的可用个数;约束条件(1h)保障了分配给用户的计算节点和参数服务器节点个数均为整数;(1i)则保障了给资源定的单价大于等于零。
3.如权利要求2所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤2中建立利润和资源单价之间的关系如下,
对每种资源组合(k,m),用户的资源需求量和预算独立同分布,简记为(dik,dim,vi)~Fk,m,其中Fk,m为未知的分布,将固定价格
Figure FDA0002633410610000035
下的云服务商的收益记为
Figure FDA0002633410610000036
其中
Figure FDA0002633410610000037
在这种固定价格的策略下,收益和资源单价之间的关系可用以下公式表示:
Figure FDA0002633410610000038
其中,
Figure FDA0002633410610000039
Figure FDA00026334106100000310
分别表示用户i的实际购买计算节点和参数服务器节点的数量,即当vi≥pkdik+pmdim
Figure FDA00026334106100000311
否则值为零;
Figure FDA00026334106100000312
Figure FDA00026334106100000313
Qk(pk)表示第k类型计算节点以pk单价成功出售给需要该类资源的用户的平均数量,同理Qm(pm)表示第m类型参数服务器节点以pm单价成功出售给需要该类资源的用户的平均数量;nm和nk则分别表示请求m类型参数服务器节点和请求k类型计算节点的用户数;
Figure FDA0002633410610000041
其中μi=T-τi;而用户i的任务运行时间τi=αiβii(1-qi)(2wi/bi),其中βi为用户i机器学习任务训练时每轮计算梯度所需的计算时长,该计算时长可根据已有的知识预估出来;qi表明分配给用户i的所有资源是否位于同一个服务器上,值为1表明位于同一服务器上,值为0表明位于不同服务器上;当所有分配给用户的资源位于同一服务器上时,梯度参数传输时间可忽略不计;当位于不同服务器上时,传输时间则不能忽略,每轮梯度传输时间为2wi/bi,其中带宽bi=min(hki,Hmi/dik),hki为ki类型计算节点的预留带宽,Hmi为mi类型参数服务器节点的预留带宽。
4.如权利要求3所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤3的具体实现方式如下,
记k类型计算节点的价格候选集为
Figure FDA0002633410610000042
z是指任意整数,
Figure FDA0002633410610000043
是指整数集合;m类型参数服务器节点的价格候选集为
Figure FDA0002633410610000044
Figure FDA0002633410610000045
其中δk∈(0,1),δm∈(0,1),基于步骤2中的收益公式(2),为候选集合的每个价格设计一个奖励值,记为
Figure FDA0002633410610000046
Figure FDA0002633410610000047
如下所示:
Figure FDA0002633410610000048
Figure FDA0002633410610000049
其中,
Figure FDA00026334106100000410
Figure FDA00026334106100000411
Figure FDA00026334106100000412
Figure FDA00026334106100000413
Figure FDA00026334106100000414
Figure FDA0002633410610000051
Figure FDA0002633410610000052
Figure FDA0002633410610000053
其中,
Figure FDA0002633410610000054
表示在用户i到达之前,价格pm被选择使用过的次数;记
Figure FDA00026334106100000511
为指示函数,即当ti′i′<ti成立时,该表达式
Figure FDA0002633410610000055
的值取1,否则取0;Θ表示渐进紧确界符号。
5.如权利要求4所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤4中,若请求ki类型计算节点的任务数量累计达到nk(TCklognk)2/3且请求mi类型参数服务器节点的任务数量累计达到nm(TCmlognm)2/3,则进入开发阶段;否则,进入探索阶段;其中,nk表示请求k类计算节点的用户总数,nm表示请求m类参数服务器节点的用户总数。
6.如权利要求5所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤5中如果处于开发阶段,则从ki类型计算节点的候选价格集合
Figure FDA0002633410610000056
中选择步骤3中具有最大奖励值
Figure FDA0002633410610000057
的价格,记为pik,作为用户i请求的ki类型计算节点的单价,同样地,从
Figure FDA0002633410610000058
中选择具有奖励值
Figure FDA0002633410610000059
的价格作为用户i请求的mi类型参数服务器节点的单价,记为pim;基于资源单价,计算应该向用户收取的费用,即pik×dik+pim×dim,并将费用告知用户。
7.如权利要求6所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤6中用户i的部署问题描述为,
minimize τi
subject to:
Figure FDA00026334106100000510
Figure FDA0002633410610000061
Figure FDA0002633410610000062
Figure FDA0002633410610000063
Figure FDA0002633410610000064
为了得到上述线性规划的最佳近似解,采用贪心算法对任务进行部署;针对用户i请求的资源类型,将服务器的可用资源按照从大到小的顺序进行排序,如果存在一个服务器上的可用资源足够部署用户i的任务,则将该任务部署到这个服务器上;否则,按照上述排序遍历服务器,分配当前服务器的所有可用资源给该用户,直至满足用户的资源请求,同时基于此次部署方案,更新所有服务器上的可用资源。
CN202010817927.XA 2020-08-14 2020-08-14 一种面向分布式机器学习任务的动态定价和部署方法 Pending CN112073469A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010817927.XA CN112073469A (zh) 2020-08-14 2020-08-14 一种面向分布式机器学习任务的动态定价和部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010817927.XA CN112073469A (zh) 2020-08-14 2020-08-14 一种面向分布式机器学习任务的动态定价和部署方法

Publications (1)

Publication Number Publication Date
CN112073469A true CN112073469A (zh) 2020-12-11

Family

ID=73661685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010817927.XA Pending CN112073469A (zh) 2020-08-14 2020-08-14 一种面向分布式机器学习任务的动态定价和部署方法

Country Status (1)

Country Link
CN (1) CN112073469A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469473A (zh) * 2021-09-06 2021-10-01 华南理工大学 一种考虑逆向物流的同城配送路线规划方法
CN113891466A (zh) * 2021-09-07 2022-01-04 武汉大学 一种面向边缘无线网络中udl任务的在线调度系统及方法
CN114139730A (zh) * 2021-06-30 2022-03-04 武汉大学 一种面向边缘云网络中机器学习任务的动态定价和部署方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109544234A (zh) * 2018-11-22 2019-03-29 安徽师范大学 一种云环境下基于帕累托最优的资源定价方法
CN110086650A (zh) * 2019-03-20 2019-08-02 武汉大学 面向分布式机器学习任务的云资源在线调度方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109544234A (zh) * 2018-11-22 2019-03-29 安徽师范大学 一种云环境下基于帕累托最优的资源定价方法
CN110086650A (zh) * 2019-03-20 2019-08-02 武汉大学 面向分布式机器学习任务的云资源在线调度方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XUEYING ZHANG等: ""Dynamic Pricing and Placement for Distributed Machine Learning Jobs"", 《 2020 6TH INTERNATIONAL CONFERENCE ON BIG DATA COMPUTING AND COMMUNICATIONS (BIGCOM)》 *
王欣,王芳: ""基于强化学习的动态定价策略研究综述"", 《计算机应用与软件》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114139730A (zh) * 2021-06-30 2022-03-04 武汉大学 一种面向边缘云网络中机器学习任务的动态定价和部署方法
CN114139730B (zh) * 2021-06-30 2024-04-19 武汉大学 一种面向边缘云网络中机器学习任务的动态定价和部署方法
CN113469473A (zh) * 2021-09-06 2021-10-01 华南理工大学 一种考虑逆向物流的同城配送路线规划方法
CN113469473B (zh) * 2021-09-06 2022-01-04 华南理工大学 一种考虑逆向物流的同城配送路线规划方法
CN113891466A (zh) * 2021-09-07 2022-01-04 武汉大学 一种面向边缘无线网络中udl任务的在线调度系统及方法
CN113891466B (zh) * 2021-09-07 2024-04-26 武汉大学 一种面向边缘无线网络中udl任务的在线调度系统及方法

Similar Documents

Publication Publication Date Title
CN112073469A (zh) 一种面向分布式机器学习任务的动态定价和部署方法
Abrishami et al. Deadline-constrained workflow scheduling algorithms for infrastructure as a service clouds
Aburukba et al. A heuristic scheduling approach for fog-cloud computing environment with stationary IoT devices
Kumar et al. A preference-based resource allocation in cloud computing systems
JP2000076212A (ja) 並列シミュレ―ションシステム
CN106020966A (zh) 用于将从客户接收的任务智能地分布于多个劳动资源间的系统和方法
CN109615411A (zh) 基于算法模型的广告投放方法及装置、电子设备
CN108428144A (zh) 推送信息订单的流量分配方法、服务分配方法及装置
Durgadevi et al. Resource allocation in cloud computing using SFLA and cuckoo search hybridization
Gutierrez-Garcia et al. Agent-based cloud bag-of-tasks execution
Haque et al. Resource allocation in communication networks using market-based agents
Asl et al. Efficient community formation for web services
CN112219191A (zh) 数据中心中的服务和服务器的自配置
Zhang et al. Occupation-oblivious pricing of cloud jobs via online learning
CN114139730B (zh) 一种面向边缘云网络中机器学习任务的动态定价和部署方法
CN110290228A (zh) 一种互联网协议ip地址分配方法及装置
Tang et al. Pricing model for dynamic resource overbooking in edge computing
CN110210922A (zh) 信息展示资源分配方法、装置、计算机设备及存储介质
CN108134851A (zh) 数据传输的服务质量控制方法及装置
Vanmechelen et al. A comparative analysis of single-unit vickrey auctions and commodity markets for realizing grid economies with dynamic pricing
Bensalem et al. Towards optimal serverless function scaling in edge computing network
CN115129481B (zh) 一种计算资源分配方法、装置及电子设备
CN113708982B (zh) 一种基于群体学习的服务功能链部署方法及系统
Zhang et al. Dynamic pricing and placement for distributed machine learning jobs
WO2016195716A1 (en) Price, completion time, and resource allocation determination for cloud services

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201211

RJ01 Rejection of invention patent application after publication