一种云计算系统中任务调度与资源配置的通用方法

文档序号:10654288阅读:543来源:国知局
一种云计算系统中任务调度与资源配置的通用方法
【专利摘要】本发明公开了一种云计算系统中任务调度与资源配置的通用方法,其特征在于,包括:从任务调度与资源配置通用框架中获取已到达的任务信息,并根据所述任务信息确定应该选中的至少一个调度目标;获取虚拟化云的物理主机信息,根据物理主机信息、任务信息与调度目标调用特定算法,创建虚拟机,并将任务分配到虚拟机上执行;持续监视所有被分配任务的状态信息,并根据被分配任务的状态信息对虚拟机进行资源动态配置;完成全部任务并返回任务结果。本发明使得调度管理目标可以为完成虚拟化云中任何类型的任务而被动态地组合,提高了任务调度与资源配置方法的适用性。
【专利说明】
-种云计算系统中任务调度与资源配置的通用方法
技术领域
[0001] 本发明设及虚拟化云领域,特别地,设及一种云计算系统中任务调度与资源配置 的通用方法。
【背景技术】
[0002] 云计算是一种动态提供计算资源的新型计算模式。它通常依托于采用虚拟化技术 的数据中屯、,W实现资源的动态整合与环境隔离。云计算中的虚拟化技术,将一台物理主机 动态地划分为多个可独立提供计算服务的虚拟机,W提高资源的利用率和成本效益。
[0003] 云是一个巨大的资源库,其中的资源可W被动态分享,因此可有效提高资源利用 率,从而提高云供应商的利润。但是,只追求高资源利用率将不可避免地影响云计算系统的 服务质量,比如用户请求的响应时间。因此,云供应商希望使用尽可能少的资源来满足尽可 能多的用户请求,并同时保证服务质量。否则,将使得资源得不到有效利用,导致利润降低, 或者因为服务质量差而损失大量用户。因此,如何提高资源利用率并保证服务质量,任务调 度和资源配置是关键所在。
[0004] 目前,越来越多应用已被部署在云中,设及学术界和工业界等许多不同领域。值得 该注意的是,不同的应用可能具有不同的任务类型。例如,一个分析生物基因组定位的应用 包括多个从基因序列推断的结果,它们可W被W逻辑的形式表示为多个任务,我们称运种 任务为相关任务。然而,像网页请求运样的任务是典型的独立任务。另外,像天气预报和医 学仿真运样的应用通常具有时间截止期,如果不能满足时限要求,其结果可能变得不可用, 运类任务称之为实时任务。而对数据爬取运类应用,对完成时间不敏感,所W其任务为非实 时任务。
[0005] 从调度管理目标的角度来讲,用户和云往往有多个不同的目标。除了管理服务等 级协议(Service Level Agreement,SLA)运一目标外,云提供商尤其会关注与数据中屯、基 础设施管理有关的目标。例如,W容错作为目标,任务在被分配时考虑在系统发生故障时对 系统性能的影响最小;或是W节能作为目标,资源在执行某一应用时应尽量少地消耗系统 能量。另外,一些任务调度和资源配置同时考虑多个目标,例如同时考虑最小化调度完成时 间、最小化能量消耗、满足计算资源限制等等。
[0006] 然而,大多数现行调度策略或算法只针对某一类特定情形,例如针对某一目标,调 度依赖任务或独立任务,在云环境中缺乏通用性和普适性。针对现有技术中调度策略和资 源配置方法通用性差的问题,目前尚无有效的解决方案。

【发明内容】

