一种基于稳定匹配的容器化云资源分配方法与流程

文档序号:14175090阅读:263来源:国知局
一种基于稳定匹配的容器化云资源分配方法与流程

本发明涉及一种基于稳定匹配的容器化云资源分配方法,具体涉及一种在容器虚拟化技术下的基于系统整体能耗优化的资源分配方法,属于云计算的虚拟资源分配技术领域。



背景技术:

近年来容器虚拟化技术逐渐受到了广泛应用,和传统的虚拟机技术(virtualmachine)类似,容器化技术提供了一种隔离的虚拟环境,同时由于它们低开销和轻量级提高了资源利用率的效率。此外,由于容器共享主机操作系统内核,其配置问题从根本上主要是一种软件的管理问题。容器技术被认为是云计算发展的下一个重要方向,而目前已有的大部分研究主要是针对虚拟机的虚拟化云计算技术,对容器虚拟资源的分配算法以及其性能的研究仍然是一个开放的课题,尤其是基于容器化云计算系统整体能耗优化的资源分配与调度方法研究还处于探讨阶段。

随着虚拟技术的发展,操作系统级虚拟化的容器成为云计算中的虚拟资源部署的主流,容器即服务也越来越普及而成为云计算环境中的主要部署模型,但针对容器的资源分配技术尚未得到充分的研究,容器化云环境中容器数量众多,如何将众多的容器快速高效的部署到合适的虚拟机上而达到一种降低数据中心能耗的目的已经成为一个亟待解决的问题。



技术实现要素:

本发明所要解决的技术问题是:提供一种基于稳定匹配的容器化云资源分配方法,将任务级容器快速高效的部署到合适的系统级虚拟机上,实现降低数据中心能耗的目的。

本发明为解决上述技术问题采用以下技术方案:

一种基于稳定匹配的容器化云资源分配方法,包括任务分配器端和可分配容器服务的虚拟机端两部分;

其中,任务分配器端包括以下步骤:

步骤1-1,初始化任务分配器,获取所有虚拟机的剩余可分配资源;

步骤1-2,将到达任务分配器的待分配容器服务存储在其缓存中,并根据待分配容器服务到达的先后顺序建立一个待部署容器队列l=[l(i),i=1,2,…,m],l(i)表示第i个待分配容器服务,m为待分配容器服务的个数;

步骤1-3,若待部署容器队列非空,则对该队列中的每个待分配容器服务l(i),计算其与所有可接受该容器服务的虚拟机的匹配度值,并将匹配度值由大到小进行排序,根据排序结果建立一个可分配虚拟机队列pi;令i=1;

步骤1-4,读取待部署容器队列中第i个待分配容器服务所对应的可分配虚拟机队列pi,从与第i个待分配容器服务的匹配度值最高的虚拟机开始,向从没有拒绝接受它的虚拟机发送容器部署请求,若被拒绝接受,则继续向队列pi中的下一个虚拟机发送容器部署请求直至有虚拟机回复接受或者暂缓接受该部署请求;

步骤1-5,将i=i+1并检查是否遍历队列l,若未遍历则返回步骤1-4,否则进入步骤1-6;

步骤1-6,任务分配器发送结束部署消息给所有可分配容器服务的虚拟机示意结束资源匹配过程,如果收到所有虚拟机的消息确认结束或者等待超时,则进入步骤1-7;

步骤1-7,任务分配器端接收到匹配好的容器服务id与虚拟机映射,并返回步骤1-1;

可分配容器服务的虚拟机端包括以下步骤:

步骤2-1,初始化所有虚拟机的最佳匹配度值mp=0,并将记录的容器服务id集合置空;

步骤2-2,等待任务分配器发送消息,若接收到任务分配器的消息则判断:如果为结束部署消息或者虚拟机等待超时,则进入步骤2-5;如果消息为容器部署请求则进入步骤2-3;

步骤2-3,虚拟机接收到容器部署请求时,计算向该虚拟机发送容器部署请求的容器服务的功耗匹配度值mb,若功耗匹配度值小于或等于最佳匹配度值,则返回步骤2-2,若功耗匹配度值大于最佳匹配度值,则将该虚拟机的最佳匹配度值更新为mb,并记录对应的容器服务的id;

步骤2-4,将被记录id的容器服务标记为暂缓接受容器服务,同时将id及其标记发送给任务分配器,然后返回步骤2-2;

步骤2-5,将当前标记为暂缓接受的容器服务的状态改为接受,并将容器服务id与虚拟机映射关系发送给任务分配器,发送确认结束部署消息给任务分配器,并开始执行本轮容器服务的部署,部署结束后返回步骤2-1。

作为本发明的一种优选方案,步骤1-3所述匹配度值的计算方法为tanimoto系数计算方法。

作为本发明的一种优选方案,所述tanimoto系数计算方法的计算公式为:

其中,t(x,y)表示待分配容器服务x与可接受该容器服务的虚拟机y的匹配度值,x和y均为四维向量,k=1,2,3,4,分别代表容器服务所需要的和虚拟机可提供的以下四个利用率:处理器利用率、内存利用率、网络带宽利用率、存储空间利用率。

作为本发明的一种优选方案,步骤2-3所述功耗匹配度值mb计算公式为:

