CN108108245B - 一种云平台宽节点科学工作流的混合型调度方法及系统 - Google Patents
一种云平台宽节点科学工作流的混合型调度方法及系统 Download PDFInfo
- Publication number
- CN108108245B CN108108245B CN201711364950.2A CN201711364950A CN108108245B CN 108108245 B CN108108245 B CN 108108245B CN 201711364950 A CN201711364950 A CN 201711364950A CN 108108245 B CN108108245 B CN 108108245B
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- tree structure
- multilayer
- tasks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种云平台宽节点科学工作流的混合型调度方法及系统。该方法包括:每个调度阶段初始化时,利用键能算法变换将任务构建成任务多层聚类树结构;在全局初始化阶段,利用键能算法变换和基本二叉多层划分将调度资源构建为云资源多层树结构;根据任务组的映射截止时间和调度资源的各维资源分布将任务多层聚类树结构中的任务子树的节点与云资源多层树结构中的节点进行映射操作;阶段调度末尾,判定完成映射操作的所述任务数量是否超过设定阈值;若是,则将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间。本发明方法或系统融合了动态调度和静态调度双重特征的调度方法,在满足用户执行时间要求的基础上实现云资源提供方的能源成本优化。
Description
技术领域
本发明涉及云计算任务调度和资源分配领域,特别是涉及一种云平台宽节点科学工作流的混合型调度方法及系统。
背景技术
云数据中心的任务调度和资源的协同分配研究意义重大,对云资源租用者来说,可以降低租用费用,对于云计算数据中心来说可以优化资源利用率,提高用户满意度,降低能源消耗等,近年来,一直都是研究的热点。云科学工作流调度研究是云调度研究中的一个重要部分,科学工作流是一类能够完全或者部分自动执行的计算任务,它根据一系列规则,使数据与任务能够在不同的执行者之间传递与执行。与传统的工作流运行环境相比,云环境更为复杂,因此云环境科学工作流调度策略会直接影响整个系统的运行性能,如何使任务快速地调度执行,如何合理地分配虚拟资源,如何满足工作流任务间的约束关系和执行顺序,如何降低数据的通信量,如何减少执行期限违约率,如何减少云资源的租用成本以及降低数据中心的能源消耗,这些都是调度算法设计的难点。当前,一些重要的云商业公司也瞄准了这一研究的巨大商业价值,投入了大量的人力、物力,很多核心技术在性能上处于领先地位,但商业云公司提供的自动资源分配和任务调度方法多适用于网络服务类型的任务,对于科学工作流的自适应调度鲜有涉及,国内外的一些高校团队近年来也致力于云科学工作流的调度研究,并取得了很多重要成果,但当前大多数研究针对的都是普通科学工作流,即工作流建模中每个节点由单一任务组成,而对于包含批处理任务组的宽节点科学工作流当前研究较少,仍处于起步阶段,现有的研究主要存在的问题包括:
(1)采用静态调度方法,或采用动态调度方法,但都难以适用于数据密集型宽节点科学工作流的调度。静态算法无可回避的一个缺陷就是对任务的执行时间无法准确预估,导致实际应用中泛化性、鲁棒性不好,而宽节点科学工作流包含了更多需要分布式批处理的任务组,任务执行时间更难估算。动态调度方法虽然对运行时状态变化有更好的适应性,但同时又因为无法把握全局信息而难以实现全局统筹优化,即存在所谓的短视性缺陷。而对于数据密集型宽节点科学工作流,这种缺陷更为严重,调度时如果不考虑全局数据依赖关系,则会造成频繁的网络数据传输,从而严重影响整体执行效率。
(2)当前截止时间分解算法只针对独立任务执行截止时间生成,而并未考虑批处理任务集结构。截止时间分解是实现工作流任务调度的基础,传统方法根据单个任务大小按比例均衡分配工作流的整体截止时间,直接应用于宽节点科学工作流会导致分配不均衡,致使包含大量短任务的节点组分到过紧的截止时间,而包含大量长任务的节点组分到过松的截止时间,从而造成截止时间违约率的上升和计算资源的浪费。
(3)对于包含海量批处理任务的工作流调度,已有的基于数据依赖聚类减少数据传输耗时的方法仍需要一定的改进。数据通信是云计算环境中数据密集型应用的主要性能瓶颈,当前一般采用基于数据依赖的子工作流划分方法来降低节点间传输。这些方法多以优化数据传输频率为目标,对于包含海量批处理任务的工作流来说,数据规模更大,数据集大小相差悬殊,传输频率不能代表传输代价,需要额外加入数据传输量和网络带宽因素的考虑。
发明内容
本发明的目的是提供一种云平台宽节点科学工作流的混合型调度方法及系统,融合了动态调度和静态调度双重特征的调度方法,在满足用户执行时间要求的基础上实现云资源提供方的能源成本优化。
为实现上述目的,本发明提供了如下方案:
一种云平台宽节点科学工作流的混合型调度方法,包括:
按照工作流有向无环图中任务节点的深度将工作流划分为设定个数的调度阶段;
根据任务间的数据依赖关系将所述调度阶段内的任务划分为设定数目的任务组;每个所述任务组均由多个任务组成;
根据所述调度阶段的任务数量和任务预计完成时间量确定所述调度阶段的截止时间;
根据所述调度阶段的截止时间设定每个所述任务组的截止时间;
利用键能算法变换将所述任务构建成任务多层聚类树结构;
利用键能算法变换和基本二叉多层划分将所述调度资源构建为云资源多层树结构;
根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作;
判定阶段内完成所述映射后的运行操作的所述任务数量是否超过设定阈值;
若是,则将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间;
否则继续进行所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作。
可选的,所述根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树与所述云资源多层树结构中的节点进行映射操作具体包括:
将所述任务多层聚类树结构中的当前层的子树的节点第一次映射到所述云资源多层树结构的当前层的叶子节点;
判断所述第一次映射是否成功;
若是,则修改相应资源的剩余计算资源量和存储资源量;
否则,将当前层的下一层的子树的节点映射到所述云资源多层树结构的当前层的上一层节点;
判断是否完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射;
如果是,则停止映射并开始所述任务多层聚类树结构中的下一子树的映射;
如果否,则继续进行当前子树的映射操作。
可选的,所述根据键能算法变换构建任务多层聚类树结构具体包括:
统筹传输数据量与传输次数两方面因素,建立任务间数据的关联度矩阵;
对所述关联度矩阵执行键能算法变换,得到高关联度数据会聚成团的变换关联度矩阵;
对所述变换关联度矩阵采用分层递归划分策略进行划分,构建任务多层聚类树结构。
可选的,所述统筹传输数据量与传输次数两方面因素,建立任务间数据的关联度矩阵具体包括:
根据公式dri,j=α·dataTransSizei,j+β·dataTransTimei,j建立任务数据的关联度;dri,j为所述关联度;dataTransSizei,j为任务ti、任务tj间共同需要的数据集大小总和与任务ti、任务tj在直接前驱关系中的数据传输大小总和之和;dataTransTimei,j为任务ti、任务tj共同需要的数据集的数量总和与任务ti、任务tj在直接前驱关系中的数据传输次数总和之和;α和β为线性加权的两个权值参数。
可选的,所述根据每个所述调度阶段的任务数量和任务总工作量设定所有所述调度阶段的截止时间具体包括:
对每个所述调度阶段的任务数量和任务总工作量两方面因素执行加权求和得到第一求和结果;
按照所述第一求和结果结合对应的所述调度阶段的所述任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间。
可选的,所述将未映射完成的任务归至下一个所述调度阶段,重新分配所述任务的截止时间具体包括:
将归至下一个所述调度阶段的所述任务的截止时间与所述下一个调度阶段的截止时间执行加权求和得到第二求和结果;
按照所述第二求和结果结合所述下一个调度阶段的任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间。
一种云平台宽节点科学工作流的混合型调度系统,包括:
工作流阶段划分模块,用于按照工作流有向无环图中任务节点的深度将工作流划分为设定个数的调度阶段;
任务划分模块,用于根据任务间的数据依赖关系将所述调度阶段内的任务划分为设定数目的任务组;每个所述任务组均由多个任务组成;
阶段截止时间设定模块,用于根据所述调度阶段的任务数量和任务预计完成时间量确定所述调度阶段的映射截止时间;
任务截止时间设定模块,用于根据所述调度阶段的截止时间设定每个所述任务组的截止时间;
任务多层聚类树结构构建模块,用于利用键能算法变换将所述任务构建成任务多层聚类树结构;
云资源多层树结构构建模块,用于利用键能算法变换和基本二叉多层划分将所述调度资源构建为云资源多层树结构;
映射模块,用于根据所述任务组的运行截止时间和所述调度资源的各维资源剩余量将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作;
执行完成情况模块,用于判定阶段内完成所述映射后的运行操作的所述任务数量是否超过设定阈值;
循环迭代模块,用于则将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间。
可选的,所述映射模块具体包括:
第一次映射单元,用于将所述任务多层聚类树结构中的当前层的子树的节点第一次映射到所述云资源多层树结构的当前层的叶子节点;
第一次映射完成情况判断单元,用于判断所述第一次映射是否成功,若是,则修改相应资源的剩余计算资源量和存储资源量;
第二次映射单元,用于将当前层的下一层的子树的节点映射到所述云资源多层树结构的当前层的上一层节点;
执行完成判断单元,用于判断是否完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射;
循环迭代单元,用于如果完成了当前层的子树的映射,则停止映射并开始所述任务多层聚类树结构中的下一子树的映射。
可选的,所述任务多层聚类树结构构建模块具体包括:
关联度矩阵构建单元,用于统筹传输数据量与传输次数两方面因素,建立任务间数据的关联度矩阵;
矩阵变换单元,用于对所述关联度矩阵执行键能算法变换,得到高关联度数据会聚成团的变换关联度矩阵;
树结构构建单元,用于对所述变换关联度矩阵采用分层递归划分策略进行划分,构建任务多层聚类树结构。
可选的,所述阶段截止时间设定模块具体包括:
第一求和单元,用于对每个所述调度阶段的任务数量和任务总工作量两方面因素执行加权求和得到第一求和结果;
执行时限分配单元,用于按照所述第一求和结果结合对应的所述调度阶段的所述任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明对于整体多工作流任务,根据其各个子任务在工作流DAG图(有向无环图)中所处深度,划分为多个调度阶段,整体采用分阶段动态调度策略,每个阶段调度开始前,会纳入上一阶段滞后的子任务,修改本阶段截止时间分配,并根据当前计算资源状态动态制定适合于当前系统运行状况的调度策略。而对于每一个调度阶段内部的所有子任务,则采用具有全局统筹优化能力的静态调度策略,以减少数据密集型任务的跨节点数据通信量,并实现资源利用率的优化。本发明中融入动态调度和静态调度的双重优点,针对数据密集型科学工作流,设计基于阶段调度的混合型任务调度策略,既弥补了动态调度下的短视性问题,又能充分利用运行时的当前状态减少静态调度下执行时间难以预估的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例云平台宽节点科学工作流的混合型调度方法流程图;
图2为本发明实施例任务多层聚类树结构与云资源多层树结构映射方法流程图;
图3为本发明实施例云平台宽节点科学工作流的混合型调度系统结构图;
图4为本发明实施例混合型调度方法的原理图;
图5为本发明实施例整体处理流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种云平台宽节点科学工作流的混合型调度方法及系统,融合了动态调度和静态调度双重特征的调度方法,在满足用户执行时间要求的基础上实现云资源提供方的能源成本优化。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例云平台宽节点科学工作流的混合型调度方法流程图。
参见图1,一种云平台宽节点科学工作流的混合型调度方法,包括:
步骤101:按照工作流有向无环图中任务节点的深度将工作流划分为设定个数的调度阶段;
步骤102:根据任务间的数据依赖关系将所述调度阶段内的任务划分为设定数目的任务组;
步骤103:根据所述调度阶段的任务数量和任务预计完成时间量确定所述调度阶段的截止时间;
步骤104:根据所述调度阶段的截止时间设定每个所述任务组的截止时间;
步骤105:利用键能算法变换将所述任务构建成任务多层聚类树结构;
步骤106:利用键能算法变换和基本二叉多层划分将所述调度资源构建为云资源多层树结构;
步骤107:根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作;
步骤108:判定阶段内完成所述映射后的运行操作的所述任务数量是否超过设定阈值;
步骤109:将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间。
本发明上述方法融入动态调度和静态调度的双重优点,针对数据密集型科学工作流,设计基于阶段调度的混合型任务调度策略,既弥补了动态调度下的短视性问题,又能充分利用运行时的当前状态减少静态调度下执行时间难以预估的影响。
图2为本发明实施例任务多层聚类树结构与云资源多层树结构映射方法流程图。参加图2,根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作具体包括:
步骤201:将所述任务多层聚类树结构中的当前层的子树的节点第一次映射到所述云资源多层树结构的当前层的叶子节点;
步骤202:判断所述第一次映射是否成功,;
步骤203:修改相应资源的剩余计算资源量和存储资源量;
步骤204:将当前层的下一层的子树的节点映射到所述云资源多层树结构的当前层的上一层节点;
步骤205:判断是否完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射;
步骤206:停止映射并开始所述任务多层聚类树结构中的下一子树的映射;
如果没完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射,则继续进行当前子树的映射操作。
图3为本发明实施例云平台宽节点科学工作流的混合型调度系统结构图。参见图3,一种云平台宽节点科学工作流的混合型调度系统,包括:
工作流阶段划分模块301,用于按照工作流有向无环图中任务节点的深度将工作流划分为设定个数的调度阶段;
任务划分模块302,用于根据任务间的数据依赖关系将所述调度阶段内的任务划分为设定数目的任务组;
阶段截止时间设定模块303,用于根据所述调度阶段的任务数量和任务预计完成时间量确定所述调度阶段的映射截止时间;阶段截止时间设定模块具体包括:
第一求和单元,用于对每个所述调度阶段的任务数量和任务总工作量两方面因素执行加权求和得到第一求和结果;
执行时限分配单元,用于按照所述第一求和结果结合对应的所述调度阶段的所述任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间
任务截止时间设定模块304,用于根据所述调度阶段的映射截止时间设定每个所述任务组的映射截止时间;
任务多层聚类树结构构建模块305,用于利用键能算法变换将所述任务构建成任务多层聚类树结构;
云资源多层树结构构建模块306,用于利用键能算法变换和基本二叉多层划分将所述调度资源构建为云资源多层树结构;
映射模块307,用于根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作;映射模块具体包括:
第一次映射单元,用于将所述任务多层聚类树结构中的当前层的子树的节点第一次映射到所述云资源多层树结构的当前层的叶子节点;
第一次映射完成情况判断单元,用于判断所述第一次映射是否成功,若是,则修改相应资源的剩余计算资源量和存储资源量;
第二次映射单元,用于将当前层的下一层的子树的节点映射到所述云资源多层树结构的当前层的上一层节点;
映射完成判断单元,用于判断是否完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射;
循环迭代单元,用于如果完成了当前层的子树的映射,则停止映射并开始所述任务多层聚类树结构中的下一子树的映射
执行完成情况模块308,用于判定阶段内完成所述映射后的运行操作的所述任务数量是否超过设定阈值;
循环迭代模块309,用于则将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间。
采用本宽节点科学工作流的云调度系统实现了由粗到细的多层动态截止时间分解方法,将全部截止时间分解计算融入划分、调度的各个阶段,既保证工作流截止时间分解的全局均衡性,又提高了算法对运行时变化的自适应能力,为实现调度的全局低截止时间违约率和高资源利用率奠定了基础。
图4为本发明实施例混合型调度方法的原理图。参见图4,本发明设计一种适合于数据密集型宽节点科学工作流的兼具静态调度、动态调度的混合型调度算法。对于整体多工作流任务,根据其各个子任务在工作流DAG图(有向无环图)中所处深度,划分为多个调度阶段,整体采用分阶段动态调度策略,每个阶段调度开始前,会纳入上一阶段滞后的子任务,修改本阶段截止时间分配,并根据当前计算资源状态动态制定适合于当前系统运行状况的调度策略。而对于每一个调度阶段内部的所有子任务,则采用具有全局统筹优化能力的静态调度策略,以减少数据密集型任务的跨节点数据通信量,并实现资源利用率的优化。当一阶段的任务完成率达到一定阈值后,将滞后任务并入下一阶段,获取当前系统的状态参数,开启下一阶段的调度策略计算。
在上述阶段调度算法的设计中,首先通过任务聚类,提高调度基本单位的粒度,减少任务资源映射算法的复杂度。考虑到数据密集型应用中制约性能提升的最主要瓶颈在于数据通信,因此根据任务间的数据依赖关系执行任务聚类,保证类内任务的高数据依赖,类间的低数据依赖,通过同组任务的统一分配减少跨节点、跨数据中心的频繁数据通信。
图5为本发明实施例整体处理流程图。参见图5,本发明采用基于数据传输量、传输频率双重因素的BEA变换的方式实现子任务划分,在此基础上采用融合了静态、动态双重方式的阶段性混合型调度模式,同时实现了由粗到细的多层动态截止时间分解方法,以全面适应数据密集型宽节点科学工作流的云环境调度需求。其实现具体步骤如下:
(1)对于每个调度阶段的所有子任务集合,本发明采用基于BEA变换的传输频率和传输数据量统筹度量的任务聚类方法。传输时间成本往往与传输数据量与传输次数相关,这是因为,决定传输时间的网络因素包含网络延迟和网络带宽,每一次传输,即使数据量很小,也要占用网络启动时间,因此大量的小数据集的频繁传输要比同等大小总额的大文件的一次传输耗时的多。当前一些任务聚类方法,在度量任务间的数据依赖关系时,或只考虑了数据集大小或只考虑了数据集传输次数,都存在度量不全面的问题。本发明在建立任务间数据关联度矩阵时,统筹传输数据量与传输次数两方面因素,任务ti和tj间的具体数据关联度(datarelevancydegree)算法表示为:
dri,j=α·dataTransSizei,j+β·dataTransTimei,j (1)
其中,dri,j为所述关联度;dataTransSizei,j为任务ti、任务tj间共同需要的数据集大小总和与任务ti、任务tj在直接前驱关系中的数据传输大小总和之和;dataTransTimei,j为任务ti、任务tj共同需要的数据集的数量总和与任务ti、任务tj在直接前驱关系中的数据传输次数总和之和;α和β为线性加权的两个权值参数,根据实际网络情况测定而来。
基于上述任务间数据传输代价可以构造出数据关联度矩阵:
然后对关联度矩阵R执行BEA(BondEnergyAlgorithm)变换得到变换关联矩阵R′,即通过行列的移位使相似的dr值可以聚合在一起,以便于将他们划分成一个个具有内部高关联度的子集。本发明的变换关联矩阵R′的划分方法在设计上既要考虑划分两部分任务集合的均衡性,又要尽量增加类内的高关联,类间的低关联,因此提出了一种基于关联破坏度密度的划分点选择目标函数,具体为:采用分层递归划分策略,每次对上层集合执行二分,二分划分位置p的选取方法为:
其中,argmax代表使后面中括号中的式子取值最大时的p值,p是二分划分位置,n是矩阵的维数,代表类内关联保持度的度量,代表类间关联破坏度的度量,传统上一般采取类内关联保持度减去类间关联破坏度的目标函数,但这种方法对破坏度的影响因素考虑不足,导致划分结果过于趋向于中间点。如果直接采用类内关联保持度与类间关联破坏度的比值为目标函数,则因为从边缘划分时,类间关联破坏度计算时的项数较少,最终比值结果比从中间划分时的比值趋向更大,经过试验测定,这种方法会导致划分点趋向于边缘,导致层次划分的明显不均衡。因此,为了消除类间关联破坏度个数的影响,本发明在类间关联破坏度的度量上采用平均密度的方式,即在传统类间关联破坏度的基础上除以破坏度项数,从而即给予了类间破坏度因素足够的考虑,又保留了均衡划分的适度趋向。
通过基于BEA变换的多层划分实现了原任务集合的层次聚类,且以传输频率和传输数据量双因素的统筹度量为依据,可以更有效地减少数据传输代价。而数据的传输时间代价除了这两方面因素外,还与广域网云环境下的节点间的具体带宽相关,这部分因素将在下面的云环境建模和资源映射算法中考虑,从而有效地提高网络带宽的利用率,进一步优化传输时间代价。
(2)上面步骤可以尽可能地减少数据传输量,而本发明设计的任务到云计算资源的映射方法则可以尽可能地提高广域异构云环境下的网络带宽的利用率,即使数据关联度高的任务尽可能地分配于同一地点,如果条件不允许(计算资源不足或存储空间不足)则尽可能地分配于高带宽网络连接的节点上。本发明对基于广域网的复杂云环境执行基于网络带宽的层次聚类操作。可以测定整个云平台任意两物理节点间的带宽bij,从而构成网络带宽方阵B。然后对B执行BEA变换和基本二叉多层划分,从而将整个云环境模型建模成多层二叉树形式。二叉树中每个节点会记录当前可用的剩余计算资源量参数和存储空间参数。
(3)基于步骤(1)建立的任务多层聚类结构和步骤(2)建立的云资源多层树形结构,本发明面向数据密集型应用的最主要性能瓶颈——数据传输耗时,设计基于贪心规则的“任务-资源”映射算法。本发明提出了一种基于“任务树到资源树”的基于贪心规则的资源映射方法,尽可能地提高网络带宽的利用率,减少数据传输耗时,并在此基础上优化能源消耗。贪心策略包括:①、在计算资源、存储资源可以满足任务执行时限要求的条件下,尽可能地将任务树形结构中较上层的规模较大的子树整体映射到一个物理节点,即资源树中的某个底层叶子节点,以尽可能减少节点间数据通信,并提高资源利用率,节约电能消耗。如果映射成功,则修改相应资源的剩余计算资源量和存储资源量;②、当某棵子树找不到满足整体映射要求的资源时,则按照步骤(1)建立的树形模型选取当前子树的下一层左右子树,并设法将下一层两棵子树设法映射为所有叶子节点的上一层结构,即映射中对资源树采取自底向上的试探策略,对任务树采取自顶向下的策略。③、如果仍无法完成任务,则继续向上试探更高层、规模更大的资源子树,直到完成所有任务映射。
(4)在步骤(3)进行任务到资源的映射算法中,要检验资源是否可以满足任务组的存储空间和执行时间要求,其中执行时间要求的检测需要将整个工作流的截止时间要求分解到各个子任务。为了实现阶段动态调度算法中的子任务工作流的动态调整,本发明设计一种动态多层工作流执行时限划分方法,如图3所示。该算法在阶段划分、子工作流多层划分(任务聚类)中,将工作流的整体执行时间限制尽可能均衡地分配到各个阶段和阶段内的各层子任务组中。具体方法为:在调度执行前的初始化阶段,对工作流整体进行阶段划分,然后对每个阶段的任务数量和任务总工作量两方面因素执行加权求和,并按照此结果按比例分配执行时限,此为各阶段的初始执行时限;进入执行期后,对步骤(1)生成的各个聚类任务组同样按照任务数量和任务总工作量两方面因素按比例分配任务组执行时限,然后当对阶段内任务完成了步骤(3)的任务到资源的映射后,为映射中形成的子任务组执行同样的执行时限分配;之后,根据局部能效评估函数再调整子任务组的资源映射方案和子任务组的执行时限,以在满足执行时限的要求下尽可能提高能源效率;在阶段任务执行到后期时,当阶段内任务完成率达到一定阈值后,将某些资源上仍处于排队状态、执行落后的任务重新归入下一阶段,并根据本阶段当前的实际耗时修改后续阶段的执行时限初始分配值,实现动态执行时限分解。
宽节点科学工作流的云调度策略针对数据密集型应用最为耗时的节点间数据通信问题,研究基于多因素统筹度量的任务关联度聚类方法,融合了传输频次和传输量双因素,并面向大数据应用中批量独立任务的存在,设计间接数据关联度计算方法,以更准确度量任务间的数据依赖。并通过网络拓扑树和资源多维分类树的建模以及基于树形结构的最优资源映射搜索算法的设计,进一步实现广域异构云平台下网络资源和计算资源综合利用率的提升。
本发明面向广域异构云环境,实现时间成本和能源成本的双重优化,该类型科学工作流是大数据时代背景下常见的新型工作流建模形式,具有广泛的适用性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种云平台宽节点科学工作流的混合型调度方法,其特征在于,包括:
按照工作流有向无环图中任务节点的深度将工作流划分为设定个数的调度阶段;
根据任务间的数据依赖关系将所述调度阶段内的任务划分为设定数目的任务组;每个所述任务组均由多个任务组成;
根据所述调度阶段的任务数量和任务预计完成时间量确定所述调度阶段的截止时间;
根据所述调度阶段的截止时间设定每个所述任务组的截止时间;
利用键能算法变换将所述任务构建成任务多层聚类树结构;
所述利用键能算法变换将所述任务构建成任务多层聚类树结构具体包括:
统筹传输数据量与传输次数两方面因素,建立任务间数据的关联度矩阵;
对所述关联度矩阵执行键能算法变换,得到高关联度数据会聚成团的变换关联度矩阵;
对所述变换关联度矩阵采用分层递归划分策略进行划分,构建任务多层聚类树结构;
利用键能算法变换和基本二叉多层划分将调度资源构建为云资源多层树结构;
所述利用键能算法变换和基本二叉多层划分将调度资源构建为云资源多层树结构,具体包括:
利用云平台任意两个物理节点间的带宽构建网络带宽方阵;
对所述网络带宽方阵进行键能算法变换和基本二叉多层划分构建得到云资源多层树结构;
根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作;
判定阶段内完成所述映射后的运行操作的所述任务数量是否超过设定阈值;
若是,则将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间;
否则继续进行所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作。
2.根据权利要求1所述的混合型调度方法,其特征在于,所述根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树与所述云资源多层树结构中的节点进行映射操作具体包括:
将所述任务多层聚类树结构中的当前层的子树的节点第一次映射到所述云资源多层树结构的当前层的叶子节点;
判断所述第一次映射是否成功;
若是,则修改相应资源的剩余计算资源量和存储资源量;
否则,将当前层的下一层的子树的节点映射到所述云资源多层树结构的当前层的上一层节点;
判断是否完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射;
如果是,则停止映射并开始所述任务多层聚类树结构中的下一子树的映射;
如果否,则继续进行当前子树的映射操作。
3.根据权利要求1所述的混合型调度方法,其特征在于,所述统筹传输数据量与传输次数两方面因素,建立任务间数据的关联度矩阵具体包括:
根据公式dri,j=α·dataTransSizei,j+β·dataTransTimei,j建立任务数据的关联度;dri,j为所述关联度;dataTransSizei,j为任务ti、任务tj间共同需要的数据集大小总和与任务ti、任务tj在直接前驱关系中的数据传输大小总和之和;dataTransTimei,j为任务ti、任务tj共同需要的数据集的数量总和与任务ti、任务tj在直接前驱关系中的数据传输次数总和之和;α和β为线性加权的两个权值参数。
4.根据权利要求1所述的混合型调度方法,其特征在于,所述根据每个所述调度阶段的任务数量和任务总工作量设定所有所述调度阶段的截止时间具体包括:
对每个所述调度阶段的任务数量和任务总工作量两方面因素执行加权求和得到第一求和结果;
按照所述第一求和结果结合对应的所述调度阶段的所述任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间。
5.根据权利要求1所述的混合型调度方法,其特征在于,所述将未映射完成的任务归至下一个所述调度阶段,重新分配所述任务的截止时间具体包括:
将归至下一个所述调度阶段的所述任务的截止时间与所述下一个调度阶段的截止时间执行加权求和得到第二求和结果;
按照所述第二求和结果结合所述下一个调度阶段的任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间。
6.一种云平台宽节点科学工作流的混合型调度系统,其特征在于,包括:
工作流阶段划分模块,用于按照工作流有向无环图中任务节点的深度将工作流划分为设定个数的调度阶段;
任务划分模块,用于根据任务间的数据依赖关系将所述调度阶段内的任务划分为设定数目的任务组;每个所述任务组均由多个任务组成;
阶段截止时间设定模块,用于根据所述调度阶段的任务数量和任务预计完成时间量确定所述调度阶段的映射截止时间;
任务截止时间设定模块,用于根据所述调度阶段的截止时间设定每个所述任务组的截止时间;
任务多层聚类树结构构建模块,用于利用键能算法变换将所述任务构建成任务多层聚类树结构;
所述任务多层聚类树结构构建模块具体包括:
关联度矩阵构建单元,用于统筹传输数据量与传输次数两方面因素,建立任务间数据的关联度矩阵;
矩阵变换单元,用于对所述关联度矩阵执行键能算法变换,得到高关联度数据会聚成团的变换关联度矩阵;
树结构构建单元,用于对所述变换关联度矩阵采用分层递归划分策略进行划分,构建任务多层聚类树结构;
云资源多层树结构构建模块,用于利用键能算法变换和基本二叉多层划分将调度资源构建为云资源多层树结构;
所述云资源多层树结构构建模块,具体用于利用云平台任意两个物理节点间的带宽构建网络带宽方阵;对所述网络带宽方阵进行键能算法变换和基本二叉多层划分构建得到云资源多层树结构;
映射模块,用于根据所述任务组的运行截止时间和所述调度资源的各维资源信息将所述任务多层聚类树结构中的任务子树的节点与所述云资源多层树结构中的节点进行映射操作;
执行完成情况模块,用于判定阶段内完成所述映射后的运行操作的所述任务数量是否超过设定阈值;
循环迭代模块,用于则将未映射完成的任务归至下一个所述调度阶段,重新分配剩余任务的截止时间。
7.根据权利要求6所述的混合型调度系统,其特征在于,所述映射模块具体包括:
第一次映射单元,用于将所述任务多层聚类树结构中的当前层的子树的节点第一次映射到所述云资源多层树结构的当前层的叶子节点;
第一次映射完成情况判断单元,用于判断所述第一次映射是否成功,若是,则修改相应资源的剩余计算资源量和存储资源量;
第二次映射单元,用于将当前层的下一层的子树的节点映射到所述云资源多层树结构的当前层的上一层节点;
执行完成判断单元,用于判断是否完成所述任务多层聚类树结构中的当前层的子树与所述云资源多层树结构之间的映射;
循环迭代单元,用于如果完成了当前层的子树的映射,则停止映射并开始所述任务多层聚类树结构中的下一子树的映射。
8.根据权利要求6所述的混合型调度系统,其特征在于,所述阶段截止时间设定模块具体包括:
第一求和单元,用于对每个所述调度阶段的任务数量和任务总工作量两方面因素执行加权求和得到第一求和结果;
执行时限分配单元,用于按照所述第一求和结果结合对应的所述调度阶段的所述任务按设定比例分配执行时限,所述执行时限则为所述调度阶段的截止时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711364950.2A CN108108245B (zh) | 2017-12-18 | 2017-12-18 | 一种云平台宽节点科学工作流的混合型调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711364950.2A CN108108245B (zh) | 2017-12-18 | 2017-12-18 | 一种云平台宽节点科学工作流的混合型调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108245A CN108108245A (zh) | 2018-06-01 |
CN108108245B true CN108108245B (zh) | 2020-11-20 |
Family
ID=62209854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711364950.2A Active CN108108245B (zh) | 2017-12-18 | 2017-12-18 | 一种云平台宽节点科学工作流的混合型调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108245B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101308B (zh) * | 2018-07-20 | 2021-12-03 | 广州农村商业银行股份有限公司 | 一种任务传递及跟踪显示方法及装置 |
CN109298940B (zh) * | 2018-09-28 | 2019-12-31 | 考拉征信服务有限公司 | 计算任务分配方法、装置、电子设备及计算机存储介质 |
CN110084507B (zh) * | 2019-04-24 | 2021-07-20 | 信雅达科技股份有限公司 | 云计算环境下分级感知的科学工作流调度优化方法 |
CN110247859B (zh) * | 2019-06-17 | 2022-04-19 | 哈工大机器人(合肥)国际创新研究院 | 一种基于airt-ros节点的数据发送方法及装置 |
CN110489214B (zh) * | 2019-06-19 | 2022-09-20 | 南京邮电大学 | 云环境中数据密集型工作流的动态任务分配 |
CN112363819B (zh) * | 2020-12-02 | 2024-08-09 | 深圳市房多多网络科技有限公司 | 大数据任务动态编排调度方法、装置及计算设备 |
CN113869682A (zh) * | 2021-09-17 | 2021-12-31 | 华南师范大学 | 一种基于层次聚类的环卫垃圾清运调度方法、装置及介质 |
CN113722079B (zh) * | 2021-11-03 | 2022-03-11 | 北京云歌科技有限责任公司 | 基于目标应用的任务调度分配方法、装置、设备及介质 |
CN114462900B (zh) * | 2022-04-13 | 2022-07-29 | 云智慧(北京)科技有限公司 | 一种业务活动节点的拆分方法、装置及设备 |
CN118193175B (zh) * | 2024-05-17 | 2024-07-26 | 江西锦路科技开发有限公司 | 一种面向云际计算的异构工作流任务协同资源调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035819A (zh) * | 2014-06-27 | 2014-09-10 | 清华大学深圳研究生院 | 科学工作流调度处理方法及装置 |
CN105260818A (zh) * | 2015-09-17 | 2016-01-20 | 福州大学 | 混合云环境下带截止日期约束工作流组的在线优化调度方法 |
CN106056294A (zh) * | 2016-06-06 | 2016-10-26 | 四川大学 | 一种基于任务概率聚簇和多约束工作流划分的混合云科学工作流调度策略 |
CN106155791A (zh) * | 2016-06-30 | 2016-11-23 | 电子科技大学 | 一种分布式环境下的工作流任务调度方法 |
CN106775932A (zh) * | 2016-11-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种云计算系统中随机事件触发的实时工作流调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316367B2 (en) * | 2009-01-14 | 2012-11-20 | Alcatel Lucent | System and method for optimizing batch resource allocation |
-
2017
- 2017-12-18 CN CN201711364950.2A patent/CN108108245B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035819A (zh) * | 2014-06-27 | 2014-09-10 | 清华大学深圳研究生院 | 科学工作流调度处理方法及装置 |
CN105260818A (zh) * | 2015-09-17 | 2016-01-20 | 福州大学 | 混合云环境下带截止日期约束工作流组的在线优化调度方法 |
CN106056294A (zh) * | 2016-06-06 | 2016-10-26 | 四川大学 | 一种基于任务概率聚簇和多约束工作流划分的混合云科学工作流调度策略 |
CN106155791A (zh) * | 2016-06-30 | 2016-11-23 | 电子科技大学 | 一种分布式环境下的工作流任务调度方法 |
CN106775932A (zh) * | 2016-11-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种云计算系统中随机事件触发的实时工作流调度方法 |
Non-Patent Citations (2)
Title |
---|
云环境下基于多目标的多科学工作流调度算法;袁友伟 等;《软件学报》;20171206;第18卷(第11期);全文 * |
云环境中基于混合多目标粒子群的科学工作流调度算法;杜艳明 等;《计算机科学》;20170831;第44卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108108245A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108245B (zh) | 一种云平台宽节点科学工作流的混合型调度方法及系统 | |
Zhu et al. | Task scheduling for multi-cloud computing subject to security and reliability constraints | |
Lin et al. | Ant colony algorithm for multi-objective optimization of container-based microservice scheduling in cloud | |
CN105159762B (zh) | 基于贪心策略的启发式云计算任务调度方法 | |
Zheng et al. | Hierarchical load balancing for charm++ applications on large supercomputers | |
Zhao et al. | A new energy-aware task scheduling method for data-intensive applications in the cloud | |
Jeannot et al. | Near-optimal placement of MPI processes on hierarchical NUMA architectures | |
US20070143759A1 (en) | Scheduling and partitioning tasks via architecture-aware feedback information | |
CN109388486B (zh) | 一种针对异构内存与多类型应用混合部署场景的数据放置与迁移方法 | |
Casanova et al. | On cluster resource allocation for multiple parallel task graphs | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN102339233A (zh) | 云计算集中管理平台 | |
Yu et al. | Cloud task scheduling algorithm based on three queues and dynamic priority | |
Muhammad et al. | A3-Storm: topology-, traffic-, and resource-aware storm scheduler for heterogeneous clusters | |
CN113255165A (zh) | 一种基于动态任务分配的实验方案并行推演系统 | |
Muhammad et al. | TOP-Storm: A topology-based resource-aware scheduler for Stream Processing Engine | |
CN107070965B (zh) | 一种虚拟化容器资源下的多工作流资源供给方法 | |
CN110084507B (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
Jiang et al. | A cloud-agnostic framework to enable cost-aware scheduling of applications in a multi-cloud environment | |
CN101127700A (zh) | 基于网络带宽和用户费用下的网格资源调度方法 | |
CN105426247A (zh) | 一种hla联邦成员规划调度方法 | |
Zhang et al. | Performance-aware energy-efficient virtual machine placement in cloud data center | |
Chang et al. | Energy efficient virtual machine consolidation in cloud datacenters | |
Wang et al. | Maximize throughput scheduling and cost-fairness optimization for multiple dags with deadline constraint |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: No.9, 13th Street, economic and Technological Development Zone, Binhai New Area, Tianjin Patentee after: Tianjin University of Science and Technology Address before: No.1038 Dagu South Road, Hexi District, Tianjin 300202 Patentee before: Tianjin University of Science and Technology |
|
CP02 | Change in the address of a patent holder |