[0007] 有鉴于此,本发明的目的在于提出一种云计算系统中任务调度与资源配置的通用 方法,可W调度虚拟化云中任何类型的任务或多种任务的动态组合,提高了任务调度与资 源配置方法的通用性。
[000引基于上述目的,本发明提供的技术方案如下:
[0009] 根据本发明的一个方面,提供了一种云计算系统中任务调度与资源配置的通用方 法,包括:
[0010] 从任务调度与资源配置通用框架中获取已到达的任务信息,并根据所述任务信息 确定应该选中的至少一个调度目标;
[0011] 获取虚拟化云的物理主机信息,根据物理主机信息、任务信息与调度目标调用特 定算法,创建虚拟机,并将任务分配到虚拟机上执行;
[0012] 持续监视所有被分配任务的状态信息,并根据被分配任务的状态信息对虚拟机进 行资源动态配置;
[0013] 完成全部任务并返回任务结果。
[0014] 其中,已到达的任务信息包括:已到达的任务是独立任务还是依赖任务、已到达的 任务是实时任务还是非实时任务、已到达的任务是周期性任务还是非周期性任务、已到达 的任务是优先任务还是非优先任务。
[0015] 独立任务指没有数据和控制依赖;依赖任务指在任务之间存在控制依赖关系或存 在偏序关系的任务;实时任务指有截止期限的任务;非实时任务指无截止期限的任务;周期 性任务指两个相邻任务之间的间隔时间是一个常数的任务;非周期性任务指不能预先获知 到达时间的任务;优先任务指享有优先处理权的任务;非优先任务指不享有优先处理权的 任务。
[0016] 调度目标至少包括W下之一:服务等级协议、节能、可靠性、不确定性;根据任务信 息确定应该被选中用来调度新到达任务的至少一个调度目标,即根据任务信息在服务等级 协议、节能、可靠性、不确定性中确定一个或多个作为调度目标。
[0017] 服务等级协议为云供应商和用户之间的服务合同,服务至少包括W下之一:响应 时间、处理精度、成本;不确定性主要针对对系统调度精度有高要求的应用。
[0018] 根据被分配任务的状态信息对虚拟机进行资源动态配置,当任务不能通过使用当 前活跃主机在期望时间内被完成时,将创建新虚拟机来完成该任务,其中,创建虚拟机可W 通过启动一台主机并在上面创建一个虚拟机或是合并现有虚拟机并增加一个虚拟机来完 成。
[0019] 同时,在系统处于轻负荷状态时可W合并资源,关掉一些主机或是将它们设置成 休眠模式。
[0020] 从上面所述可W看出,本发明提供的技术方案是通过选中特定调度目标并根据调 度目标调用特定算法创建虚拟机进行任务调度与资源配置的技术手段,使得调度管理可W 为完成虚拟化云中任何类型的任务而进行动态地组合,提高了任务调度与资源配置方法的 通用性。
【附图说明】
[0021] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获 得其他的附图。
[0022] 图1为根据本发明实施例的一种云计算系统中任务调度与资源配置的通用方法流 程图;
[0023] 图2为根据本发明实施例的一种云计算系统中任务调度与资源配置的通用方法中 任务调度和资源配置的调度架构图。
【具体实施方式】
[0024] 为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中 的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的 实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域 普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0025] 根据本发明的实施例,提供了一种云计算系统中任务调度与资源配置的通用方 法。
[0026] 如图1所示,根据本发明实施例的提供的一种云计算系统中任务调度与资源配置 的通用方法包括:
[0027] 步骤SlOl,从任务调度与资源配置通用框架中获取已到达的任务信息,并根据所 述任务信息确定应该选中的至少一个调度目标;
[00%]步骤S103,获取虚拟化云的物理主机信息,根据物理主机信息、任务信息与调度目 标调用特定算法,创建虚拟机,并将任务分配到虚拟机上执行;
[0029] 步骤S105,持续监视所有被分配任务的状态信息,并根据被分配任务的状态信息 对虚拟机进行资源动态配置;
[0030] 步骤S107,完成全部任务并返回任务结果。
[0031] 其中,已到达的任务信息包括:已到达的任务是独立任务还是依赖任务、已到达的 任务是实时任务还是非实时任务、已到达的任务是周期性任务还是非周期性任务、已到达 的任务是优先任务还是非优先任务。
[0032] 独立任务指没有数据和控制依赖;依赖任务指在任务之间存在控制依赖关系或存 在偏序关系的任务;实时任务指有截止期限的任务;非实时任务指无截止期限的任务;周期 性任务指两个相邻任务之间的间隔时间是一个常数的任务;非周期性任务指不能预先获知 到达时间的任务;优先任务指享有优先处理权的任务;非优先任务指不享有优先处理权的 任务。
[0033] 调度目标至少包括W下之一:服务等级协议、节能、可靠性、不确定性;根据任务信 息确定应该被选中用来调度新到达任务的至少一个调度目标,即根据任务信息在服务等级 协议、节能、可靠性、不确定性中确定一个或多个作为调度目标。
[0034] 服务等级协议为云供应商和用户之间的服务合同,服务至少包括W下之一:响应 时间、处理精度、成本;不确定性主要针对对系统调度精有高度要求的应用。
[0035] 根据被分配任务的状态信息对虚拟机进行资源动态配置,当任务不能通过使用当 前活跃主机在期望时间内被完成时,将创建新虚拟机来完成该任务,其中,创建虚拟机可W 通过启动一台主机并在上面创建一个虚拟机或是合并现有虚拟机并增加一个虚拟机来完 成。
[0036] 同时,系统处于轻负荷状态时合并资源,关掉一些主机或是将它们设置成休眠模 式。
[0037]下面根据具体实施例进一步阐述本发明的技术特征。
[003引云计算资源管理的S个重要方面为调度管理目标(Scheduling Management Objective,SMO)、任务类型和资源特点。
[0039] 在云计算系统中,调度管理即将任务分配给一组合适的计算资源来运行运些任 务。调度管理目标(简称:调度目标)包括W下几项:
[0040] 服务等级协议:服务等级协议(Service Level Agreement,SLA)是云供应商(数据 中屯、)和用户之间的服务合同。具体而言,服务包括响应时间、处理精度、成本等。因此,调度 目标之一是保证SLA,并在SLA的限制内提高资源利用率。
[0041] 节能:云数据中屯、能量消耗巨大。高能耗不仅导致高昂的费用,同时影响环境和系 统可靠性。最小化能量消耗已成数据中屯、建设的重要内容。任务调度和资源配置可W通过 优化选择资源和调度任务降低系统能量消耗。
[0042] 可靠性:可靠性是保证在云中为用户提供高质量服务的基础。据统计,一个由一万 台高可靠性服务器构成的系统每天至少有一个服务器会出现故障。因此,在云中提供容错 能力已成为提高系统可靠性的关键问题,特别是对于具有高可靠性要求的那些应用而言。
[0043] 不确定性:不确定性控制是云中的一个重要问题。研究如何测量和控制不确定性 能够有效地提高调度精度。例如,虚拟机的性能会在运行期间动态变化。如果不确定性没有 得到有效处理,调度决策可能无用,甚至产生对任务运行的负面影响。因此,如果应用程序 对调度准确性高度敏感,就需要将不确定性集成在任务调度与资源配置中。
[0044] 在云计算环境中存在多种不同类型的任务。尤其是对于公有云而言,许多任务被 同时处理。一般说来,任务可W被分为W下四个类别。
[0045] 独立任务和依赖任务:独立任务指没有数据和控制依赖的任务。相反,对于依赖任 务而言,在任务之间存在控制依赖或存在偏序关系,任务必须按某种确定顺序执行。通常情 况下,依赖任务可W通过有向无环图(Directed A巧clic Graph,DAG)进行建模。
[0046] 实时任务和非实时任务:实时任务是指有截止期限的任务,也就是说运些任务必 须在给定的时间约束之内被完成。相反,非实时任务并没有截止期限,但是仍然追求快速反 应时间。
[0047] 周期性任务和非周期性任务:对于周期性任务而言,两个相邻任务之间的间隔时 间是一个常数(也就是周期)。所W,一旦知道第一个任务的到达时间,接下来任务的到达时 间可W通过计算获得。但是,对于非周期性任务,系统不能事先知道任务的到达时间。
[0048] 优先任务和非优先任务:优先任务意味着运些任务享有优先权。优先权可由W下 对象赋予:1)提交任务的用户;2)来自于用户与资源供应者的协商;3)基于一些任务特征的 计算,比如任务截止期的紧张度或用户的付费额度。对非优先级任务而言,它们没有特定优 先权。
[0049] 对于一个任务,它可W从属于上述的四种类型的部分或全部组合。例如,一个任务 可W是实时的、独立的、有优先权的非周期任务。
[0050] 云有两个在任务调度和资源配置时必须考虑的重要特征。
[0化1] 虚拟化:虚拟化在云环境中被普遍使用,比如亚马逊的弹性计算云化Iastic Compute Cloud,EC2),它提供灵活可扩展的系统服务。通过使用虚拟化技术,单独一台物理 主机可W同时运行多个虚拟机(Virtual Machine,VM),运为可扩展性、成本效益和高资源 利用率提供了一个有效的解决途径。因此,与物理主机相比,虚拟机成为基础计算实体更具 优势。从任务调度的角度来看,任务被分给了虚拟机,而不是直接分给物理主机。
[0052] 动态资源配置:云资源配置不同于其它计算环境的明显特征是它"即付即用"的运 作方式,运意味着云提供的资源是根据用户需求灵活变化的。特别是,云可W为了满足资源 请求的增多而扩大规模,也可W在需求减少时为提高系统资源利用率而缩小规模。
[0053] 在调度框架中,调度管理目标、任务类型和资源特征的不同组合将使用算法库中 的特定算法。可W设计不同的任务调度和资源配置算法并将其添加到算法库中,W处理具 有不同目标的多种任务。
[0054] 为了支持所有种类的任务调度和资源配置,我们设计了一个可W处理不同调度管 理目标和任务类型的通用调度架构。
[0055] 图2示出的是任务调度和资源配置的调度架构,如图2所示,包括任务分析器、SMO 分析器、目标库、任务调度器、资源监视器、资源分配器、算法库和资源库。当一个新的任务 到达时,任务调度和资源配置按W下步骤进行:
[0056] 第一步,任务分析器得到任务属性,比如任务到达时间、预计执行时间、截止时间 和任务类型等。然后它把运些信息发送给SMO分析器与任务调度器。
[0057] 第二步,SMO分析器决定调度目标。510从;个方面决定调度目标,即任务性质、资 源状态和系统提供者。例如,如果一些任务具有较高可靠性需求(如病人监控),可靠性就应 该被加入到所选的目标中;否则对于一些网页请求任务,由于需要额外开销,可靠性可能并 未被纳入调度目标进行考虑。另外一个例子是,像地震数据处理运样的紧急任务,节约能量 不是最为关屯、的目标,而快速反应变得最重要,所W节能可能并不包含在SMO目标之中。
[0058] 第S步,基于来自于SMO分析器的分析,产生调度目标,然后运些目标将被送往任 务调度器。
[0059] 第四步,任务调度器根据任务性质、被选中的目标和当前资源信息从算法库调用 特定算法,然后把任务分配到虚拟机上执行。与此同时,资源监视器持续收集被分配任务的 状态信息,并把信息汇报给任务调度器。如果一些任务并不能像期望的那样被完成,将使用 修正机制进行处理。
[0060] 第五步,资源分配器在两种情况下工作:1)当任务不能通过使用当前活跃主机在 期望时间内被完成时,资源分配器将创建一个虚拟机来完成运个任务。创建虚拟机可W通 过启动一台主机并在上面建立一个虚拟机或是合并虚拟机并增加一个虚拟机来完成;2)如 果系统处于轻负荷状态,资源分配器将合并资源,然后关掉一些主机或是把它们设置成休 眠模式。
[0061] 尽管我们提出的通用调度架构可被用于处理具有不同调度目标和不同类型的任 务,但仍然可W共用一些通用模型,W使它们在任何情况下可被重新使用。比如,虚拟化云 计算资源可W像下面运样被建模表示成一个通用形式:
[0062] 我们考虑一个虚拟化云,它包含一个实体计算主机集合H=化1,h2,…}。活动主机 集合由有n个元素的Ha表示,巧C W。对任意一个主机hk,它的处理能力Pk由它的CPU性能 MIPS描述。对于每个主机hkGH,它包含一个虚拟机集^
,每个虚拟机 Vjk E Vk满足
DVjk的准备时间由rjk表示。
[0063] 另外,无论任务是什么类型,一些任务属性都可W被建模表示成通用形式。比如, 不管任务类型是什么,每个任务都有一个到达时间。因此,我们得到如下主要通用任务模 型。
[0064] 我们考虑一个任务集合T= {ti,t2,…}。对任意一个任务ti,它可W表示成ti= {曰1, 31,(11,口1},其中曰1、31、(11和口1分别为到达时间、任务大小、截止时间和任务*1的优先权。如果 ti是个非实时性任务,di被设定为+C-,当对ti没有优先权时,Pi被设定为0。令Si化为任务ti在 虚拟机V化上的开始时间。类似地,fijk表示任务ti在V化上的结束时间。令eijk为任务ti在虚拟 机V化上的执行时间。此外,Xi化被用来表示虚拟化云中虚拟机上的任务映射,若任务ti被分 配到主机hk上的虚拟机V化上,则町k=l,否则为Xijk = O。另外,ZUk用来表示任务ti是否被成 功元成,右ti成功元成,则Zijk = 1 ,否则Zijk = 0。
[0065] 综上所述,借助于本发明的上述技术方案,通过选中特定调度目标并根据调度目 标调用特定算法创建虚拟机进行任务调度与资源配置的技术手段,使得调度管理目标可W 为完成虚拟化云中任何类型的任务而被动态地组合,提高了任务调度与资源配置方法的适 用性。
[0066] 所属领域的普通技术人员应当理解:W上所述仅为本发明的具体实施例而已,并 不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均 应包含在本发明的保护范围之内。
【主权项】
1. 一种云计算系统中任务调度与资源配置的通用方法,其特征在于,包括: 从任务调度与资源配置通用框架中获取已到达的任务信息,并根据所述任务信息确定 应该选中的至少一个调度目标; 获取虚拟化云的物理主机信息,根据所述物理主机信息、所述任务信息与所述调度目 标调用特定算法,创建虚拟机,并将任务分配到所述虚拟机上执行; 持续监视所有被分配任务的状态信息,并根据所述被分配任务的状态信息对所述虚拟 机进行资源动态配置; 完成全部任务并返回任务结果。2. 根据权利要求1所述的一种云计算系统中任务调度与资源配置的通用方法,其特征 在于,所述已到达的任务信息包括:已到达的任务是独立任务还是依赖任务、已到达的任务 是实时任务还是非实时任务、已到达的任务是周期性任务还是非周期性任务、已到达的任 务是优先任务还是非优先任务。3. 根据权利要求2所述的一种云计算系统中任务调度与资源配置的通用方法,其特征 在于,所述独立任务指没有数据和控制依赖的任务;所述依赖任务指在任务之间存在控制 依赖关系或存在偏序关系的任务;所述实时任务指有截止期限的任务;所述非实时任务指 无截止期限的任务;所述周期性任务指两个相邻任务之间的间隔时间是一个常数的任务; 所述非周期性任务指不能预先获知到达时间的任务;所述优先任务指享有优先处理权的任 务;所述非优先任务指不享有优先处理权的任务。4. 根据权利要求1所述的一种云计算系统中任务调度与资源配置的通用方法,其特征 在于,所述调度目标包括以下至少之一:服务等级协议、节能、可靠性、不确定性;根据所述 任务信息确定应该被选中用来调度新到达任务的至少一个调度目标,即根据所述任务信息 在服务等级协议、节能、可靠性、不确定性中确定一个或多个作为调度目标。5. 根据权利要求4所述的一种云计算系统中任务调度与资源配置的通用方法,其特征 在于,所述服务等级协议指云供应商和用户之间的服务合同,其中,所述服务包括以下至少 之一:响应时间、处理精度、成本;所述不确定性主要针对对系统调度精度有高要求的应用。6. 根据权利要求1所述的一种云计算系统中任务调度与资源配置的通用方法,其特征 在于,根据所述被分配任务的状态信息对所述虚拟机进行资源动态配置,为当任务不能通 过使用当前活跃主机在期望时间内被完成时,将创建新虚拟机来完成该任务,其中,创建虚 拟机可以通过启动一台主机并在上面创建一个虚拟机或是合并现有虚拟机并增加一个虚 拟机来完成。7. 根据权利要求6所述的一种云计算系统中任务调度与资源配置的通用方法,其特征 在于,系统处于轻负荷状态时合并资源,关掉一些主机或是将它们设置成休眠模式。
【文档编号】G06F9/455GK106020927SQ201610293128
【公开日】2016年10月12日
【申请日】2016年5月5日
【发明人】朱晓敏, 包卫东, 周文, 刘桂鹏, 纪浩然, 肖文华, 陈黄科, 王吉, 陈超, 邵屹杨
【申请人】中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1