分配计算资源的方法和装置与流程

文档序号:20681773发布日期:2020-05-08 18:27阅读:209来源:国知局
分配计算资源的方法和装置与流程

本公开是关于云计算技术领域,尤其是关于一种分配计算资源的方法和装置。



背景技术:

云计算可以为用户提供一种现收现付(pay-as-you-go)的计算服务,大量的云计算资源如cpu(centralprocessingunit,中央处理器)、ram(randomaccessmemory,随机存取存储器)、内存和带宽等,都能以租赁的方式来为用户提供服务。传统的云计算是基于cpu的虚拟化,现在随着gpu(graphicprocessingunit,图形处理器)的迅速发展,关于gpu的云计算应运而生。

在实际应用中,由于gpu云数据中心的能耗过大,如何节能减排也成为了人们关注的焦点。需求响应机制可以适当的减少能耗保证电网的可持续性并且暂时抑制峰值时期的功耗负荷,可以通过dvfs(dynamicvoltageandfrequencyscaling,动态调频调压)实现云数据中心能耗的有效管理。

在云平台拍卖机制中,可以把用户作为投标者,云资源提供商作为拍卖商,如何制定一个任务分配系统使得社会福利最大化并且云计算中心的耗电量最低这一问题得到了人们广泛的关注。社会福利定义为云资源提供商的效益与用户的效益之和。

在实现本公开的过程中,发明人发现至少存在以下问题:

目前的研究成果中没有针对gpu调度的需求响应拍卖机制,现在的gpu云计算中更加严峻的能耗问题并没有得到解决。



技术实现要素:

为了克服相关技术中存在的问题,本公开提供了以下技术方案:

根据本公开实施例的第一方面,提供一种分配计算资源的方法,所述方法包括:

获取目标投标账户对应的目标任务;

确定所述目标任务的最优执行调度信息,其中,所述最优执行调度信息包括执行所述目标任务的开始时刻和结束时刻;

基于所述最优执行调度信息,确定执行所述目标任务的效用值;

如果所述效用值大于预设阈值,则基于所述最优调度信息,为所述目标投标账户分配图形处理器gpu中的计算资源。

可选地,所述确定所述目标任务的最优执行调度信息,包括:

确定执行所述目标任务的多个可用时隙;

确定各可用时隙分别对应的资源消耗值;

确定所述目标任务的最低执行能耗和执行时长;

基于所述各可用时隙分别对应的资源消耗值、所述最低执行能耗和执行时长,确定所述目标任务的最优执行调度信息。

可选地,所述确定各可用时隙分别对应的资源消耗值,包括:

确定已用能耗;

基于所述已用能耗,确定各可用时隙分别对应的资源消耗值。

可选地,所述确定所述目标任务的最低执行能耗和执行时长,包括:

逐个获取预设电压集合中的电压值和预设频率集合中的频率值,每当获取一个电压值和一个频率值时,基于当前获取的电压值和频率值,确定所述目标任务的执行能耗;

在各执行能耗中确定最低执行能耗;

确定所述最低执行能耗对应的执行时长。

可选地,所述方法还包括:

如果所述效用值大于预设阈值,则禁止为所述目标投标账户分配图形处理器gpu中的计算资源。

根据本公开实施例的第二方面,提供一种分配计算资源的装置,所述装置包括:

获取模块,用于获取目标投标账户对应的目标任务;

确定模块,用于确定所述目标任务的最优执行调度信息,其中,所述最优执行调度信息包括执行所述目标任务的开始时刻和结束时刻;

所述确定模块,用于基于所述最优执行调度信息,确定执行所述目标任务的效用值;

分配模块,用于如果所述效用值大于预设阈值,则基于所述最优调度信息,为所述目标投标账户分配图形处理器gpu中的计算资源。

可选地,所述确定模块,用于:

确定执行所述目标任务的多个可用时隙;

确定各可用时隙分别对应的资源消耗值;

确定所述目标任务的最低执行能耗和执行时长;

基于所述各可用时隙分别对应的资源消耗值、所述最低执行能耗和执行时长,确定所述目标任务的最优执行调度信息。

可选地,所述确定模块,用于:

确定已用能耗;

基于所述已用能耗,确定各可用时隙分别对应的资源消耗值。

可选地,所述确定模块,用于:

逐个获取预设电压集合中的电压值和预设频率集合中的频率值,每当获取一个电压值和一个频率值时,基于当前获取的电压值和频率值,确定所述目标任务的执行能耗;

在各执行能耗中确定最低执行能耗;

确定所述最低执行能耗对应的执行时长。

可选地,所述分配模块,还用于:

