一种云计算任务调度方法及模拟系统与流程

文档序号:15492114发布日期:2018-09-21 20:49阅读:187来源:国知局

本发明属于云计算领域,更具体地,涉及一种云计算任务调度方法及模拟系统。



背景技术:

云计算作为一种新的计算模式和商业模式,正受到学术界和产业界的广泛重视。云计算技术是分布式计算、并行计算和网格计算的进一步发展,利用虚拟化技术把计算资源、存储资源和带宽资源虚拟化为动态可伸缩的虚拟化资源池,以互联网为载体,以服务的形式按需提供给不同的用户使用。云计算环境下的数据中心可以有效地降低运行、维护和管理的难度,同时也提高了数据的安全性和可靠性。通过采用按需付费的机制,用户没有必要在网络高峰购买额外的硬件资源,这样不仅节省了购买硬件的费用,同时也省去了维护和管理带来的问题。

任务调度是云计算技术中非常关键并且复杂的问题,该问题解决的好坏不仅影响到用户的满意度,也极大地影响了系统的整体性能。因此,在云环境下如何对任务进行合理高效的调度,提高用户的满意度,成为云计算研究的重点和难点。一般情况下,任务调度是一个np完全问题。然而,构建真实的云计算实验环境是个大型的系统工程,因此,为了测试任务调度算法的性能以及其可行性,模拟仿真系统的搭建被认为是行之有效的方法。因此,有必要开发一种效果良好的云计算任务调度方法及模拟系统。



技术实现要素:

为了实现上述目的,本发明提出了一种云计算任务调度方法,包括:

1)基于任务列表和资源列表分别形成任务qos矩阵和资源qos矩阵,并且合并成为联合qos矩阵;

2)在对步骤1)中形成的联合qos矩阵进行标准化处理之后,分离为标准化任务qos矩阵和标准化资源qos矩阵;

3)依次为排序后的任务计算其在各资源上的qos满意度,寻找使其满意度最大的资源;

4)若步骤3)中得到的满意度最大资源数大于1,则计算任务与各资源间的qos距离,与任务之间距离最小的资源即为任务的调度目标;

5)若仍有任务尚未调度,则返回步骤3),否则云计算任务调度完成。

本发明还提出了一种云计算任务调度模拟系统,其用于模拟任务调度过程,包括:

任务配置模块,用于设置及显示任务编号、长度及qos需求;

资源配置模块,包括qos配置子模块、虚拟机资源子模块和虚拟机类型与配置子模块,其中,所述qos配置子模块用于设置并显示qos维度;所述虚拟机资源子模块用于设置并显示虚拟机编号、宿主物理机编号以及虚拟机类型,所述虚拟机类型与配置子模块用于设置并显示虚拟机的基本信息以及在各个维度上的qos能力;

调度平台模块,用于利用如权利要求1-7中的一项所述的云计算任务调度方法,基于从任务配置模块和资源配置模块中得到的任务列表和资源列表,进行任务调度。

本发明提出的云计算任务调度方法,能够在云环境下对任务进行合理高效的调度,提高用户的满意度;通过本发明的模拟系统对云计算任务调度算法进行仿真和任务的模拟调度,能够对所设计的调度算法的性能进行分析与改进。通过该模拟系统,用户可以根据自己的需求,扩展云任务调度算法,并通过结果数据的观测和收集,衡量算法的性能,并提出进一步的改进思路。

本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本发明的一个实施例的云计算任务调度方法的流程图;

图2示出云任务、物理主机与虚拟机资源间的对应关系图;

图3a示出任务配置图,图3b示出资源配置图;

图4示出根据本发明的一个实施例的云计算调度模拟系统的运行流程图;

图5示出根据本发明的一个实施例的云计算调度模拟系统的主界面;

图6示出根据本发明的一个实施例的云计算调度模拟系统的任务配置界面;

图7示出根据本发明的一个实施例的云计算调度模拟系统的资源配置界面;

图8示出根据本发明的一个实施例的云计算调度模拟系统在进行任务调度时的效果图。

具体实施方式

下面将更详细地描述本发明的优选实施方式。虽然以下描述了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。

图1示出了根据本发明的一个实施例的云计算任务调度方法的流程图。该方法包括:

步骤1:基于任务列表和资源列表分别形成任务qos矩阵和资源qos矩阵,并且合并成为联合qos矩阵。

云计算环境中的任务以元任务为主,为独立型无互连关系的批量任务,以计算密集型为主要任务类型。云任务调度至资源上时不存在跨资源的执行,即任务一旦调度至某一资源上,直到任务执行完成为止。

