一种高效的云市场弹性期限计算资源拍卖机制的制作方法

文档序号:12672269阅读:194来源:国知局
一种高效的云市场弹性期限计算资源拍卖机制的制作方法与工艺

本发明属于云计算领域,尤其涉及一种高效的云市场弹性期限计算资源拍卖机制。



背景技术:

云计算的出现为用户提供了快速的资源按需分配,例如CPU、RAM及磁盘存储器的资源分配。在过去的数十年里,两种云平台在互联网上蓬勃发展,第一种是大规模互联网数据中心,如AmazonEC2、微软Azure和Linode这些可以管理共享资源池的云平台;第二种是托管数据中心,通常位于大城市,物理位置相同的不同用户使用的相对较小的云资源,托管数据中心共同管理这些云资源且为用户提供服务。

虚拟技术把云产商的资源收集到一起,打包成各种不同类型的虚拟机,再分配给云用户。比如,AmazonEC2目前提供7类共23种不同类型的虚拟机,每种虚拟机都有自己的优势且针对不同的作业。通常,大型的计算作业需要多个虚拟机实例合作进行。比如,社交游戏和企业应用通常由前段web服务器层、负载均衡层及后端数据存储层组成,每层适用于在特定类型的资源,如带宽、CPU或者存储充足的虚拟机上执行作业。

云计算作业可根据计算需求是否有弹性分为两类。非弹性云作业,如大规模web服务将云服务作为公共设施,要求租用的虚拟机一直运行且适应可能的作业大小变化。这些云作业与电网中需要不间断电能供应的用户类似。弹性云作业,如大数据分析和谷歌数据爬取处理通常是批处理,它们需要特定的计算作业能在虚拟机不是一直开启的情况下完成,并且可以容忍作业完成过程中特定级别的延迟。这些用户与电网中需要定量能源来处理提供的作业但时间窗灵活的能源用户相似。

现有的云计算市场机制,特别是拍卖机制中已有针对非弹性云作业的机制。在只有一轮的云资源拍卖或在线云资源拍卖中,一旦某个投标中标,相对应的虚拟机的服务时间窗口就确定了,即服务时间要么是本轮,要么是投标中要求的时间段。这种拍卖算法不需要考虑接受的作业的完成顺序。与之形成鲜明对比的是,一个设计优良的弹性云作业市场机制不仅需要考虑是否接受投标,也要注意在投标中的时限信息的基础上考虑何时执行投标中的作业。例如,假设有一个云用户(投标者)为人类染色体组分析作业竞拍虚拟机资源,这个作业在有特定虚拟机的情况下可以在3小时内完成,但只要在接下来的24小时内拍卖商能分配计算资源完成这一作业用户就能满意,这24小时就是我们所说的弹性期限(soft deadline)。弹性期限在时间上给作业调度留下了充足的空间,一个好的拍卖算法如果能充分利用这一点,就可以达到资源利用和社会效益(拍卖商的效益与中标的投标者的效益之和)最大化。比如,可以在弹性期限内选择需求低的时段执行该用户的作业。

但由于即使每个投标者都是诚实的(即用自己对计算资源的真实估价进行投标),计算社会效益(social welfare)最大的方案也是一个属于NP-hard的整数线性规划问题(integer linear program,ILP),而传统线性规划又无法模拟及解决弹性期限问题。再加上还需要拍卖是在线的,即可以即时处理所有的投标,又增加了问题的难度。所以目前,还没有针对弹性期限的云计算资源在线拍卖机制既在计算上高效,又能达到较高社会效益且保证拍卖的诚实性。



技术实现要素:

为了解决上述技术问题,本发明提供了一种高效的云市场弹性期限计算资源拍卖机制。先通过使用posted pricing拍卖框架保证诚实性,再通过紧凑指数型整数线性规划和dual oracles处理弹性期限约束问题。最后,通过使用基于线性规划对偶的经典原始对偶算法,达到最优社会效益。

本发明所采用的技术方案是:

一种高效的云市场弹性期限计算资源拍卖机制,其特征在于,包括:

云数据中心:云数据中心的资源池中有K种资源,资源能够动态地分配到不同类型的虚拟机中;

虚拟机:设置在资源池中,第k种类型的虚拟机一共有ck个单位;[X]代表整数集{1,2,...,X};

云服务供应商:作为拍卖商,以拍卖的方式向用户出租虚拟机;用户的投标在大的时间跨度{1,2,...,T}上随机地出现;