如果所述效用值大于预设阈值,则禁止为所述目标投标账户分配图形处理器gpu中的计算资源。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过本公开实施例提供的方法,可以有效降低使用gpu过程中的能耗。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:

图1是根据一示例性实施例示出的一种分配计算资源的方法的流程示意图;

图2是根据一示例性实施例示出的一种效果示意图;

图3是根据一示例性实施例示出的一种效果示意图;

图4是根据一示例性实施例示出的一种效果示意图;

图5是根据一示例性实施例示出的一种分配计算资源的装置的结构示意图;

图6是根据一示例性实施例示出的一种服务器的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开一示例性实施例提供了一种分配计算资源的方法,如图1所示,该方法的处理流程可以包括如下的步骤:

步骤s101,获取目标投标账户对应的目标任务。

在实施中,可以定义一个资源池,资源池每个时隙t的能源总量为εt。在跨度为{1,…,t}的时段内i个投标账户随机到达,每个投标账户可以提交一个投标信息(bid),(bid):{ti,di,bi,ωi}。其中ti是投标者到达时间,di,bi分别表示完成任务的最后时间点和投标值,ωi表示目标投标账户i的任务的工作量(workload)。目标投标账户可以输入目标任务,目标任务的工作量可以用ωi表示。

每一个投标账户都有一个真实的心理估价vi,即为完成任务的真实收益,假设当每一个投标账户的投标值bi等于vi时,对投标账户最为有利,每一个投标账户的最优决策就是按照真实的心理估价来出价,进而拍卖机制是真实的。

步骤s102,确定目标任务的最优执行调度信息。

其中,最优执行调度信息包括执行目标任务的开始时刻和结束时刻。

在实施中,对到来的投标账户进行处理,得到每个投标账户的最优执行调度信息si,所需最小资源消耗值ci,效用值ui以及所分配的每个时隙占用的能量集合

可选地,步骤s102可以包括:确定执行目标任务的多个可用时隙;确定各可用时隙分别对应的资源消耗值;确定目标任务的最低执行能耗和执行时长;基于各可用时隙分别对应的资源消耗值、最低执行能耗和执行时长,确定目标任务的最优执行调度信息。

在实施中,可以穷举目标投标账户i可用的开始时隙ts以及结束时隙te,并计算在每个可用时隙分别对应的资源消耗值p(t),t∈[ts,te]。可以按照资源消耗值由小到大的顺序对可用时隙进行排序。

可选地,确定各可用时隙分别对应的资源消耗值的步骤可以包括:确定已用能耗;基于已用能耗,确定各可用时隙分别对应的资源消耗值。

在实施中,资源消耗值可以通过公式1进行计算:

其中,κr(t)为当前的资源消耗值,μ与ι分别代表最大和最小单位能量消耗值,这两个是预估参数。w(t)代表在时隙t时的已用能耗。当能量未被使用时,资源消耗值初始为当所有能量均被占用时,该时隙的资源消耗值为μ,这时这一时隙不再被分配。这一价格公式的设计是为将来具有更高价值的标预存资源,使得总社会福利达到最大值。

可选地,确定目标任务的最低执行能耗和执行时长的步骤可以包括:逐个获取预设电压集合中的电压值和预设频率集合中的频率值,每当获取一个电压值和一个频率值时,基于当前获取的电压值和频率值,确定目标任务的执行能耗;在各执行能耗中确定最低执行能耗;确定最低执行能耗对应的执行时长。

在实施中,可以穷举目标投标账户i的任务的所有可能消耗的能量确定出目标投标账户成本最低的最低执行能耗和执行时长

给出目标投标账户i的性能模型τi,也就是目标任务的执行时长,是一个函数,表示对gpu频率敏感的执行时长,也就是依赖gpu参数的执行时长,当gpu的工作参数(电压和频率)发生改变时,执行时长也会发生改变,tstatic是不敏感的,也就是不受gpu工作参数改变的影响,是固定数值:

其中,κi、λi为固定参数,vi,fim是函数变量,表示需要调节的gpu的电压和频率,如果目标投标账户i中标,则执行目标任务的执行时长可由上述公式计算。

目标投标账户i的功率消耗模型,表示如果执行目标投标账户i给出的目标任务,在单位时间内消耗的能耗pi,a、γ与β都是和硬件相关的固定参数:

pi=a+γfim+βvi2g(vi)(公式3)

执行目标投标账户i给出的目标任务需要消耗的执行能耗为执行时长与单位时间内消耗的能耗的乘积τipi。

可以通过上述公式计算出目标任务的多种执行能耗,在各种可能的执行能耗中,可以选取最低执行能耗和执行时长

步骤s103,基于最优执行调度信息,确定执行目标任务的效用值。