云任务集合可表示为t={t1,t2,…,tn},n为所调度的任务总数量。对于任意一个云任务,均包括以下几种属性:

任务编号id:对于任务集合中给定的任务编号;

任务大小size:表示任务的长度,以百万指令数mi表示;

任务qos需求rqos:表示任务的qos需求,可为多维度的qos需求;

任务状态sta:表示任务在调度模拟系统中的状态,分为就绪状态、执行状态和完成状态。

云计算系统中的资源以物理主机资源为主,物理主机可以通过虚拟机技术实例化多台虚拟机执行任务,物理主机资源集合可表示为h={h1,h2,…,hm},m表示物理主机总数量。对于任意一台物理主机,均包括以下属性:

主机编号id:对于物理主机集合中给定的主机资源编号;

主机状态sta:表示物理主机在调度模拟系统中的状态,分为执行状态和空闲状态。执行状态表明主机已经进行虚拟机实例,正执行云任务;空闲状态表明主机未进行实例化,处于完全未激活状态。

通过主机的虚拟化技术,可以使得云任务执行于虚拟机上。虚拟机即为系统中实际执行任务的资源,将虚拟机集合表示为v={v1,v2,…,vk},k表示虚拟机总数量。对于任意虚拟机,均包括以下属性:

虚拟机编号id:对于虚拟机集合中给定的虚拟机资源编号;

虚拟机计算能力cap:表示虚拟机的处理能力,以每秒可运算的百万指令数mips表示;

虚拟机qos能力vqos:表示虚拟机资源的qos服务能力,可为多维度的qos能力(对应于任务的qos需求);

虚拟机状态sta:表示虚拟机在调度模拟系统中的状态,分为执行状态和空闲状态。执行状态表示虚拟机正在进行任务调度处理,空闲状态表示虚拟机虽已实例化,但未执行具体任务。

在执行云计算任务调度时,云任务、物理主机与虚拟机资源间的对应关系如图2所示。任务调度的目标即是需要满足需求的任务与虚拟机间的映射关系,实现服务质量qos要求的最大化。

任务列表包括任务基本信息(任务编号、任务长度)、任务的qos需求以及状态信息(状态、虚拟机编号和执行顺序)。

进行任务调度时需要考虑qos约束,本发明中考虑了四个维度上的qos约束:安全性、成功率、费用以及稳定性,取值范围设置为1~100之间。

在qos度量方面,安全性、成功率和稳定性三种qos为积极性qos,费用为消极性qos。四种qos的具体定义方式如下:

1)安全qos:

其中,n表示安全参数数目,ti表示第i个安全参数的权重,si=1表示第i个安全参数得到满足,否则为0。

2)稳定qos:

其中,runtime表示资源正常运行时间,failuretime表示资源失效时间。

3)成功率qos:

其中,nsuccess表示资源上成功执行的任务数,ntotal表示分配到资源上总的任务数。

4)费用qos:

qos费用=v×t

其中,v表示资源利用单价,t表示任务在资源上运行的时间。

基于任务列表形成任务qos矩阵,具体为提取各个任务在各维度上的qos需求,形成任务的qos矩阵。也即所述任务qos矩阵由各个任务在各维度上的qos需求形成。

基于资源列表形成资源qos矩阵,具体为提取各个资源在各维度上的qos能力,形成资源的qos矩阵。也即所述资源qos矩阵由各个资源在各维度上的qos能力形成。

将所述任务qos矩阵和所述资源qos矩阵合并成为联合qos矩阵。

步骤2:在对步骤1)中形成的联合qos矩阵进行标准化处理之后,分离为标准化任务qos矩阵和标准化资源qos矩阵。

在一个示例中,通过以下方式对所述联合qos矩阵进行标准化处理:

将所述联合qos矩阵中的每一个qos值减去同列中的最小qos值后,除以该列中最大qos值与最小qos值之差。

在进行标准化处理的联合qos矩阵分离为标准化任务qos矩阵和标准化资源qos矩阵。

步骤3:依次为排序后的任务计算其在各资源上的qos满意度,寻找使其满意度最大的资源。

具体地,qos满意度为任务实际在资源上得到的qos值与初始的任务qos需求的比值。

步骤4:步骤3中得到的满意度最大资源数大于1,则计算任务与各资源间的qos距离,与任务之间距离最小的资源即为任务的调度目标。

对于一个任务,如果在步骤3中所得到的满意度最大的资源不止1个,则通过qos距离最小来进一步确定资源。

在一个示例中,可以通过计算各维度qos的权重,加权计算任务与各资源间的qos距离。具体地,可以通过将任务与资源间的qos差值平方求和再开方的方式得到各维参数的权值。由于不同维度的qos在距离计算时有所不同,权值是离方差进行计算。

