CN117290102A - 跨域异构资源的调度方法及装置 - Google Patents

跨域异构资源的调度方法及装置 Download PDF

Info

Publication number
CN117290102A
CN117290102A CN202311261301.5A CN202311261301A CN117290102A CN 117290102 A CN117290102 A CN 117290102A CN 202311261301 A CN202311261301 A CN 202311261301A CN 117290102 A CN117290102 A CN 117290102A
Authority
CN
China
Prior art keywords
node
task
computing
nodes
resource
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.)
Pending
Application number
CN202311261301.5A
Other languages
English (en)
Inventor
王宇鹏
吴学凇
曹建文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202311261301.5A priority Critical patent/CN117290102A/zh
Publication of CN117290102A publication Critical patent/CN117290102A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种跨域异构资源的调度方法及装置,所述方法包括:构建目标任务的任务有向图;初始化一任务节点池;获取任务节点P0,在跨域异构计算资源调度集群中选定执行任务节点P0的计算节点Q0后,对计算节点Q0的节点指标进行更新,并将计算节点Q0加入任务节点池;针对执行任务节点Pj的计算节点Qi,基于任务节点池构建一节点拓扑图;结合计算节点Qi的节点拓扑图,选定执行任务节点Pj+1的计算节点Qi+1后,对该计算节点Qi+1的节点指标进行更新,并将该计算节点Qi+1加入任务节点池。本发明实现了更快的仿真速度,更高的资源利用率,以及更优化的工作负载分布。

Description

