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

一种云计算平台任务调度方法及系统

文献发布时间:2023-06-19 18:29:06


一种云计算平台任务调度方法及系统

技术领域

本发明涉及云计算技术领域,具体涉及一种云计算平台任务调度方法及系统。

背景技术

云计算是一种现代计算机技术,它采用虚拟化基础设施在复杂环境中为最终用户提供安全可靠的服务。云计算采用虚拟机(VM)的形式提供计算资源等基本信息技术服务。

云计算上的任务调度是将用户的任务分配在可用资源上,以优化执行时间,增强负载均衡,提高资源效率。现有技术中,对于任务之间是否存在依赖关系考虑不全面,导致任务调度方法资源利用率不高。

发明内容

本发明的目的就在于解决上述背景技术的问题,而提出一种云计算平台任务调度方法及系统。

本发明的目的可以通过以下技术方案实现:

本发明实施例第一方面,首先提供了一种云计算平台任务调度方法,所述方法包括:

获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG;所述DAG包括任务集合和边集合,所述任务集合包括所述工作流中各任务的任务信息,所述边集合记录有各任务之间的父子关系和各任务之间的通信成本;

根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序;

根据所述目标顺序依次确定各任务的特征矩阵;特征矩阵的行表示针对云计算平台的各虚拟机所需的资源量,特征矩阵的列表示该任务的任务特征;

根据各任务的特征矩阵将该任务调度到目标虚拟机。

可选地,获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG,包括:

获取待分配工作流,解析所述工作流中各任务的任务请求,确定该任务的源地址、目的地址和任务操作类型;

根据各任务的源地址和目的地址之间的关系确定各任务之间的父子关系,确定各任务的拓扑排序;

根据各任务的任务操作类型确定各任务的任务信息,作为任务集合;

确定具有父子关系的任务之间的通信成本,作为边集合。

可选地,任务信息包括该任务的计算成本以及该任务操作的指令长度;

根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序,包括:

针对每一任务,根据所述DAG确定该任务的子任务集;子任务集中的各任务与该任务具有父子关系,且该任务为父任务;

将该任务的计算成本、指令长度、目标子任务的任务等级值和目标子任务与该任务之间的通信成本求和,得到该任务的任务等级值;所述目标子任务为子任务集中任务等级值和目标子任务与该任务之间的通信成本之和数值最大的任务;

根据各任务的任务等级值从大到小排序得到处理所述工作流中各任务的目标顺序。

可选地,将该任务的计算成本、指令长度、目标子任务的任务等级值和目标子任务与该任务之间的通信成本求和,得到该任务的任务等级值,具体为:

其中,R()为预设的计算任务等级值的函数、G

可选地,所述任务特征包括该任务在虚拟机上的计算成本、该任务在虚拟机上的完成时间以及该任务的父任务所属的虚拟机到该任务所属的虚拟机之间的通信成本。

本发明实施例第二方面,还提供了一种云计算平台任务调度系统,包括解析模块、排序模块、特征矩阵模块和调度模块:

所述解析模块,用于获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG;所述DAG包括任务集合和边集合,所述任务集合包括所述工作流中各任务的任务信息,所述边集合记录有各任务之间的父子关系和各任务之间的通信成本;

所述排序模块,用于根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序;

所述特征矩阵模块,用于根据所述目标顺序依次确定各任务的特征矩阵;特征矩阵的行表示针对云计算平台的各虚拟机所需的资源量,特征矩阵的列表示该任务的任务特征;

所述调度模块,用于根据各任务的特征矩阵将该任务调度到目标虚拟机。

可选地,所述解析模块包括数据解析子模块、拓扑排序子模块、任务集合子模块和边集合子模块:

所述数据解析子模块,用于获取待分配工作流,解析所述工作流中各任务的任务请求,确定该任务的源地址、目的地址和任务操作类型;

所述拓扑排序子模块,用于根据各任务的源地址和目的地址之间的关系确定各任务之间的父子关系,确定各任务的拓扑排序;