其中,多个投标会同时到来或者以随机的次序到来;令有I个用户参与拍卖,每个用户需要多个类型的虚拟机,且会提交多个投标,将投标总数记为J;

具体拍卖步骤如下:

步骤1:定义对每个用户i的所有bij≠vij,都有uij(vij)≥uij(bij),即用户都会用自己的真实估价进行投标,也就是bij=vij,这时拍卖机制是诚实的,利用紧凑指数型整数线性规划将社会效益最大化写成如下整数线性规划形式:

限制条件:

其中,ζi.代表能在期限内完成作业的时间安排;

步骤2:引入对偶变量pk(t)和用户i的效用ui,其中,时间t时每单位k类型资源的临界定价,用原始对偶算法写出对偶线性规划:

限制条件:

令当ui>0时,拍卖商接受用户i的投标,并用达到最大值时的时间来调度任务的执行;当ui=0时,拍卖商拒绝用户i的投标;

步骤3:初始化原始变量和对偶变量;xij=0,yi(t)=0,ui=0,pk(t)=0,zk(t)=0;l∈ζi,xil=0;

步骤4:在每个用户i的投标到来时,通过dual oracle选择可以使用户i效用最大化的投标j*及对应的执行调度即对用户i的调度的每个期限dij,选择t∈[ti,dij]中价格最低时隙数wi,记录所对应的作业执行安排lj

步骤5:如果用户i效用ui=0,拒绝该用户的投标;如果用户i效用ui>0,则更新原始变量yi(t)=1,并更新zk(t)(t时间内被分配出去的k类资源的数目),和价格pk(t);由于这里决定价格pk(t)的定价机制属于posted pricing机制,也就是说价格与用户i的投标价格无关,所以本发明的拍卖机制是诚实的;此时,若所有用户均已投标,则结束算法;反之则回到步骤5。

在上述的一种高效的云市场弹性期限计算资源拍卖机制,用户i的投标包含:

约束条件一:需要的第k种类型的虚拟机的总量

约束条件二:完成该计算作业需要的槽(slot)的数量wi

约束条件三:完成作业的期限dij

约束条件四:每个期限对应的竞价bij;此外,作业的完成过程不需要是连续的,用户i的作业可以在任何时间槽中执行,只要在期限内该作业的执行时间之和达到wi;表示用户i在ti时间提交的投标。

在上述的一种高效的云市场弹性期限计算资源拍卖机制,定义整个拍卖过程中每个用户最多中一次标;每个投标出现时,拍卖商会立即决定是否接受这一投标,如果接受,则还要决定选择哪个期限及如何安排投标中的作业的执行时间;二元参数xij=1代表用户i的第j个投标中标;否则,xij=0;另一个二元参数yi(t)=1表示用户i的作业在时间t被执行;否则yi(t)=0;拍卖商向用户i收取的费用为pi;vij是用户i对第j个投标的真实估价,这个投标的效用uij(bij)=vij-pi(如果xij=1);如果xij=0,uij(bij)=0;如果对所有bij≠vij,都有uij(vij)≥uij(bij),则这一拍卖机制是诚实的(truthful);社会效益是用户效用∑i∈[I]j∈[J]vijxij-∑i∈[I]pi与拍卖商效用∑i∈[I]pi之和,也就是∑i∈[I]j∈[J]vijxij

因此,本发明具有如下优点:本发明通过posted pricing拍卖框架保证在线投标的诚实性,还通过紧凑指数型整数线性规划和dual oracles处理弹性期限带来的限制,并通过基于线性规划对偶的经典原始对偶算法提出了高效的社会收益近似算法。

附图说明

图1是本发明实施例的流程图。

图2是本发明实施例与离线拍卖算法获得社会效益的对比图。

图3是本发明实施例在不同用户数目和投标数目时获得的社会收益图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

首先介绍一下本发明的具体方法:考虑一个拥有资源池的云数据中心,资源池中有K种资源,包括CPU、RAM和磁盘存储,这些资源可以动态地分配到不同类型的虚拟机中。在这个资源池中,第k种类型的虚拟机一共有ck个单位。[X]代表整数集{1,2,...,X}。云服务供应商作为拍卖商,以拍卖的方式向用户出租虚拟机。用户的投标在大的时间跨度{1,2,...,T}上随机地出现。需要注意的是,多个投标可能会同时到来,也可能会以随机的次序到来。令有I个用户参与拍卖,每个用户需要多个类型的虚拟机,且会提交多个投标,将投标总数记为J。用户i的投标包含:(1)需要的第k种类型的虚拟机的总量(2)完成该计算作业需要的时隙数(slot)的数量wi;(3)完成作业的期限dij,(4)每个期限对应的竞价bij。此外,作业的完成过程不需要是连续的,用户i的作业可以在任何槽中执行,只要在期限内该作业的执行时间之和达到wi。表示用户i在ti时间提交的投标。

