面向关联任务请求的虚拟资源调度系统及调度和分配方法

文档序号:8208961阅读:611来源:国知局
面向关联任务请求的虚拟资源调度系统及调度和分配方法
【技术领域】
[0001] 本发明属计算机科学领域,涉及一种云计算环境下虚拟资源调度系统,具体是一 种面向关联任务请求的虚拟资源调度系统及调度和分配方法。
【背景技术】
[0002] 云计算它采用创新的计算模式使用户通过互联网随时获得近乎无限的计算能力 和丰富多样的信息服务,它创新的商业模式使用户对计算和服务可以取用自由、按量付费。 目前的云计算融合了以虚拟化、服务管理自动化和标准化为代表的大量革新技术。云计算 借助虚拟化技术的伸缩性和灵活性,提高了资源利用率,简化了资源和服务的管理和维护; 利用信息服务自动化技术,将资源封装为服务交付给用户,减少了数据中心的运营成本;利 用标准化,方便了服务的开发和交付,缩短了客户服务的上线时间。而云计算的虚拟机资源 调度器或是正调度算法是云计算平台的重要模块,是高效的解决资源融合,共享的重要组 成。
[0003]目前主要有以下几种算法解决IaaS云计算平台的虚拟机资源调度策略的方法: [0004] 1.从平台的负载角度出发,当个任务或是应用发出虚拟机资源的请求时,平台检 查所有物理机上的剩余资源,将满足物理机请求的资源的物理机过滤出来,尽量使得各个 物理机上的负载均衡。
[0005] 2.从平台的资源的利用的效率出发,当任务或是应用发出虚拟机资源请求时,检 查所有物理家上的剩余资源,采用最少的物理机来满足任务或是应用对资源的请求,使得 任务平台整体的能够有较少的使用物理资源,减少不必要的资源浪费。
[0006] 3.基于公平性的调度算法,以DRF算法为例的公平调度算法,主要考虑各个资源 分配直接的均衡和合理,可以使得任务之间对资源的请求和分配达到经济学上的帕累托最 优。
[0007] 上述种方法在解决云计算中虚拟机资源调度问题的方法有各自的局限性:
[0008] 1.负载均衡算法为了保证各个物理机上的虚拟机负载尽可能一致,会导致虚拟机 的分配方案相对比较松散,导致有大量交互或是大量网络通讯的任务或应用会或得比较糟 糕的网络状况,导致服务质量的下降或是任务执行的时延增加。
[0009] 2.平台利用率的算法,尽量采用少量的物理机满足应用的虚拟机资源请求会或得 比较好的资源利用情况,但是这种算法是一个典型的NP问题,求解这个问题往往会造成更 高的调度代价,因此在实际的云计算平台中很少采用。
[0010] 3.DRF算法本身在资源的利用情况会造成比较多的碎片情况,导致可分配,可调度 的次数有所不足,另外由于忽略了本身物理机的位置的关系,会造成了物理机资源和任务 的实际运行的网络情况不匹配的。
[0011] 综上,上述三种算法均在任务的通信请求和任务执行存在关联关系的问题上的考 虑均有所不足,并且各自对资源的请求分配的情况均存在自己本身不足的因素。所以对大 量通信的任务请求的调度结果往往不能取得较好的性能优势。

【发明内容】