所述任务集合子模块,用于根据各任务的任务操作类型确定各任务的任务信息,作为任务集合;

所述边集合子模块,用于确定具有父子关系的任务之间的通信成本,作为边集合。

可选地,任务信息包括该任务的计算成本以及该任务操作的指令长度;

所述排序模块包括子任务集确定模块、任务等级值计算子模块和目标顺序确定子模块:

所述子任务集确定模块,用于针对每一任务,根据所述DAG确定该任务的子任务集;子任务集中的各任务与该任务具有父子关系,且该任务为父任务;

所述任务等级值计算子模块,用于将该任务的计算成本、指令长度、目标子任务的任务等级值和目标子任务与该任务之间的通信成本求和,得到该任务的任务等级值;所述目标子任务为子任务集中任务等级值和目标子任务与该任务之间的通信成本之和数值最大的任务;

所述目标顺序确定子模块,用于根据各任务的任务等级值从大到小排序得到处理所述工作流中各任务的目标顺序。

可选地,所述任务等级值计算子模块具体用于:

其中,R()为预设的计算任务等级值的函数、G

可选地,所述任务特征包括该任务在虚拟机上的计算成本、该任务在虚拟机上的完成时间以及该任务的父任务所属的虚拟机到该任务所属的虚拟机之间的通信成本。

本发明实施例提供了一种云计算平台任务调度方法,所述方法包括:获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG;所述DAG包括任务集合和边集合,所述任务集合包括所述工作流中各任务的任务信息,所述边集合记录有各任务之间的父子关系和各任务之间的通信成本;根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序;根据所述目标顺序依次确定各任务的特征矩阵;特征矩阵的行表示针对云计算平台的各虚拟机所需的资源量,特征矩阵的列表示该任务的任务特征;根据各任务的特征矩阵将该任务调度到目标虚拟机。通过构建工作流各任务间的DAG,确定各任务之间的关联关系,然后确定各任务的目标顺序,可以提高任务调度方法资源利用率。

附图说明

下面结合附图对本发明作进一步的说明。

图1为本发明实施例提供的一种云计算平台任务调度方法的流程图;

图2为本发明实施例提供的一种云计算平台任务调度系统的系统框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供了一种云计算平台任务调度方法。参见图1,图1为本发明实施例提供的一种云计算平台任务调度方法的流程图。所述方法包括:

S101,获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG。

S102,根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序。

S103,根据所述目标顺序依次确定各任务的特征矩阵;特征矩阵的行表示针对云计算平台的各虚拟机所需的资源量,特征矩阵的列表示该任务的任务特征。

S104,根据各任务的特征矩阵将该任务调度到目标虚拟机。

所述DAG包括任务集合和边集合,所述任务集合包括所述工作流中各任务的任务信息,所述边集合记录有各任务之间的父子关系和各任务之间的通信成本;

基于本发明实施例提供的一种云计算平台任务调度方法通过构建工作流各任务间的DAG,确定各任务之间的关联关系,然后确定各任务的目标顺序,可以提高任务调度方法资源利用率。

在一个实施例中,获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG,包括:

获取待分配工作流,解析所述工作流中各任务的任务请求,确定该任务的源地址、目的地址和任务操作类型;

根据各任务的源地址和目的地址之间的关系确定各任务之间的父子关系,确定各任务的拓扑排序;

根据各任务的任务操作类型确定各任务的任务信息,作为任务集合;

确定具有父子关系的任务之间的通信成本,作为边集合。

在一个实施例中,任务信息包括该任务的计算成本以及该任务操作的指令长度;

根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序,包括:

针对每一任务,根据所述DAG确定该任务的子任务集;子任务集中的各任务与该任务具有父子关系,且该任务为父任务;

将该任务的计算成本、指令长度、目标子任务的任务等级值和目标子任务与该任务之间的通信成本求和,得到该任务的任务等级值;所述目标子任务为子任务集中任务等级值和目标子任务与该任务之间的通信成本之和数值最大的任务;

