掌桥专利:专业的专利平台
掌桥专利
首页

一种异构云环境下实时任务的调度优化方法

文献发布时间:2023-06-19 09:23:00


一种异构云环境下实时任务的调度优化方法

技术领域

本发明涉及云计算调度技术领域,尤其涉及一种异构云环境下实时任务的调度优化方法。

背景技术

云计算是近几年IT产业界和学术界研究的热点。云计算的不断成熟使得云数据中心变得越来越重要和复杂。虚拟化技术的发展使单个物理主机可以同时运行多个虚拟机,这使得任务计算所要求的资源可以按需分配给用户,以满足用户的多样性、动态性的需求。云数据中心的实时性、动态性的特征为云计算带来巨大优势。

为解决虚拟化技术为用户实时、动态分配计算资源时带来的负载不均衡问题,一些资源的动态弹性管理技术不断涌现。但这类技术的研究中,缺乏对实时任务的最小化总延时的调度优化策略;另外,这类技术对能够使任务在云数据中心实现负载均衡分配的实现上也有所欠缺。

发明内容

本发明的目的是提供一种异构云环境下实时任务的调度优化方法,实现异构云计算环境下资源的负载均衡分配和实时任务完成时的总延时最小的优化目标。

本发明为实现上述发明目的采用如下技术方案:

本发明提供了一种异构云环境下实时任务的调度优化方法,包括:

接收实时到达的任务,将任务分配给下层的各个计算节点;

接收分配的任务后,将任务安排给节点计算资源进行计算;

设置自底向上的资源重分配机制,当监测到某段时间内资源负载不均衡时,采用有效的调整策略使得在短时间内重新达到计算资源的负载均衡状态;

根据调度策略和资源重分配机制实时地对任务进行调度,实现任务的负载均衡分配和完成时总延时最小的优化目标。

进一步地,接收实时到达的任务,将任务分配给下层的各个计算节点的方法具体包括:

调度层通过用户层接收实时到达的任务,根据中央调度策略将任务分配给下层的各个计算节点。

进一步地,所述调度层由中心调度层和节点调度层组成,所述节点调度层包括节点等待队列和节点调度器,所述中心调度层包括中央缓冲区和中央调度器;

调度层通过用户层接收实时到达的任务,根据中央调度策略将任务分配给下层的各个计算节点的方法具体包括:

所有参与调度的任务用集合T表示,集合T中的元素表示来自用户层的每个实时任务:

T={t

每个实时任务用一个五元组t

实施中央调度策略,将从用户层接收的任务暂存到中央缓冲区中,采用截止时间优先的策略,考虑中央缓冲区中第一个任务t

分别计算节点1~m中等待队列的任务执行总时长,将t

进一步地,接收分配的任务后,将任务安排给节点计算资源进行计算的方法具体包括:

各个计算节点接收从中心调度层分配的任务后,根据调度策略将任务安排给节点计算资源进行计算。

进一步地,各个计算节点接收从调度层分配的任务后,根据调度策略将任务安排给节点计算资源进行计算的方法具体包括:

实施节点调度策略,节点等待队列用于存放等待分配给资源的任务,并根据节点队列中任务的紧急程度将队列进行排序,节点调度器将最紧急的任务调度到虚拟机上执行,即优先为最紧急的任务分配计算资源;

任务t

当等待队列中有任务的紧急程度小于计算节点上正在被执行的任务的紧急程度时,该任务抢占正在执行的任务,占用计算资源,直到任务执行完成或有其他紧急程度更小的任务抢占计算资源。

进一步地,所述资源重分配机制分为节点层和中央层,所述节点层包括节点检测器和节点控制器,所述中央层包括中央控制器、中央召回器、中央缓冲区;

当监测到某段时间内资源负载不均衡时,采用有效的调整策略使得在短时间内重新达到计算资源的负载均衡状态的方法具体包括:

节点检测器负责监测各个节点等待队列中的任务状态,实时反馈给中央控制器;

当中央控制器发现一段时间内系统中有明显的资源负载不均衡状态时,决定是否需要将某些节点中的任务召回至中央层进行再分配,若需要则向需要召回任务的计算节点发送召回信号;

收到召回信号的节点由节点控制器决定队列中哪个任务将被召回,然后报告给中央召回器;

中央召回器最后将任务召回至中央缓冲区,至此完成一次任务召回操作。

本发明的有益效果如下:

本发明从服务代理商角度出发,考虑异构云的动态特征保证了资源负载均衡调度,从而提高了资源利用率,同时,该方法弥补了现有研究关于软实时任务的研究不足,保证实时任务完成的条件下,以最小化实时任务总延时和实现负载均衡调度为目标,提高了云数据中心的资源利用率,有效保证了任务执行的质量,提高了用户体验。

附图说明

图1为根据本发明实施例提供的异构云环境下实时任务调度优化方法的架构图;

图2为根据本发明实施例提供的负载均衡资源重分配机制的示意图;

图3为根据本发明实施例提供的异构云环境下负载均衡和总延时最小的调度优化方法的流程图。

具体实施方式

下面结合具体实施例对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

一种异构云环境下实时任务的调度优化方法,其要点在于,该方法包括以下步骤:

A.系统分为用户层、调度层、物理层三层架构。调度层由中心调度层和节点调度层组成。

B.调度层通过用户层接收实时到达的任务,根据中央调度策略将任务分配给下层的各个计算节点。

C.各个计算节点接收从中心调度层分配的任务后,根据调度策略将任务安排给节点计算资源进行计算。

D.该系统设置了自底向上的资源重分配机制,根据实时系统的动态特征,当系统监测到某段时间内资源负载不均衡时,采用有效的调整策略使系统在短时间内重新达到计算资源的负载均衡状态。

E.系统不断地接收来自用户层的任务,根据调度策略和资源重分配机制实时地对任务进行调度,一次调度结束后转步骤A,如此往复,最终实现任务的负载均衡分配和完成时总延时最小的优化目标。

步骤A具体包括:

A1.中心调度层包括中央缓冲区(central buffer)和中央调度器(centralscheduler)。

A2.节点调度层包括节点等待队列(node waiting queue)和节点调度器(nodescheduler)。

A3.异构的云计算环境的计算资源由物理层的物理机通过虚拟化技术产生的虚拟机表示。虚拟机在调度层的下端,每个虚拟机被抽象成一个计算节点。所有计算节点用集合V表示,集合V中的元素表示异构云计算环境下的每个计算节点:

V={v

A4.每个计算节点用一个四元组v

v

步骤B具体包括:

B1.所有参与调度的任务用集合T表示,集合T中的元素表示来自用户层的每个实时任务:

T={t

每个实时任务用一个五元组t

B2.该层调度实施中央调度策略。将从用户层接收的任务暂存到中央缓冲区中。采用截止时间优先的策略,考虑中央缓冲区中第一个任务t

B3.分别计算节点1~m中等待队列的任务执行总时长,将t

步骤C具体包括:

C1.该层调度实施节点调度策略。节点等待队列用于存放等待分配给资源的任务,并根据节点队列中任务的紧急程度将队列进行排序;节点调度器将最紧急的任务调度到虚拟机上执行,即优先为最紧急的任务分配计算资源。

C2.任务t

C3.当等待队列中有任务的紧急程度小于计算节点上正在被执行的任务的紧急程度时,该任务抢占正在执行的任务,占用计算资源,直到任务执行完成或有其他紧急程度更小的任务抢占计算资源。

步骤D具体包括自底向上的资源重分配机制,该机制分为节点层和中央层,与调度层的架构相互对应。节点层包括节点检测器(node monitor)和节点控制器(nodecontroller)。中央层包括中央控制器(Central controller)、中央召回器(centralrecaller)、中央缓冲区(central buffer)。具体包括:

D1.节点检测器负责监测各个节点等待队列中的任务状态,实时反馈给中央控制器。

D2.当中央控制器发现一段时间内系统中有明显的资源负载不均衡状态时,决定是否需要将某些节点中的任务召回至中央层进行再分配,若需要则向需要召回任务的计算节点发送召回信号。

D3.收到找回信号的节点由节点控制器决定队列中哪个任务将被召回,然后报告给中央召回器。

D4.中央召回器最后将任务召回至中央缓冲区,至此完成一次任务召回操作。

本发明实施例实现异构云环境下实时任务调度方法的架构图如图1所示。中心调度层中的中央缓冲区负责暂时存放等待被中央调度队列调度的任务,中央调度器负责从中央任务缓冲区中提取任务,然后根据中央调度器的调度策略把任务分配到各计算节点上。各节点的任务首先放置在节点等待队列中,根据节点调度策略对等待队列进行排序,然后节点调度器负责决定将节点等待队列中的哪个任务何时占用计算资源。

考虑实时系统的动态特征,当系统监测到某段时间内资源负载不均衡时,采用有效的资源重分配机制使系统在短时间内重新达到计算资源的负载均衡状态。相关内容如图2所示。节点监测器负责监测各个节点等待队列中的任务状态,实时反馈给中央控制器,当中央控制器发现一段时间内系统中有明显的资源负载不均衡状态时,决定是否需要将某些节点中的任务召回,若需要,则向需要召回任务的计算节点发送召回信号。收到找回信号的计算节点由节点控制器决定队列中哪个任务将被召回,然后报告给中央召回器。中央召回器最后将任务召回至中央缓冲区,至此完成一次任务找回操作:

任务召回操作详情如下:

各节点监测器向中央控制器实时发送各节点队列的排队状态;

中央控制器通过中央决策算法决定各个节点是否由任务需要召回,如果没有,则等待,如果有则发送消息给需要召回任务的节点控制器;

节点控制器根据节点等待队列的状态决定哪个任务需要被召回,将决定后的任务发送给中央召回器;

中央召回器将任务放回中央缓冲区,待后续调度。

如图3所示,当计算资源充足时,实时任务的调度策略的具体步骤如下:

步骤S201,判断异构云环境实时系统是否有任务从用户端到达,如果没有任务,方法结束,如果有任务,转步骤S202;

步骤S202,将到达的任务放置在中央缓冲区,更新中央缓冲区中的任务列表,将任务以截止时间为优先级进行排队,转步骤S203;

步骤S203,提取中央缓冲区中排在第一的任务(截止时间最小的任务)为预调度任务,查看该任务对计算资源的需求;

步骤S204,查看所有可用虚拟机的属性,筛选掉不符合计算资源需求的虚拟机,只留下符合预调度任务的计算资源需求的虚拟机作为候选计算资源;

步骤S205,分别计算候选计算资源所属等待队列中任务执行总时长,将预调度任务分配给任务执行总时长最小的计算资源,该资源为目标资源,将预调度任务放置在目标资源的等待队列中,转步骤S301;

步骤S301,节点接收任务后,更新节点等待队列列表,实施节点调度策略;

步骤S302,节点等待队列根据节点队列中以紧急程度laxity为优先级进行排序,紧急程度laxity的计算方式为:

步骤S303,判断队列中是否有任务的紧急程度小于计算节点上被执行的任务的紧急程度,如果没有,则返回步骤S302;如果有,则转步骤S304;

步骤S304,紧急程小的任务抢占正在执行的任务,占用计算资源。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种异构云环境下实时任务的调度优化方法
  • 一种异构云环境下资源统一调度方法及系统
技术分类

06120112147091