跨域异构资源的调度方法及装置
技术领域
本公开涉及仿真技术领域,尤其涉及一种跨域异构资源的调度方法及装置。
背景技术
计算机辅助工程(CAE)是一种利用计算机软件进行工程分析的核心工具。它在处理如盾构和高铁行业中的大规模、复杂设计问题方面,尤其在模拟和分析环节,发挥着至关重要的作用。这类问题属于计算密集任务,因此需要对跨地域的异构计算资源进行精细调度。而传统的资源调度解决方案面对CAE模拟仿真任务时主要存在的问题包括:低灵活性、文件同步延迟、并行效率不高以及缺乏跨域和异构资源的优化等。因此需要有针对CAE领域的有效调度方法进行跨域异构资源调度,以优化资源利用,减少仿真时间。
CAE仿真或科学计算领域通常涉及大量的计算资源,尤其在处理复杂物理现象的仿真中。这些领域需要调度的任务通常都是耗时较长、需要异构架构的任务,与一般性的批处理任务有显著不同。传统的资源调度方法可能无法有效地处理这些大规模和计算密集型的任务,特别是在CAE工业仿真等领域。原因在于,传统的方法通常不支持动态切换跨域节点,在资源突然变得不可用或计算需求发生变化时无法找到匹配的计算节点。CAE仿真任务通常有复杂的依赖关系,这需要更智能的任务调度算法来解决。传统的调度方法往往没有足够的复杂性来解决这样的问题。由于CAE任务可能涉及跨地域的数据传输,网络带宽和延迟成为瓶颈。传统方法通常没有对这些因素进行优化。
市面上大多数任务调度软件或方法都是针对一般性批处理任务设计的,因此,现有的资源调度方法可能无法满足CAE领域,特别是盾构和高铁行业建设中的CAE仿真需求。该方法能够跨域调度异构资源,以满足大规模和计算密集型的CAE仿真任务的需求。在CAE领域,对异构资源的调度面临着重大挑战。这些挑战涵盖了多个方面,包括如何针对CAE任务复杂的依赖关系进行调度优化,如何减少传输CAE仿真计算中产生的庞大文件,如何精确优化资源分配以减少整体计算时间,以及如何在不断变化和高度动态的资源环境中确保工作负载的高效运行。
发明内容
为了解决目前的资源调度方法无法满足大规模和计算密集型的CAE仿真任务需求的问题,本发明公开了一种跨域异构资源的调度方法及装置,该方法通过启发式资源调度策略,更有效地管理和分配异构资源,以满足CAE仿真的需求。这种方法能够跨越不同的领域进行资源调度,包括不同的地理位置和组织边界,以及不同类型和规格的资源。本方案能够优化资源分配,缩减计算耗时,妥善处理关联任务中的大文件同步问题并易于实现,能够在不断变化的资源环境中确保工作负载调度的高效和稳定运行。
本发明的技术方案,包括:
一种跨域异构资源的调度方法,应用于一调度服务器,所述方法包括:
构建目标任务的任务有向图,所述任务有向图中的每个任务节点代表所述目标任务的一子任务,所述任务节点之间的有向边代表所述子任务之间的依赖关系;
初始化一任务节点池;
获取任务节点P0,在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0后,对计算节点Q0的节点指标进行更新,并将所述计算节点Q0加入所述任务节点池;其中,所述任务节点P0是所述任务有向图中没有父级依赖的任务节点;
针对执行任务节点Pj的计算节点Qi,基于所述任务节点池构建一节点拓扑图,i、j为自然数;
结合所述计算节点Qi的节点拓扑图,选定执行所述任务节点Pj+1的计算节点Qi+1后,对该计算节点Qi+1的节点指标进行更新,并将该计算节点Qi+1加入所述任务节点池;其中,所述任务节点Pj+1是所述任务节点Pj的一子节点。
进一步地,所述在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0,包括:
获取执行任务节点P0的资源需求;
在跨域异构计算资源调度集群中筛选出满足执行任务节点P0的资源需求的计算节点;
针对筛选出的计算节点,获取节点指标;
通过加权各项节点指标,对每一筛选出的计算节点进行综合权重评分;
选择权重评分最高的节点作为计算节点Q0
进一步地,所述节点指标包括:CPU核数、GPU资源、内存容量、磁盘空间和网络通信性能。
进一步地,所述节点拓扑图中的节点包括:任务节点池中的计算节点及其n邻域内所有可达的计算节点、以及计算节点Qu与计算节点Qv间所有的中间跨域节点,其中,u、v为自然数,u<i,v<i,计算节点Qu与计算节点Qv不属于同一个网络域且都在所述任务节点池中。
进一步地,所述节点拓扑图中边的权重其中,Wlatency为网络延时权重,Wbandwidth为带宽权重,Wgeo为地理权重,α和β为权重调整系数。
进一步地,结合所述计算节点Qi的节点拓扑图,选定执行所述任务节点Pj+1的计算节点Qi+1,包括:
获取计算节点Qi更新后的节点指标;
在更新后的节点指标满足执行任务节点Pj+1的资源需求的情况下,将任务节点Pj+1相应的任务分配到计算节点Qi
在更新后的节点指标不满足执行任务节点Pj+1的资源需求的情况下,基于所述节点拓扑图中边的权重W,选择一个节点指标满足执行任务节点Pj+1的资源需求的计算节点;
其中,在所有计算节点的节点指标都不满足执行任务节点Pj+1的资源需求的情况下,返回至所述获取任务节点P0,在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0;以及,
在尝试所有计算节点Q0之后,所述跨域异构计算资源调度集群都无法完成所述目标任务,则将目标任务设置为等待状态,直至存在一计算节点Q0并使所述跨域异构计算资源调度集群能够完成目标任务。
进一步地,所述方法还包括:
定时接收每一计算节点的剩余资源信息和网络延迟情况,其中,所述剩余资源信息包括:CPU、GPU和内存。
进一步地,所述方法还包括:
基于所述网络延迟情况,计算计算节点间的通信效率和速度。
进一步地,所述方法还包括:
在一新计算节点上线时,接收该新计算节点的节点指标;其中,新计算节点的节点指标包括:地理信息、所处域以及该新计算节点与其他计算节点的带宽信息。
一种跨域异构资源的调度装置,所述装置包括:
有向图构建模块,用于构建目标任务的任务有向图,所述任务有向图中的每个任务节点代表所述目标任务的一子任务,所述任务节点之间的有向边代表所述子任务之间的依赖关系;
初始化模块,用于初始化一任务节点池;
初始节点生成模块,用于获取任务节点P0,在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0后,对计算节点Q0的节点指标进行更新,并将所述计算节点Q0加入所述任务节点池;其中,所述任务节点P0是所述任务有向图中没有父级依赖的任务节点;
拓扑图构建模块,用于针对执行任务节点Pj的计算节点Qi,基于所述任务节点池构建一节点拓扑图,i、j为自然数;
任务调度模块,用于结合所述计算节点Qi的节点拓扑图,选定执行所述任务节点Pj+1的计算节点Qi+1后,对该计算节点Qi+1的节点指标进行更新,并将该计算节点Qi+1加入所述任务节点池;其中,所述任务节点Pj+1是所述任务节点Pj的一子节点。
本公开实施例提供的技术方案至少包括以下有益效果:
本发明提供了一种用于CAE领域的跨域异构资源调度方法,通过启发式资源分配和优化的任务调度策略。本发明的关键点在于基于跨域异构资源调度的方法设计,给出了工业仿真领域的计算任务调度方法,它的优点在于:
通过启发式资源分配策略,能够将任务尽可能地安排在资源充足、地理位置近且网络通信快速的计算节点上执行,从而提高资源的利用率和任务执行效率;通过对计算节点的实时信息获取和更新,能够及时了解节点的当前状态和性能,实现精确的资源管理和调度决策;可以适应不同类型和规格的资源,如CPU、GPU、内存等,从而提供更加灵活和多样化的资源调度能力;具备自动跨域节点调度功能,从而克服了传统调度软件在处理异构和地理分布式资源方面的局限。这使得本发明特别适用于计算密集型和跨域的计算机辅助工程(CAE)任务。
本发明针对CAE建模与仿真领域计算任务特点,通过优化任务调度、选择上次任务节点或与该节点网络传输速率较快的节点进行计算,减少输出文件的生成时间,提高任务的响应速度。自动跨域节点调度保证具有特别资源需求的任务能够被集群中计算节点运行。同时,由于任务节点选择的优化,节点之间的网络传输速率更快,方便了大文件的共享和传输,进一步提升了资源利用效率和协同工作的便捷性。
附图说明
图1跨域异构计算资源调度架构图。
图2工作流有向图遍历。
图3任务相关节点拓扑图模型。
图4基于拓扑结构图的启发式资源调度流程。
图5本发明一实施例中的尾盾结构分析任务有向图。
图6初始化任务相关节点拓扑图。
图7任务相关节点拓扑图更新。
具体实施方式
下面将结合附图详细地对示例性实施例进行描述说明。
本发明旨在显著提升CAE全链路建模与仿真时,对于大规模和计算密集型计算任务的调度效率,从而实现更快的仿真速度,更高的资源利用率,以及更优化的工作负载分布。
本发明提供的方法包括如下步骤:
1.利用集群中计算节点的代理服务,实现跨域异构计算资源信息的实时获取和更新机制,以实现对跨域异构计算资源的精确和及时的调度。
跨域异构计算资源调度集群由3个部分组成部分,如图1所示,包括计算节点、代理服务和调度服务器。
计算节点是分布在不同地理位置的计算机或服务器,它们作为计算资源的提供者参与调度,承担CAE计算任务的具体执行工作。
代理服务是部署在每个计算节点上的服务软件,它负责与调度服务器进行通信,并向其提供计算节点的状态和剩余计算资源信息。通过代理服务,调度服务器能够实时获取和更新计算节点的当前情况。
调度服务器是跨域异构计算资源调度的中央控制节点。它接收来自代理服务的信息,汇总和分析计算节点的状态和计算资源数据,并基于这些数据做出调度决策。为确保在不同调度服务器实例之间的信息共享和状态一致,所有调度服务器实例的数据均通过分布式存储中间件进行持久化和同步。通过计算节点的代理服务向调度服务器发送实时信息,跨域异构计算资源的调度可以实现准确和及时的资源管理,从而提高资源利用效率和任务执行效果。
通过跨域异构计算资源的实时获取和更新机制,各个调度服务器实例能够获取的计算资源信息包括CPU、GPU、内存、网络带宽、计算节点类型、计算节点地理属性等信息。通过跨域异构计算资源的实时获取和更新机制具体包含以下三部分:
1)剩余资源的消息同步:计算节点定时(例如每10秒)向调度服务器发送当前节点的剩余资源信息(CPU、GPU、内存)和网络延迟情况。
2)区域内网络延迟的测量:计算节点间定期相互发送网络包以测量网络延迟,用于判断通信效率和速度。
3)新节点上线的信息同步:新计算节点上线时,需发送地理信息和所处域,并与其他节点的带宽信息进行检测。
通过以上信息的汇总和更新,调度服务器能够实时了解每个计算节点的当前状态和性能。这种实时的信息获取和更新机制为资源管理和调度提供了更加精确和有效的基础。调度服务器可以根据这些信息,优化任务的分配和调度策略,将任务安排在资源充足、地理位置近、网络通信快速的计算节点上,以实现更高效的资源利用和任务执行。
2.任务有向图(DAG)初始化。对于CAE仿真任务,首先构建一个任务有向图,其中每个节点代表一个子任务,有向边则标识任务间的依赖关系。遍历过程从DAG的首个节点开始执行,并逐步展开到其子节点。
任务调度的流程如下:
1)启动任务有向图(DAG)遍历,针对DAG中的起始节点进行计算调度。
2)当前节点的任务完成执行,即时分析该节点的子节点,识别出所有因父节点任务完成而满足依赖条件的待执行任务。
3)若有多个子任务同时满足依赖条件,将其并行分配到合适的计算资源上进行处理。
这个遍历过程不仅明确了任务之间的依赖结构,还为接下来的资源分配和调度策略提供了关键的决策依据。
工作流有向图如图2所示:
CAE仿真主要包括四个核心步骤:几何建模、网格划分、协同仿真和后处理。这四个步骤需按照既定的顺序依次执行,形成一个基础的线性工作流。同时,在这个大框架内,每个核心步骤还可进一步细分为多个子任务。例如,在协同仿真步骤中,子任务可能包括受力约束设置、物理材料参数配置以及线性方程组的求解。
通过分解子任务的形式将完整的CAE任务构建成一个任务有向图(DAG),其中每一个节点代表一个具体的子任务,而节点之间的有向边则代表任务之间的依赖关系。基于这个有向图,每个任务会根据其在图中的相对位置被有序地调度和执行。本发明提供的任务调度方法核心在于系统地遍历此DAG,直至所有任务节点得以完整执行。
3.任务初始化,选取初始任务节点。此步骤旨在为没有父级依赖的初始任务节点在集群中初次选择,以确保后续整个CAE任务的高效和稳定执行。通常初始任务节点关联的CAE任务在集群中尚无历史调度记录,初始任务的首次调度需要创建任务节点池。首次调度的关键是在全面评估集群资源的基础上,做出最优选择。
具体步骤如下:
1)任务节点池构建:构建一个任务节点池,用于记录关联CAE任务在集群中被调度的计算节点集合;
2)节点粗筛:依据初始任务的资源需求,筛选出集群中符合这些需求的计算节点。这是一个预选步骤,旨在缩小后续评估和选择的范围;
3)节点优选:对筛选出的计算节点进行细致的评估。通过加权各项指标,如CPU核数、GPU资源、内存容量、磁盘空间和网络通信性能等,对每个节点进行综合权重评分。根据评分结果,选择权重最高的节点;
4)任务发布与状态更新:在选定的计算节点上发布初始任务节点,并更新集群状态和任务节点池;记录此次任务调度的所有相关信息,包括选定节点的特性和权重计算过程,以便后续分析和优化。
4.初始化任务相关节点拓扑图:上一步确定了初始计算节点,接下来构建一个任务相关节点拓扑图。该图不仅包括任务节点池中的所有节点,还扩展到包括其最大边缘和该边缘节点的n邻域。与此同时,该拓扑图不仅涵盖计算节点的资源类型(如CPU、GPU、内存等),还包括节点间的网络特性和地理位置。
具体来说,任务节点池中所有计算节点,以及这些节点至其n邻域内所有可达计算节点,都作为图中的节点。如果任务节点池中有跨网络域的不直接通信节点A和B,那么在拓扑图中,除了A和B外,还需要包含A和B间所有的中间跨域节点。
在拓扑结构图中,每条边表示两个计算节点间的任务调度选择权重,该权重用于量化这两个节点之间的相互关联性。权重的计算涵盖了网络延时、带宽和地理位置等多个因素。
权重计算公式如下:
其中,W为最终计算出的任务调度选择权重。α和β为权重调整系数,用于平衡延时(latency)和带宽(bandwidth)的相对重要性。Wlatency为延时权重,通常为网络延时值的倒数。Wbandwidth为带宽权重,通常为网络带宽值除以一个常数,通常为1000。Wgeo为地理权重,用于衡量机器物理距离。
该公式旨在综合考虑延时、带宽和地理位置三个关键因素,以量化两个计算节点间的任务调度选择权重。通过调整α和β,可以灵活地平衡延时和带宽的影响,以满足特定应用或网络环境的需求。
通过这样的权重优化,不仅提高了网络性能和资源利用率,还能更精确地反映任务节点池及其边缘节点和n邻域内节点的实际运行环境和性能特性。这为后续任务调度和资源分配提供了更加详实的决策依据。
拓扑结构图模型如图3所示。
5.基于拓扑结构图的启发式资源分配策略。前两步分别进行了任务初始化与任务相关节点拓扑图初始化。本阶段采用基于任务有向图与任务相关节点拓扑图的启发式资源分配策略,进行后续子任务的调度。本方法旨在更有效地利用计算资源,降低任务执行总时长,同时考虑地理位置和网络通信性能。具体流程如下:
1)任务运行。上一步执行的任务运行成功后,计算节点添加到任务节点池中,并且更新任务相关节点拓扑图。如调度时节点状态发生改变,无法满足计算任务则重新进行第3步,进行使用选取初始任务节点的方式,在集群中重新寻找计算节点;
2)遍历任务有向图:下一步开始遍历任务的有向依赖图(DAG),识别当前待调度的任务节点。待调度任务信息包含子任务资源需求和父任务执行信息。
3)最优节点选择:根据子任务资源需求与集群实际情况,存在以下几种情形。
a)使用上一个任务节点:如果父任务所在的计算节点能满足当前任务的资源需求,直接将任务调度至该节点;
b)使用任务相关节点拓扑图节点:若父任务所在节点不能满足资源要求,转至任务相关节点拓扑图中,并选取权重最大的节点;
c)搜索整个集群,选取新节点:如果任务相关节点拓扑图中的n阶邻域内没有合适的节点,回到流程的第3步,使用选取初始任务节点的方式,在集群中重新寻找计算节点。
当使用第3步的方式,在集群中重新寻找计算节点后,需要更新任务节点池和任务相关节点拓扑图。数据同步线程对任务相关节点拓扑图中的关联节点进行数据同步。
d)资源不足处理:如果整个集群中没有可用节点,将任务设置为“等待”(peddling)状态,直至有合适的节点可用。
4)状态更新和迭代:当前任务执行完毕后,返回任务运行步骤,准备下一轮调度。
5)完成调度:持续执行以上流程,直至所有子任务均已成功调度和执行。
这种启发式方法考虑各个节点的资源情况和网络性能,通过动态更新拓扑结构图和权重,实现更为精细化的任务调度。通过这种策略,能够显著减少CAE仿真任务产生的大文件在集群中的传输消耗。通过智能地选取地理位置近且网络通信快速的节点,大文件更可能在同一节点或相邻节点上被处理,从而减少跨节点传输的需求。这种启发式算法旨在尽可能降低网络负担,从而提高整个任务的执行效率,确保整个CAE仿真任务在最优或接近最优的计算环境下完成。
整个过程如图4所示。
综上所述,本发明的跨域异构资源调度方法在理论层面上可以提高资源利用率、优化任务执行效率、降低系统负载,同时方便大文件共享和支持异构资源。从理论上,这种发明可以带来以下技术效果:
1.提高资源利用率:启发式资源分配策略使得任务在地理上近、网络通信高效且资源充裕的节点上优先执行,极大地提高了计算资源的全局利用率。
2.任务执行加速:通过智能的任务调度和资源分配,将任务分配给最适合的计算节点进行执行,减少任务的执行时间,提高任务的响应速度和完成效率。
3.系统负载均衡:通过地理和网络维度的综合评估,实现计算任务的均衡分布,降低单一节点的负载压力,提升系统整体的稳定性。
4.高效文件共享:选择网络传输速率高的节点进行大文件处理,大幅减少了数据传输时间和可能的资源浪费。
5.异构资源支持:本发明考虑了计算资源的异构性,能够适应不同类型和规格的资源,如CPU、GPU、内存等,实现更加灵活和多样化的资源调度和管理。
6.自动跨域调度:当本地拓扑图内缺乏合适资源时,能自动切换至跨域子网络进行资源调度,打破地理和组织边界的限制。
下文将从实验方面对本发明的技术效果进行描述。
在跨域集群的硬件环境下,针对一个包含多个计算节点的跨域集群环境,该集群由不同规格的计算机组成(包括各种CPU核数,GPU资源,内存容量等)。在这个环境中,执行盾构行业(尾盾模型的结构分析)CAE建模与仿真过程中,采用本发明后的效果:
1.调度服务器实例、代理服务等组件完成部署后。调度服务器实例负责启动独立的监控线程,该线程专门用于实时捕捉由计算节点代理服务发出的心跳消息。这些心跳消息携带了计算节点当前的运行状态,包括可用的CPU、GPU资源,以及内存和网络带宽状况。一旦接收到这些信息,调度服务器实例会立即更新其缓存,确保在任务分配和资源调度中使用到最新和最准确的节点状态数据。
2.在盾构行业的实际建模与仿真过程中,针对尾盾模型的结构分析的CAE建模与仿真任务,进行任务有向图(DAG)初始化。尾盾模型的结构分析任务按照关键步骤拆分可分为几何建模、网格划分、协同仿真、后处理等步骤。
几何建模任务主要负责产生尾盾装备的详细几何模型。其中,尾盾参数化建模子任务用于根据预定义参数创建尾盾的几何形状。格式转换子任务则用于生成多种开源CAE软件能够识别的通用格式,确保下一步的子任务能够使用当前的几何文件进行网格划分。
网格划分任务专注于生成适用于后续分析的网格数据。尾盾结构分组子任务提供局部网格的位置信息和分组标签。网格模型生成子任务用于生成相应网格尺寸的网格数据。
协同仿真任务负责进行实时或近实时的仿真计算,并输出相关结果。材料属性参数配置生成子任务用于设置尾盾结构材料的各种物理和化学属性,为仿真计算提供基础数据。求解参数配置生成子任务设定了仿真过程中的计算参数,例如时间步长、迭代次数等。结构分析协同仿真子任务则具体执行这些仿真计算,以预测尾盾装备在不同条件下的性能。
后处理任务负责将协同仿真的输出结果进行进一步处理和解析。格式转换子任务会把原始输出数据转换为其他通用或特定应用的数据格式。数据可视化子任务则将这些数据转化为图表、图像或动画,以便于更直观地理解和解释仿真结果。
根据尾盾模型的结构分析任务配置,本发明方法自动生成任务有向图(DAG),如图5所示。
尾盾模型的结构分析任务中,尾盾参数化建模、尾盾结构分组、材料属性参数配置生成、求解参数配置生成需要使用中等量级CPU资源,中等量级内存资源;网格模型生成、结构分析协同仿真则需要使用大量CPU资源与GPU资源;格式转换、后处理格式转换、数据可视化等子任务则需要较多内存资源。
3.仿真任务开始,进行任务初始化,选取初始任务节点。尾盾模型的结构分析任务中,参数化建模子任务是首个需要被调度的任务。参数化建模子任务需要的计算资源为4核CPU以及8GB内存。
首先,调度服务器实例构建了一个任务节点池,用于存储历史上成功调度该类型CAE任务的计算节点信息。
调度服务器实例从集群中所有的计算节点列表里进行第一轮筛选,排除掉不满足最基本资源需求(4核CPU和8GB内存)的计算节点。这一步缩小了后续评估和选择的范围。假设经过节点粗筛,我们有两个候选计算节点A和B,它们的硬件资源如下:
节点A:8核CPU,16GB内存,1块GPU,1Gbps网络带宽;
节点B:4核CPU,8GB内存,无GPU,500Mbps网络带宽。
进行权重计算时,将各项资源赋予权重系数进行量化。CPU核数(权重系数0.4)、内存(权重系数0.3)、GPU(权重系数0.2)和网络带宽(权重系数0.1),计算结果为A节点8.3分,B节点4.05分。结合预估的任务执行时间和计算出的节点权重,选择节点A进行任务调度。
参数化建模子任务成功发布到选定的计算节点上,并同时更新了集群状态和任务节点池的信息。所有与这次任务调度有关的信息,包括选定节点的各项资源特性和权重计算过程,都被详细记录下来,以便于后续分析和系统优化。
4.初始化任务相关节点拓扑图。上一步中,选择了节点A作为初始任务节点。这一节点具有8核CPU、16GB内存、1块GPU,以及1Gbps的网络带宽。需要对A节点的1阶邻域内节点构建任务相关节点拓扑图。
根据缓存信息可查询到,节点A与其他计算节点的网络延时按照从低到高排列,前5个节点是C、E、F、D、G,这些节点的网络延时和带宽如下:
节点A到节点C:网络延时2ms,带宽800Mbps
节点A到节点D:网络延时5ms,带宽600Mbps
节点A到节点E:网络延时3ms,带宽700Mbps
节点A到节点F:网络延时4ms,带宽750Mbps
节点A到节点G:网络延时6ms,带宽500Mbps
其中α=0.6,β=0.4,C、D、E与A节点处于同一网络域中,地理权重为1。F、G为另一网络域的计算节点,地理权重为2。根据本专利计算权重计算公式可得:
节点A到节点C的权重:0.62
节点A到节点D的权重:0.36
节点A到节点E的权重:0.48
节点A到节点F的权重:0.225
节点A到节点G的权重:0.15
初始化的任务相关节点拓扑图6如下所示。
通过上述方法获得了每个节点与节点A的任务调度选择权重。通过构建这个任务相关节点拓扑图,并计算节点间的权重,得到节点A与其1阶邻域内节点之间的量化网络拓扑图。为后续的任务调度和资源分配提供了一个更加全面和详细的决策依据,有助于实现更高效和准确的资源利用。
5.任务相关模型初始化结束之后,使用启发式资源分配策略,确保更高效的资源利用和任务调度。在第2步中,遍历尾盾结构分析任务有向图,第一个需要被调度的任务为尾盾参数化建模。在第3步中,选择的最优计算节点是节点A。尾盾参数化建模任务成功分配到节点A并开始计算。
6.尾盾参数化建模完成后,调度服务器实例再一次遍历尾盾结构分析任务有向图,对格式转换子任务进行调度。在初始化任务相关节点拓扑图中选择当前子任务的最优调度节点。格式转换子任务需要32GB内存资源,当前任务相关节点拓扑图中的计算节点没有能够满足32GB内存需求的节点。因此使用同步骤3的方式,在整个集群中找到符合格式转换子任务硬件需求的计算节点。
调度服务器实例从集群中所有的计算节点列表里搜索选取另一个网络域的计算节点X,X节点配置如下:
节点X:4核CPU,32GB内存,无GPU,1Gbps网络带宽。
由于节点X是从整个集群中重新寻找的计算节点,因此需要进行更新任务节点池和任务相关节点拓扑图的步骤。节点X位于另一个网络中,当前任务相关节点拓扑图中的C节点与X节点存在网络通信,经过公式计算得到节点C与节点X之间的权重为0.48。因此更新的任务相关节点拓扑图如图7所示:
节点X加入到任务节点池,数据同步线程开始对节点X进行数据同步。通过这种方式,实现了跨域资源的动态调度。
7.之后的步骤与5-6步类似,上一个子任务运行成功后,大概率后续任务会在任务相关节点拓扑图中选择计算节点。当任务相关节点拓扑图中计算节点不能满足要求时,考虑从整个集群中重新寻找的计算节点,这种情况下,任务相关节点拓扑图有新节点加入,异步线程则会对任务相关节点拓扑图中的所有节点进行数据同步。
持续对尾盾结构分析任务有向图进行遍历,直到数据可视化子任务与后处理格式转换两个子任务都运行结束并返回成功结果,当前尾盾模型的结构分析任务的所有子任务都运行结束并全部返回成功结果,调度服务器实例判断当前任务运行完成,停止下一步的尾盾结构分析任务有向图遍历。
本专利提出了一种针对计算机辅助工程(CAE)任务在分布式计算环境中的高效调度和资源分配方法。通过构建与CAE任务相关的动态拓扑图和启发式资源分配策略,本方法能够优先将任务调度到网络通讯高效、地理位置近且资源丰富的节点上。通过任务-资源匹配机制和权重优化算法,有效实现任务在各计算节点间的均衡分布,降低系统的单点负载并增强了整体稳定性。该方法还能在一定程度上减少数据传输时延和资源消耗,全面兼容各类型和规格的计算资源,如CPU、GPU和内存等。同时,当本地拓扑图内缺少适宜资源时,该方法能自动切换至跨域子网络中寻找合适的计算节点,有效突破了地理和组织结构的限制,实现自动化跨域任务调度。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开也并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