在实施中,在确定出资源能耗值p(t)、最低执行能耗和对应的执行时长之后,可以确定最优执行调度信息schedulesi。接着,可以对能量占用量进行更新。还可以确定执行目标任务的资源能耗成本ci,ci会随着执行能耗呈线性增长。在拍卖机制真实的前提条件下,目标投标账户对应的社会福利为目标投标账户的bi减去ci,效用值即为目标投标账户对应的社会福利,可以用ui=bi-ci进行表示。

步骤s104,如果效用值大于预设阈值,则基于最优调度信息,为目标投标账户分配图形处理器gpu中的计算资源。

在实施中,预设阈值可以是0,当效用值大于0时,按照最优执行调度信息si为该目标投标账户分配gpu资源,并转移资源消耗值ci。同时更新时隙t∈si的未使用能量w(t)以及p(t)

可选地,本公开实施例提供的方法还可以包括:如果效用值大于预设阈值,则禁止为目标投标账户分配图形处理器gpu中的计算资源。

在实施中,如果目标投标账户的效用值ui<0,该目标投标账户被拒绝。

在上述过程中,假设costi(简写为ci)表示为完成目标投标账户i的目标任务所消耗的能耗成本,ci会随着任务消耗总功率线性增长,xi可以表示投标账户i是否中标,1表示中标,0表示未中标,当效用值大于0时表示中标,否则为不中标。ci和xi最终取值可以由算法计算得出。在拍卖机制真实的前提条件下,社会福利为所有中标账户的任务的真实收益之和,减去执行任务的总能耗。将社会福利最大化的云容器拍卖写成整数线性规划如下。

maximize∑i(bi-costi)xi(公式4)

限制条件:

v≥vi≥v-,

其中,∑i(bi-costi)xi是目标函数,其余不等式为目标函数中变量需要满足的线性限制条件,解这个线性规划即得出满足所有不等式且使得目标函数最大化的变量值。v表示默认的gpu电压频率参数值,v-为gpu电压频率可调节范围的最低值,vi、fic、fim指如果接收目标投标账户i的任务,则执行任务中gpu电压频率的值,最终可以由提供的算法计算得出。

由于限制条件的复杂度较大,可以运用compactinfiniteilp对上述线性规划进行简化,用si来表示每个投标账户符合约束条件的调度(schedule)集合,用ωi表执行投标账户i的任务的所有可能的能耗集合。

限制条件:

xis∈{0,1},

由于线性规划复杂性较大,无法直接解上述线性规划,可以利用原始对偶算法写出对偶线性规划,根据解对偶线性规划来得到原始线性规划的解。对偶线性规划的目标函数值没有具体物理意义,可用于计算算法竞争比。得到两个对偶变量ui(效用值)与p(t)(时隙t的资源能耗值)。ui具体可解释为目标投标账户i的任务完成的真实收益减去为了完成该任务最终需要支付给资源提供商的值。如果目标投标账户未中标则效用值为0。

限制条件:

p(t),ui≥0,

利用互补松弛性条件,最小化对偶变量的增量,并且保证对偶条件的可行性,一旦目标投标账户i的schedules使得对偶约束变紧,即就更新原始变量但是每个投标账户的效用值都不能为负值,即ui>0,所以有

为了使用户的效用值最大化,可以使完成任务的成本最小,即最小,如下所示:

限制条件:di≥ti+τi

v≥vi≥v-,

将原始变量xi,(是否将投标账户i的任务分配给时隙t),w(t)(时隙t中已被分配的能量)以及对偶变量ui初始化为0,将p(w0)初始值设为其中η是一个大于1的数,参数σ定义为在时间范围t内能量的最小占用率,ι表示最小单位能耗值,μ表示最大单位能耗值。

可选地,在上述参数中,系数η满足η>1。

下面具体举例进行说明:

在本实施例中,使能源容量为ε=15。时隙跨度t=600~1600个时隙,为了更好的模拟投标者到来的不确定性,使用泊松分布来描述到来的投标账户数,泊松系数设定为3或8。每个投标账户workload需求量均为{0~1}的随机数。

步骤1:假设每一个投标者都会给出一个真实的估价vi,这个估价不受其他投标者的影响,这时的拍卖机制是真实的。

步骤2:在拍卖机制真实的前提条件下,将社会福利最大化的云容器拍卖写成整数线性规划。

由于条件的复杂度较大,运用compactinfiniteilp对上述线性规划进行简化,用si来表示每个投标账户符合约束条件的调度集合。

步骤3:利用原始对偶算法写出对偶线性规划,得到两个对偶变量ui(投标者的效用)与p(t)(时隙t的能源价格)。