根据各任务的任务等级值从大到小排序得到处理所述工作流中各任务的目标顺序。

在一个实施例中,将该任务的计算成本、指令长度、目标子任务的任务等级值和目标子任务与该任务之间的通信成本求和,得到该任务的任务等级值,具体为:

其中,R()为预设的计算任务等级值的函数、G

在一个实施例中,所述任务特征包括该任务在虚拟机上的计算成本、该任务在虚拟机上的完成时间以及该任务的父任务所属的虚拟机到该任务所属的虚拟机之间的通信成本。

基于相同的发明构思本发明实施例提供了一种云计算平台任务调度系统。参见图2,图2为本发明实施例提供的一种云计算平台任务调度系统的系统框图。该系统包括解析模块、排序模块、特征矩阵模块和调度模块:

所述解析模块,用于获取待分配工作流,解析所述工作流中各任务的任务请求,确定各任务的拓扑排序,得到所述工作流的有向无环图DAG;所述DAG包括任务集合和边集合,所述任务集合包括所述工作流中各任务的任务信息,所述边集合记录有各任务之间的父子关系和各任务之间的通信成本;

所述排序模块,用于根据所述DAG确定各任务的处理优先级,得到处理所述工作流中各任务的目标顺序;

所述特征矩阵模块,用于根据所述目标顺序依次确定各任务的特征矩阵;特征矩阵的行表示针对云计算平台的各虚拟机所需的资源量,特征矩阵的列表示该任务的任务特征;

所述调度模块,用于根据各任务的特征矩阵将该任务调度到目标虚拟机。

基于本发明实施例提供的一种云计算平台任务调度系统通过构建工作流各任务间的DAG,确定各任务之间的关联关系,然后确定各任务的目标顺序,可以提高任务调度方法资源利用率。

在一个实施例中,所述解析模块包括数据解析子模块、拓扑排序子模块、任务集合子模块和边集合子模块:

所述数据解析子模块,用于获取待分配工作流,解析所述工作流中各任务的任务请求,确定该任务的源地址、目的地址和任务操作类型;

所述拓扑排序子模块,用于根据各任务的源地址和目的地址之间的关系确定各任务之间的父子关系,确定各任务的拓扑排序;

所述任务集合子模块,用于根据各任务的任务操作类型确定各任务的任务信息,作为任务集合;

所述边集合子模块,用于确定具有父子关系的任务之间的通信成本,作为边集合。

在一个实施例中,任务信息包括该任务的计算成本以及该任务操作的指令长度;

所述排序模块包括子任务集确定模块、任务等级值计算子模块和目标顺序确定子模块:

所述子任务集确定模块,用于针对每一任务,根据所述DAG确定该任务的子任务集;子任务集中的各任务与该任务具有父子关系,且该任务为父任务;

所述任务等级值计算子模块,用于将该任务的计算成本、指令长度、目标子任务的任务等级值和目标子任务与该任务之间的通信成本求和,得到该任务的任务等级值;所述目标子任务为子任务集中任务等级值和目标子任务与该任务之间的通信成本之和数值最大的任务;

所述目标顺序确定子模块,用于根据各任务的任务等级值从大到小排序得到处理所述工作流中各任务的目标顺序。

在一个实施例中,所述任务等级值计算子模块具体用于:

其中,R()为预设的计算任务等级值的函数、G

在一个实施例中,所述任务特征包括该任务在虚拟机上的计算成本、该任务在虚拟机上的完成时间以及该任务的父任务所属的虚拟机到该任务所属的虚拟机之间的通信成本。

以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。

相关技术
  • 一种Linux系统的任务调度方法、系统及相关装置
  • 一种基于云计算平台的电锅炉精确供暖系统及方法
  • 一种云计算平台任务调度方法、装置和设备
  • 一种面向云计算平台的任务调度方法
技术分类

06120115582454