[0012] 本发明目的在于解决上述问题,提供一种云计算平台下的面向关联任务请求的虚 拟资源调度系统及调度和分配方法,该方法通过虚拟机的合理分配,满足存在关联关系的 任务的性能需求和云计算平台负载均衡的特性。
[0013] 为了实现上述目的,本发明所采用的技术方案包括以下步骤:
[0014] -种面向关联任务请求的虚拟资源调度系统,包括资源管理控制器、资源请求解 析器以及资源调度迭代器;
[0015] 资源管理控制器用于接收资源监控系统所获取的物理宿主机的资源情况;
[0016] 资源请求解析器用于前端预处理流程和资源请求封装进行封装;
[0017] 资源调度迭代器用于进行调度的迭代控制过程,产生资源调度结果。
[0018] 所述资源管理控制器具体用于:
[0019] 1)与资源监控接口对接,实时获取云计算集群资源状态情况;
[0020] 2)结合资源调度迭代控制器,从监控数据中抽取平台中各个物理机的资源情况, 资源情况包括cpu、内存、带宽以及硬盘的相应状态;
[0021]3)根据云计算集群中每个物理机的资源情况,在调度迭代器控制器请求时, 实时的计算出集群中的资源总量和剩余资源总量,同时计算当前状态下各个物理机的 dominant_share 和 dominant_desire;
[0022] 4)在并发环境下,保证数据的一致性,保证集群状态信息的一致性;在资源调度 迭代器高并发作业的情况下,提供对资源的一致性、原子性和事务性。
[0023] 所述资源请求解析器具体的负责以下内容:
[0024] 1)接收框架发来的任务调度请求用户的请求json文件,提取调度迭代器关心的 cpu,内存等资源请求,同时进一步封装用户的资源请求;
[0025] 2)解析框架任务关联请求,运行强联通分量,拓扑排序等图论算法,产生带有特殊 标记的任务序列;
[0026]3)提供合并操作的封装操作,在利用并查集的操作上,提供后续的资源调度迭代 器进行操作用以进行合并操作,进一步资源调度迭代器能够查询合并历史产生资源调度结 果。
[0027] 所述资源调度迭代器包括资源调度迭代控制器、资源调度迭代合并器、资源调度 迭代排序器以及资源调度迭代评估器;
[0028] 资源调度迭代控制器用于进行调度的迭代控制,控制资源调度调度迭代合并器和 资源调度排序器协同工作,判断迭代终止条件;并且在迭代的迭代计算过程中,对资源请求 进行分配,进行实际的分配的资源的计算;
[0029] 资源调度迭代合并器负责按照CBDRF算法的设计进行合并请求的操作,按照 CBDRF设计的算法,采用并查集的方法,根据资源请求解析器发送的带有标记的任务序列进 行合并操作;
[0030] 资源调度迭代排序器用于在进行资源分配的过程中辅助资源调度迭代控制器进 行资源分配;
[0031] 资源调度迭代评估器用于评估调度结果,记录当前的评估结果;同时与先前已经 计算的迭代产生的调度中间结果进行比较,如果当前的评估值优于先前的调度结果则记录 调度结果为当前结果,否则,舍弃当前的结果,通知资源调度迭代控制器进行下一轮迭代 器。
[0032] 一种面向关联任务请求的虚拟资源调度和分配方法,包括以下步骤:
[0033] A1资源管理控制器获取云计算平台的资源状态,进行相应的预处理操作;
[0034] A2资源请求解析器接按照图论的相关模型解析任务状态,生成相应的任务序列;
[0035] A3资源调度迭代器进行基于max_min操作的分配过程,生成迭代调度结果;
[0036] A4资源调度迭代评估器评估结果,保存计算的最优值;
[0037] A5按照图论的模型进行关联任务的合并操作,合并相应的任务请求;
[0038] A6资源调度迭代控制器判断能否进行分配,如果能转步骤3),否则输出结果。
[0039] 所述步骤A1至A4中,资源调度迭代控制器具体的调度分配策略按照如下步骤进 行:
[0040] B1资源解析器解析用户请求,为每个请求初始化request实例,每个实例为五元 组其中:
[0041] 五元组包含 cpu,mem,related_request,merge_history,scheduled_host ;cpu 表示任务请求的虚拟机的cpu核数;mem表示任务请求的虚拟机内存大小,以GB为单位; related_request表示关联任务请求集合;merge_history表示合并历史,调度迭代器结合 scheduled_host从合并历史中解析最终的调度结果;scheduled_host表示请求的调度结 果,通过merge_history解析最终请求的调度结果;
[0042] 上述cpu,mem,related_request的初始值从用户的请求中获取,merge_history 和scheduled_host初始集均为空集;
[0043] B2将互相有交流的任务抽象成点,将他们之间网络通信关系抽象成边,通过 related_request将请求解析抽象成一个关系图;由资源解析器运行图论算法计算任务关 系图的强联通分量,标记在request实例中;
[0044] B3reqUeSt实例向资源调度迭代器发送解析数据,同时资源调度迭代器向资源管 理控制器发送请求,以获取云计算平台的的实时资源状态;
[0045] B4资源管理控制器为每个物理机创建host实例,每个实例为四元组,其中:
[0046] 四元组包含 cpu_total, cpu_used, mem_total, mem_used ;cpu 表不分别单个物理 机表示cpu核数;cpu_used表示单个物理机已经使用的cpu核数;mem_total表示单个物理 机内存总数,以GB为单位;mem_ Uesd表示单个物理已经使用内存总数,以GB为单位;
[0047] 上述数值均通过云计算平台的监控接口获取这些数值;
[0048] B5将用户的请求作为要分配的资源池,当多个资源请求到来的时候将这些资源请 求抽象为分配给物理机的总资源,同时将物理机的容量作为实际的请求向量计算每个物理 机host的dominant_share,资源向量中最大资源占有率称为物理机的dominant_share;剩 余资源向量中的最大值成为该物理机的dominant_desire;其计算公式如下所示:
[0049] 云计算资源总数向量:
[0050]
[0051] 单个物理机i资源总量:
[0052] HTi= <ht i;1,…hh,)
[0053] 单个物理机i已分配资源总量:
[0054] 叫=<hu ",…hUi')
[0055] 单个物理机i的dominant_share计算方法:
【主权项】
1. 一种面向关联任务请求的虚拟资源调度系统,其特征在于:包括资源管理控制器、 资源请求解析器以及资源调度迭代器; 资源管理控制器用于接收资源监控系统所获取的物理宿主机的资源情况; 资源请求解析器用于前端预处理流程和资源请求封装进行封装; 资源调度迭代器用于进行调度的迭代控制过程,产生资源调度结果。
2. 根据权利要求1所述的面向关联任务请求的虚拟资源调度系统,其特征在于:所述 资源管理控制器具体用于: 1) 与资源监控接口对接,实时获取云计算集群资源状态情况; 2) 结合资源调度迭代控制器,从监控数据中抽取平台中各个物理机的资源情况,资源 情况包括cpu、内存、带宽以及硬盘的相应状态; 3) 根据云计算集群中每个物理机的资源情况,在调度迭代器控制器请求时,实时的 计算出集群中的资源总量和剩余资源总量,同时计算当前状态下各个物理机的do
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1