假设整个拍卖过程中每个用户最多中一次标。每个投标出现时,拍卖商会立即决定是否接受这一投标,如果接受,则还要决定选择哪个期限及如何安排投标中的作业的执行时间。二元参数xij=1表示用户i的第j个投标中标;否则,xij=0。另一个二元参数yi(t)=1表示用户i的作业在时间t被执行;否则yi(t)=0。拍卖商向用户i收取的费用为pi。vij是用户i对第j个投标的真实估价,这个投标的效用uij(bij)=vij-pi(如果xij=1);如果xij=0,uij(bij)=0。如果对所有bij≠vij,都有uij(vij)≥uij(bij),则这一拍卖机制是诚实的(truthful)。社会效益是用户效用∑i∈[I]j∈[J]vijxij-∑i∈[I]pi与拍卖商效用∑i∈[I]pi之和,也就是∑i∈[I]j∈[J]vijxij,具体包括:

步骤1:假设对每个用户i的所有bij≠vij,都有uij(vij)≥uij(bij),即用户都会用自己的真实估价进行投标,也就是bij=vij,这时拍卖机制是诚实的。基于此假设,可以将社会效益最大化写成如下整数线性规划形式:

限制条件:

步骤2:利用紧凑指数型整数线性规划(compact-exponential ILP)简化步骤1中的线性规划:

限制条件:

其中,ζi.代表能在期限内完成作业的时间安排。

步骤3:引入对偶变量pk(t)(时间t时每单位k类型资源的临界定价)和用户i的效用ui,用原始对偶算法写出对偶线性规划:

限制条件:

令在之后的步骤中,当ui>0时,拍卖商接受用户i的投标,并用达到最大值时的时间来安排作业的执行;当ui=0时,拍卖商拒绝用户i的投标。

步骤4:初始化原始变量和对偶变量。xij=0,yi(t)=0,zk(t)=0,ui=0,pk(t)=0;l∈ζi,xil=0。

步骤5:在用户i的投标到来时,通过dual oracle选择可以使用户i效用最大化的投标j*及对应的执行安排即对用户i的作业的每个期限dij,选择t∈[ti,dij]中价格最低时隙数wi,记录所对应的作业执行安排lj

步骤6:如果用户i效用ui=0,拒绝该用户的投标。如果用户i效用ui>0,则更新原始变量yi(t)=1,并更新zk(t)(t时间内被分配出去的k类资源的数目),和价格pk(t)。由于这里决定价格pk(t)的定价机制属于posted pricing机制,也就是说价格与用户i的投标价格无关,所以本发明的拍卖机制是诚实的。此时,若所有用户均已投标,则结束算法;反之则回到步骤5。

在本实施例中,我们设置用户人数分别为40、50、60、70、80、90、100,每个用户的投标数J为2、4、6。

步骤1:先假设每个用户i都会用自己的真实估价进行投标,也就是bij=vij。由于拍卖机制是诚实的,因此可以将社会效益最大化写成如下整数线性规划形式:

限制条件:

步骤2:利用紧凑指数型整数线性规划(compact-exponential ILP)简化步骤1中的线性规划:

限制条件:

其中,ζi.代表能在期限内完成作业的时间安排。

步骤3:引入对偶变量pk(t)(时间t时每单位k类型资源的临界定价)和用户i的效用ui,用原始对偶算法写出对偶线性规划:

限制条件:

步骤4:初始化原始变量和对偶变量。xij=0,yi(t)=0,zk(t)=0,ui=0,pk(t)=0;l∈ζi,xil=0。

步骤5:在用户i的投标到来时,通过dual oracle选择可以使用户i效用最大化的投标j*及对应的执行安排

步骤6:如果用户i效用ui=0,拒绝该用户的投标。如果用户i效用ui>0,则更新原始变量yi(t)=1,并更新zk(t)(t时间内被分配出去的k类资源的数目),和价格pk(t)。此时,若所有用户均已投标,则结束算法;反之则回到步骤5。

本发明研究了云市场弹性期限计算资源拍卖问题,通过研究使用posted pricing拍卖框架、紧凑指数型整数线性规划和dual oracles,保证了拍卖的诚实性、高社会效益,且该拍卖算法能在多项式时间内完成,比一般算法更高效。

应当理解的是,本说明书未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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