步骤4:将原始变量xi,(是否将投标账户i的任务分配给时隙t),w(t)(时隙t中已被分配的能量)以及对偶变量ui初始化为0,将p(w0)初始值设为其中η是一个大于1的数,参数σ定义为在时间范围t内能量的最小占用率,ι表示最小单位能耗消耗值,μ表示最大单位能耗消耗值。

步骤5:对到来的投标者i进行处理,得到每个人的最优调度si,所需最小费用ci,效用ui以及所分配的每个时隙占用的能量集合

步骤6:如果投标账户的效用值ui>0,按照调度si为该投标账户分配资源,并收取费用ci。同时将时隙t∈si的剩余能量w(t)以及价格p(t)进行更新,价格的更新公式为:

其中,μ与ι分别代表最大和最小单位能量价格,这两个是预估参数,w(t)代表在时隙t时的已使用能源量。当能量未被使用时,能量价格初始为当所有能量均被占用时,该时隙的能量价格为μ,这时这一时隙不再被分配。这一价格公式的设计是为将来具有更高价值的标预存资源,使得总社会福利达到最大值。

步骤7:如果投标账户的效用ui<0,该投标者被拒绝。

在步骤5中,对每个投标者进行处理的过程如下(主要运用动态规划的思想):

步骤5.1:穷举投标者i可用的开始时隙ts以及结束时隙te,并计算在每个可用时隙的资源价格p(t),t∈[ts,te],将可用时隙(即满足资源需求量)按照价格递增排序。

步骤5.2:根据步骤7,穷举用户i的任务的所有可能消耗的能量找出用户成本最低的能耗和处理时隙数

步骤5.3:得到该投标者的schedulesi,更新该用户的能量占用量以及需付费用ci,效用ui=bi-ci。

因此,本公开具有如下优点:通过设计合理的价格机制和dvfs拍卖系统,解决了拍卖中的社会福利最大化问题,并得到接近于2.68的近似比。

通过本公开实施例提供的方法,可以得到如图2所示的效果示意图、如图3所示的效果示意图和如图4所示的效果示意图。

本公开研究了基于云容器服务的批处理拍卖系统,通过设计拍卖竞争的机制,每隔一定的时隙间隔对投标者进行一轮拍卖,得到很好的近似解。该方法考虑了未来可能的投标账户对社会福利的影响,控制资源的合理分配,从而有效的解决了np-hard问题。

通过本公开实施例提供的方法,可以有效降低使用gpu过程中的能耗。

本公开又一示例性实施例提供了一种分配计算资源的装置,如图5所示,该装置包括:

获取模块501,用于获取目标投标账户对应的目标任务;

确定模块502,用于确定所述目标任务的最优执行调度信息,其中,所述最优执行调度信息包括执行所述目标任务的开始时刻和结束时刻;

所述确定模块502,用于基于所述最优执行调度信息,确定执行所述目标任务的效用值;

分配模块503,用于如果所述效用值大于预设阈值,则基于所述最优调度信息,为所述目标投标账户分配图形处理器gpu中的计算资源。

可选地,所述确定模块502,用于:

确定执行所述目标任务的多个可用时隙;

确定各可用时隙分别对应的资源消耗值;

确定所述目标任务的最低执行能耗和执行时长;

基于所述各可用时隙分别对应的资源消耗值、所述最低执行能耗和执行时长,确定所述目标任务的最优执行调度信息。

可选地,所述确定模块502,用于:

确定已用能耗;

基于所述已用能耗,确定各可用时隙分别对应的资源消耗值。

可选地,所述确定模块502,用于:

逐个获取预设电压集合中的电压值和预设频率集合中的频率值,每当获取一个电压值和一个频率值时,基于当前获取的电压值和频率值,确定所述目标任务的执行能耗;

在各执行能耗中确定最低执行能耗;

确定所述最低执行能耗对应的执行时长。

可选地,所述分配模块503,还用于:

如果所述效用值大于预设阈值,则禁止为所述目标投标账户分配图形处理器gpu中的计算资源。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开研究了基于云容器服务的批处理拍卖系统,通过设计拍卖竞争的机制,每隔一定的时隙间隔对投标者进行一轮拍卖,得到很好的近似解。该方法考虑了未来可能的投标账户对社会福利的影响,控制资源的合理分配,从而有效的解决了np-hard问题。通过本公开实施例提供的装置,可以有效降低使用gpu过程中的能耗。

需要说明的是:上述实施例提供的分配计算资源的装置在分配计算资源时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的分配计算资源的装置与分配计算资源的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图6示出了本公开一个示例性实施例提供的服务器1900的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1910和一个或一个以上的存储器1920。其中,所述存储器1920中存储有至少一条指令,所述至少一条指令由所述处理器1910加载并执行以实现上述实施例所述的分配计算资源的方法。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1