步骤5:若仍有任务尚未调度,则返回步骤3,否则云计算任务调度完成。

应用示例1

基于图3a中的任务配置和图3b资源配置进行云计算任务调度,具体过程如下:

创建任务qos矩阵:

创建资源qos矩阵:

合并生成联合qos矩阵:

标准化的联合qos矩阵:

资源标准化矩阵:

任务标准化矩阵:

求资源矩阵某个值同本列其它值的差的绝对值的和:

计算各维参数的权值:

权值w0=0.015

权值w1=0.003

权值w2=0.974

权值w3=0.008

根据qos综合需求从大到小对任务进行排序:

依次为排序后的任务计算其在各资源上的qos满意度,寻找使其满意度最大的资源:

任务[10]同综合满意度最高组中的虚拟机之间的距离如下

任务[10]同综合满意度最高组中的虚拟机[4]之间的距离是:0.169

任务[10]同综合满意度最高组中的虚拟机[3]之间的距离是:0.169

符合任务[10]最高满意度(0.204)的资源有:4;3;

任务[7]同综合满意度最高组中的虚拟机之间的距离如下

任务[7]同综合满意度最高组中的虚拟机[4]之间的距离是:0.15

符合任务[7]最高满意度(0.249)的资源有:4;

任务[3]同综合满意度最高组中的虚拟机之间的距离如下

任务[3]同综合满意度最高组中的虚拟机[3]之间的距离是:0.099

符合任务[3]最高满意度(0.283)的资源有:3;

任务[8]同综合满意度最高组中的虚拟机之间的距离如下

任务[8]同综合满意度最高组中的虚拟机[4]之间的距离是:0.067

任务[8]同综合满意度最高组中的虚拟机[3]之间的距离是:0.067

符合任务[8]最高满意度(0.277)的资源有:4;3;

任务[9]同综合满意度最高组中的虚拟机之间的距离如下

任务[9]同综合满意度最高组中的虚拟机[3]之间的距离是:0.584

符合任务[9]最高满意度(0.274)的资源有:3;

任务[5]同综合满意度最高组中的虚拟机之间的距离如下

任务[5]同综合满意度最高组中的虚拟机[2]之间的距离是:0.428

符合任务[5]最高满意度(0.272)的资源有:2;

任务[2]同综合满意度最高组中的虚拟机之间的距离如下

任务[2]同综合满意度最高组中的虚拟机[2]之间的距离是:0.571

符合任务[2]最高满意度(0.266)的资源有:2;

任务[1]同综合满意度最高组中的虚拟机之间的距离如下

任务[1]同综合满意度最高组中的虚拟机[2]之间的距离是:0.568

符合任务[1]最高满意度(0.277)的资源有:2;

任务[6]同综合满意度最高组中的虚拟机之间的距离如下

任务[6]同综合满意度最高组中的虚拟机[2]之间的距离是:0.565

符合任务[6]最高满意度(0.353)的资源有:2;

任务[4]同综合满意度最高组中的虚拟机之间的距离如下

任务[4]同综合满意度最高组中的虚拟机[2]之间的距离是:0.711

符合任务[4]最高满意度(0.318)的资源有:2;

最终的任务调度结果如下:

资源调度:将虚拟机资源[4]分配给任务[10]

资源调度:将虚拟机资源[3]分配给任务[3]

资源调度:将虚拟机资源[2]分配给任务[5]

虚拟机[2]中,任务[5]执行完毕,用时18437毫秒

资源调度:将虚拟机资源[2]分配给任务[2]

虚拟机[3]中,任务[3]执行完毕,用时18687毫秒

资源调度:将虚拟机资源[3]分配给任务[8]

虚拟机[4]中,任务[10]执行完毕,用时19437毫秒

资源调度:将虚拟机资源[4]分配给任务[7]

虚拟机[3]中,任务[8]执行完毕,用时750毫秒

资源调度:将虚拟机资源[3]分配给任务[9]

虚拟机[4]中,任务[7]执行完毕,用时843毫秒

虚拟机[2]中,任务[2]执行完毕,用时2312毫秒

资源调度:将虚拟机资源[2]分配给任务[1]

虚拟机[2]中,任务[1]执行完毕,用时1282毫秒

资源调度:将虚拟机资源[2]分配给任务[6]

虚拟机[3]中,任务[9]执行完毕,用时3031毫秒

虚拟机[2]中,任务[6]执行完毕,用时875毫秒

资源调度:将虚拟机资源[2]分配给任务[4]

虚拟机[2]中,任务[4]执行完毕,用时812毫秒