Claims (10)

1.一种跨域异构资源的调度方法,其特征在于,应用于一调度服务器,所述方法包括:
构建目标任务的任务有向图,所述任务有向图中的每个任务节点代表所述目标任务的一子任务,所述任务节点之间的有向边代表所述子任务之间的依赖关系;
初始化一任务节点池;
获取任务节点P0,在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0后,对计算节点Q0的节点指标进行更新,并将所述计算节点Q0加入所述任务节点池;其中,所述任务节点P0是所述任务有向图中没有父级依赖的任务节点;
针对执行任务节点Pj的计算节点Qi,基于所述任务节点池构建一节点拓扑图,i、j为自然数;
结合所述计算节点Qi的节点拓扑图,选定执行所述任务节点Pj+1的计算节点Qi+1后,对该计算节点Qi+1的节点指标进行更新,并将该计算节点Qi+1加入所述任务节点池;其中,所述任务节点Pj+1是所述任务节点Pj的一子节点。
2.如权利要求1所述的方法,其特征在于,所述在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0,包括:
获取执行任务节点P0的资源需求;
在跨域异构计算资源调度集群中筛选出满足执行任务节点P0的资源需求的计算节点;
针对筛选出的计算节点,获取节点指标;
通过加权各项节点指标,对每一筛选出的计算节点进行综合权重评分;
选择权重评分最高的节点作为计算节点Q0
3.如权利要求1或2所述的方法,其特征在于,所述节点指标包括:CPU核数、GPU资源、内存容量、磁盘空间和网络通信性能。
4.如权利要求1所述的方法,其特征在于,所述节点拓扑图中的节点包括:任务节点池中的计算节点及其n邻域内所有可达的计算节点、以及计算节点Qu与计算节点Qv间所有的中间跨域节点,其中,u、v为自然数,u<i,v<i,计算节点Qu与计算节点Qv不属于同一个网络域且都在所述任务节点池中。
5.如权利要求1所述的方法,其特征在于,所述节点拓扑图中边的权重 其中,Wlatency为网络延时权重,Wbandwidth为带宽权重,Egeo为地理权重,α和β为权重调整系数。
6.如权利要求5所述的方法,其特征在于,结合所述计算节点Qi的节点拓扑图,选定执行所述任务节点Pj+1的计算节点Qi+1,包括:
获取计算节点Qi更新后的节点指标;
在更新后的节点指标满足执行任务节点Pj+1的资源需求的情况下,将任务节点Pj+1相应的任务分配到计算节点Qi
在更新后的节点指标不满足执行任务节点Pj+1的资源需求的情况下,基于所述节点拓扑图中边的权重W,选择一个节点指标满足执行任务节点Pj+1的资源需求的计算节点;
其中,在所有计算节点的节点指标都不满足执行任务节点Pj+1的资源需求的情况下,返回至所述获取任务节点P0,在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0;以及,
在尝试所有计算节点Q0之后,所述跨域异构计算资源调度集群都无法完成所述目标任务,则将目标任务设置为等待状态,直至存在一计算节点Q0并使所述跨域异构计算资源调度集群能够完成目标任务。
7.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
定时接收每一计算节点的剩余资源信息和网络延迟情况,其中,所述剩余资源信息包括:CPU、GPU和内存。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
基于所述网络延迟情况,计算计算节点间的通信效率和速度。
9.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在一新计算节点上线时,接收该新计算节点的节点指标;其中,新计算节点的节点指标包括:地理信息、所处域以及该新计算节点与其他计算节点的带宽信息。
10.一种跨域异构资源的调度装置,其特征在于,所述装置包括:
有向图构建模块,用于构建目标任务的任务有向图,所述任务有向图中的每个任务节点代表所述目标任务的一子任务,所述任务节点之间的有向边代表所述子任务之间的依赖关系;
初始化模块,用于初始化一任务节点池;
初始节点生成模块,用于获取任务节点P0,在跨域异构计算资源调度集群中选定执行所述任务节点P0的计算节点Q0后,对计算节点Q0的节点指标进行更新,并将所述计算节点Q0加入所述任务节点池;其中,所述任务节点P0是所述任务有向图中没有父级依赖的任务节点;
拓扑图构建模块,用于针对执行任务节点Pj的计算节点Qi,基于所述任务节点池构建一节点拓扑图,i、j为自然数;
任务调度模块,用于结合所述计算节点Qi的节点拓扑图,选定执行所述任务节点Pj+1的计算节点Qi+1后,对该计算节点Qi+1的节点指标进行更新,并将该计算节点Qi+1加入所述任务节点池;其中,所述任务节点Pj+1是所述任务节点Pj的一子节点。
CN202311261301.5A 2023-09-27 2023-09-27 跨域异构资源的调度方法及装置 Pending CN117290102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311261301.5A CN117290102A (zh) 2023-09-27 2023-09-27 跨域异构资源的调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311261301.5A CN117290102A (zh) 2023-09-27 2023-09-27 跨域异构资源的调度方法及装置