其中,mipsl(i)表示第i个待分配容器服务预期的处理器利用率,单位为百万指令每秒;totalmips表示该虚拟机的处理速度,单位为百万指令每秒。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1、本发明针对容器部署的过程中,对系统的功耗进行优化分配,通过采用一种基于四类虚拟资源的匹配度的计算方法作为容器选择虚拟机的偏好规则,而虚拟机对容器的偏好规则,则根据虚拟机的资源是否能够支持该容器的部署采用了一种基于处理器利用率的贪婪算法的偏好规则,即按照处理器利用率占实际可提供处理器资源的大小从高到低排序,从而提高任务的执行效率而最小化系统能耗。

2、本发明方法在保证任务在规定时间完成的情况下优化匹配待分配容器服务和虚拟机,使得容器服务任务的部署达到一种最佳匹配的效果,进而为云计算架构创造更高的效益。

附图说明

图1是本发明一种基于稳定匹配的容器化云资源分配方法的系统架构示意图。

图2是在任务分配器端的阶段a1流程图。

图3是在任务分配器端的阶段a2流程图。

图4是在任务分配器端的阶段a3流程图。

图5是在可分配容器服务的虚拟机端的阶段b1流程图。

图6是在可分配容器服务的虚拟机端的阶段b2流程图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

如图1所示,是本发明一种基于稳定匹配的容器化云资源分配方法的系统架构示意图。本发明云计算系统的分配目标是将容器服务部署到系统中的虚拟机中,其在任务分配器端的算法主要分为三个阶段:

在任务分配器端的阶段a1流程图,如图2所示:

步骤a1-1、初始化任务分配器,获取所有虚拟机的剩余可分配资源,假设可分配的容器个数为m。

步骤a1-2、将到达任务分配器的批量的容器任务存储在其缓存中,并根据任务到达的顺序将缓存中待分配的容器服务建立一个待部署容器队列l,该队列的大小为可分配的容器的个数m。

步骤a1-3、若待部署容器队列l非空,则开始读取队列中的第i个单元l(i),根据如下定义的匹配相似度算法计算该容器与云计算系统中所有可接受该容器的虚拟机的匹配度值。本发明中的匹配度值主要采用tanimoto系数其计算公式如下:

在本发明中x代表容器服务待分配的任务,y代表可分配的虚拟机,我们定义x和y都是一个四维向量,其分别代表容器服务所需要的和虚拟机可提供的以下四个方面:处理器利用率、内存利用率、网络带宽利用率、存储空间利用率这四个变量来计算匹配度,然后根据该匹配度值排序并建立一个关于可分配虚拟机队列pi,重复步骤a1-3直至遍历队列l中所有单元,然后进入阶段a2。

在任务分配器端的阶段a2流程图,如图3所示:

步骤a2-1、将i设置为1,读取单元选择l(i)中的可分配虚拟机队列pi中匹配度值最高且从没有拒绝过它的第j个虚拟机pi,j发送容器部署请求,并将该虚拟机移出队列pi。

步骤a2-2、若请求被该虚拟机拒绝接受(reject)则向可分配虚拟机队列pi中匹配度值其次的虚拟机发送容器部署请求,若请求被该虚拟机暂缓接受(waitinglist),则将i加1并检查是否遍历队列l,若未遍历队列l则返回步骤a2-1,若完成遍历队列l则进入阶段a3。

在任务分配器端的阶段a3流程图,如图4所示:

步骤a3-1、任务分配器发送结束部署消息给所有可分配容器的虚拟机端示意结束资源分配,如果收到所有虚拟机的消息确认结束或者任务分配器的等待超时,则执行步骤a3-2。

步骤a3-2、将匹配好的容器与虚拟机映射发送给任务分配器开始执行容器部署,执行结束以后返回阶段a1。

在可分配容器服务的虚拟机端同步执行的算法步骤主要分为以下两阶段:

在可分配容器服务的虚拟机端的阶段b1流程图,如图5所示:

步骤b1-1、初始化最佳功耗匹配度mp为0,可分配的容器id为空。

步骤b1-2、等待任务分配器的分配请求,如果任务分配器发起的请求为结束部署消息或虚拟机端等待超时则进入阶段b2,否则如果任务分配器的请求为分配请求,则进入步骤b1-3。

步骤b1-3、将向该虚拟机提出分配请求的容器计算其功耗匹配度值mb其计算公式如下,如果匹配度mb小于等于最佳匹配度mp,则不作改变并返回步骤b1-2;如果匹配度mb大于最佳匹配度mp,进入步骤b1-4。

这里mipsl(i)指的是第i个容器任务预期的处理器利用率其单位是百万指令每秒,而totalmips代表的是该虚拟机的处理速度单位是百万指令每秒。

步骤b1-4、将最佳匹配度更新为mb,并将对应的容器的id记录下来.

步骤b1-5、将该容器标记为虚拟机的暂缓分配容器任务,并返回步骤b1-1。

在可分配容器服务的虚拟机端的阶段b2的流程图,如图6所示:

步骤b2-1、将当前所有标记为暂定分配的容器的状态改为接受分配(accept),并将最终的容器和虚拟机的分配映射发给任务分配器。

步骤b2-2、发送确认结束部署消息给任务分配器。

步骤b2-3、开始执行本轮容器服务的任务部署。

步骤b2-4、回到阶段b1。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

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