所有任务均已结束运行,总共用时24187毫秒。

虚拟机资源利用率

虚拟机[2]利用率为:23718/24187=98.061%

虚拟机[3]利用率为:22468/24187=92.893%

虚拟机[4]利用率为:20280/24187=83.847%

虚拟机资源平均利用率:91.6%

负载均衡度:104.008%

本发明还提出了一种云计算任务调度模拟系统,其用于模拟任务调度过程,包括:

任务配置模块,用于设置及显示任务编号、长度及qos需求;

资源配置模块,包括qos配置子模块、虚拟机资源子模块和虚拟机类型与配置子模块,其中,所述qos配置子模块用于设置并显示qos维度;所述虚拟机资源子模块用于设置并显示虚拟机编号、宿主物理机编号以及虚拟机类型,所述虚拟机类型与配置子模块用于设置并显示虚拟机的基本信息以及在各个维度上的qos能力;

调度平台模块,用于上述云计算任务调度方法,基于从任务配置模块和资源配置模块中得到的任务列表和资源列表,进行任务调度。

图4示出根根据本发明的一个实施例的云计算调度模拟系统的运行流程图,运行时的主界面如图5所示,主界面中显示出模拟系统主要包括调度平台模块、任务配置模块和资源配置模块。

具体地,任务配置模块包括一个具体的任务列表,列表中有任务基本信息(任务编号、任务长度)、任务的qos需求以及状态信息(状态、虚拟机编号和执行顺序)。该模块中还可以手动设置调度的任务数量,并点击“随机初始化”按钮后,可以对任务列表中的相关参数进行随机配置。同时,模块中的“另存为”按钮可以将随机产生的任务配置以“仿真任务包.mem”文件存储于系统中,从而避免重复进行任务初始化。而模块中的“读取文档”按钮可以将存储于系统中的“仿真任务包.mem”直接读取出来,进行任务仿真。运行任务配置模块时所显示的任务配置界面图如图6所示。

资源配置模块包括三个子模块:qos配置子模块、虚拟机资源子模块和虚拟机类型与配置子模块。

qos配置子模块中,可以手动设置qos维度,并设计了三个按钮:“随机初始化”、“另存为”和“读取文档”。“随机初始化”按钮可以对qos配置进行随机初始化,包括其可设置的最大值和最小值信息;“另存为”按钮可以将初始化的qos配置以“qos需求配置包.mem”文件存储于系统中;“读取文档”按钮可以将存储于系统中的“qos需求配置包.mem”直接读取出来,用于资源qos配置。运行资源配置模块时所显示的资源配置界面如图7所示。

任务列表用于显示任务编号、执行的虚拟机编号和任务的调度顺序;调度控制单元包括三个按钮:“系统初始化”、“停止调度”和“调度日志”。点击“系统初始化”按钮后,系统会按照设定的配置方法进行任务与资源参数的初始化,而该按钮会变成“开始仿真”按钮,同时,在右侧的对话框中会出现相应数量的虚拟机资源,各虚拟机拥有一个状态标识,绿色代表未使用,红色代表正在进行任务执行。任务执行过程中,虚拟机会显示正在执行的任务编号以及任务的执行进度。点击“开始仿真”按钮,即可以系统中设计的调度方法进行任务调度,点击“停止调度”按钮即可停止调度过程,点击“调度日志”按钮可以弹出一个对话框,显示了完整的任务调度过程中的计算细节。图8示出根据本发明的一个实施例的云计算调度模拟系统在进行任务调度时的效果图。

虚拟机资源子模块可以显示虚拟机编号、宿主物理机编号以及虚拟机类型。该模块可以手动设置虚拟机数量,并设计了三个按钮:“随机初始化”、“另存为”和“读取文档”。“随机初始化”按钮可以对虚拟机的宿主物理机以及虚拟机类型进行随机初始化;“另存为”按钮可以将初始化的虚拟机配置以“虚拟机资源包.mem”文件存储于系统中;“读取文档”按钮可以将存储于系统中的“虚拟机资源包.mem”直接读取出来,用于虚拟机资源配置。

虚拟机类型与配置子模块用于显示虚拟机的基本信息(类型编号、处理能力mips、价格),以及在四个维度上的qos能力。该子模块中还设计了三个按钮:“根据qos需求创新虚拟机属性”、“另存为”和“读取文档”。“根据qos需求创新虚拟机属性”按钮用于创新虚拟机相关的需求和属性信息,“另存为”按钮可以将创建的信息以“虚拟机类型包.mem”文件存储于系统中,“读取文档”按钮用于从系统中读取“虚拟机类型包.mem”。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。

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