Publications (1)

Publication Number Publication Date
CN117290102A true CN117290102A (zh) 2023-12-26

Family

ID=89238525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311261301.5A Pending CN117290102A (zh) 2023-09-27 2023-09-27 跨域异构资源的调度方法及装置

Country Status (1)

Country Link
CN (1) CN117290102A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827619A (zh) * 2024-02-29 2024-04-05 浪潮电子信息产业股份有限公司 异构算力的耗时预测仿真方法、装置、设备、介质及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827619A (zh) * 2024-02-29 2024-04-05 浪潮电子信息产业股份有限公司 异构算力的耗时预测仿真方法、装置、设备、介质及系统

Similar Documents

Publication Publication Date Title
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
Polo et al. Resource-aware adaptive scheduling for mapreduce clusters
Tao et al. Dynamic resource allocation algorithm for container-based service computing
Arkian et al. Model-based stream processing auto-scaling in geo-distributed environments
Hou et al. AlphaR: Learning-powered resource management for irregular, dynamic microservice graph
CN117290102A (zh) 跨域异构资源的调度方法及装置
CN115543626A (zh) 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法
Han et al. Scheduling placement-sensitive BSP jobs with inaccurate execution time estimation
Santos et al. Diktyo: Network-aware scheduling in container-based clouds
Balouek-Thomert et al. Parallel differential evolution approach for cloud workflow placements under simultaneous optimization of multiple objectives
Hussin et al. Efficient energy management using adaptive reinforcement learning-based scheduling in large-scale distributed systems
Li et al. Topology-aware scheduling framework for microservice applications in cloud
Zhang et al. Autrascale: an automated and transfer learning solution for streaming system auto-scaling
Xu et al. Intelligent scheduling for parallel jobs in big data processing systems
Wang et al. A study on heuristic task scheduling optimizing task deadline violations in heterogeneous computational environments
Ismaeel et al. Real-time energy-conserving vm-provisioning framework for cloud-data centers
Li et al. Energy-aware scheduling for spark job based on deep reinforcement learning in cloud
Wang et al. Adaptive placement of data analysis tasks for staging based in-situ processing
Roy et al. Efficient resource management for running multiple concurrent jobs in a computational grid environment
Zhang et al. Two-level task scheduling with multi-objectives in geo-distributed and large-scale SaaS cloud
Rumi et al. Optimization techniques within the hadoop eco-system: A survey
Mytilinis et al. The vision of a heterogenerous scheduler
Li et al. Toward optimal operator parallelism for stream processing topology with limited buffers
Li et al. A DRL-based online VM scheduler for cost optimization in cloud brokers
Vargas-Solar et al. JITA4DS: disaggregated execution of data science pipelines between the edge and the data centre

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