CN113722079A - 基于目标应用的任务调度分配方法、装置、设备及介质 - Google Patents

基于目标应用的任务调度分配方法、装置、设备及介质 Download PDF

Info

Publication number
CN113722079A
CN113722079A CN202111295367.7A CN202111295367A CN113722079A CN 113722079 A CN113722079 A CN 113722079A CN 202111295367 A CN202111295367 A CN 202111295367A CN 113722079 A CN113722079 A CN 113722079A
Authority
CN
China
Prior art keywords
network
nodes
cluster
task
layer
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.)
Granted
Application number
CN202111295367.7A
Other languages
English (en)
Other versions
CN113722079B (zh
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.)
Beijing Vector Stack Technology Co ltd
Original Assignee
Beijing Yunge Technology Co ltd
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 Beijing Yunge Technology Co ltd filed Critical Beijing Yunge Technology Co ltd
Priority to CN202111295367.7A priority Critical patent/CN113722079B/zh
Publication of CN113722079A publication Critical patent/CN113722079A/zh
Application granted granted Critical
Publication of CN113722079B publication Critical patent/CN113722079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于目标应用的任务调度分配方法、装置、设备及可读存储介质,属于计算机、网络拓扑、调度策略技术领域,特别涉及一种基于目标应用的任务调度分配方法,包括:获取目标应用集群的节点,检测节点间的网络状况;根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。本发明根据集群网络情况将节点分组,将需要互相高速网络通讯的Pods部署在网络情况好的一组节点上,有效提高任务间的通讯效率、缩短计算任务完成的时间,提高集群资源使用效率,操作简单、容易执行,准确率高。

Description

基于目标应用的任务调度分配方法、装置、设备及介质
技术领域
本发明属于计算机、网络拓扑、调度策略技术领域,特别涉及一种基于目标应用的任务调度分配方法、装置、设备及可读存储介质。
背景技术
Kubernetes,简称K8s,是用8代替8个字符“ubernete”。Kubernetes用于管理云平台中多个主机上的容器化的应用,提供了应用部署,规划,更新,维护的一种机制,能够让部署容器化的应用简单并且高效。
Kubernetes作为目前最常用的分布式计算平台,用户通过创建 Pod来部署服务或计算任务,Pod是所有业务类型的基础,是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。
本发明人经研究发现,现有技术中,用户在部署一个任务时,这个任务由多个需要互相通讯的Pods组成,此时网络特性大大影响任务的运行效率,如何为任务快速分配合适的节点,成为亟待解决的技术难题。
发明内容
为了至少解决上述技术问题,本发明提供了一种基于目标应用的任务调度分配方法、装置、设备及可读存储介质。
根据本发明第一方面,提供了一种基于目标应用的任务调度分配方法,包括:
获取目标应用集群的节点,检测节点间的网络状况;
根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
进一步的,所述获取目标应用集群的节点,检测节点间的网络状况,包括:
获取目标应用集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况。
进一步的,所述根据节点间的网络状况对节点分层,包括:
根据集群中各节点间的网络状况,采用层次聚类算法将集群各节点划分为若干个层级。
进一步的,所述采用层次聚类算法将集群各节点划分为若干个层级,包括:
将每个节点作为一类,计算每两个类之间最大网络延迟;
获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1;
重新计算两个类之间的最大网络延迟,进行最接近两个类合并操作,直至所有节点归为一类;
根据节点数量N计算层级,层级为 [lgN]+1。
进一步的,所述根据网络拓扑结构生成配置文件,包括:
对 N 个节点的集群,集群网络状况被分为 K(K= [lgN]+1)层,以Cluster-1 ~Cluster-K 表示第1层到第K层的节点组合,以 Cluster-0 表示所有节点组成一个节点组合,保存至配置文件。
进一步的,所述获取任务信息,包括:
获取用户创建的任务和与任务对应的标签。
进一步的,所述根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署,包括:
对集群网络结构,以层级由低到高的顺序逐层查找资源足够运行任务并且最优的节点组;在查找到的节点组中运行任务。
根据本发明第二方面,提供一种基于目标应用的任务调度分配装置,包括:
检测模块,用于获取目标应用集群的节点,检测节点间的网络状况;
网络模块,用于根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
调度模块,用于获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
根据本发明第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时,能实现本发明的第一方面中任一项所述方法的步骤。
根据本发明第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现如本发明的第一方面中任一项所述的方法。
本发明的有益效果:通过根据集群网络情况将节点分组,然后将需要互相高速网络通讯的 Pods 部署在网络情况好的一组节点上,可以有效提高任务间的通讯效率、缩短计算任务完成的时间,提高集群资源使用效率,操作简单、容易执行,而且准确率高,能够有效避免人工误操作。
附图说明
本发明上述的和 / 或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为本发明提供的一种基于目标应用的任务调度分配方法流程图;
图2为本发明提供的一个配置文件示意图;
图3为本发明提供的一个配置图示示意图;
图4为本发明提供一种调度分配方法流程图;
图5为本发明提供的调度分配实例示意图;
图6为本发明提供的一种基于目标应用的任务调度分配装置结构示意图;
图7为本发明提供的一种电子设备结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
在本发明的第一方面,提供一种基于目标应用的任务调度分配方法,如图1所示,包括:
步骤101:获取目标应用集群的节点,检测节点间的网络状况;
在本发明中,获取目标应用集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况,其中,目标应用为Kubernetes。
进一步的,获取Kubernetes集群所有节点的 IP,对一节点检测网络状况时,可以向被检测节点外的其他节点发送网络请求检测网络状况。
步骤102:根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
本发明中,根据集群中各节点间的网络状况,将集群各节点划分为若干个层级,具体可以采用层次聚类算法,针对 N 个节点的集群,层次聚类的步骤包括:
a1:每个节点为一类,计算每两个类之间最大网络延迟。
a2:获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1。
a3:重新计算两个类之间的最大网络延迟。
a4:重复步骤a2至a3,直到所有节点归为一类,结束。
根据节点数量 N 确定层级,层级为 [lgN]+1 。节点数量为 5,节点分类只有一个层级;节点数量为11,节点分类有两个层级。
生成集群网络拓扑结构,再将集群网络拓扑结构生成对应的配置文件,并保存该配置文件。集群的网络拓扑结构是一个层级结构,针对 N 个节点的集群,集群网络状况被分为 K(K= [lgN]+1)层,配置文件以 Cluster-1 ~ Cluster-K 表示第1层到第K层的节点组合,以 Cluster-0 表示所有节点组成一个节点组合。
以一个具体实例进行说明如图2、3所示,集群中有10个节点,节点分类层级为 2:
第0层:配置文件中以 Cluster-0 表示,只有一组节点即所有节点。
第1层:配置文件中以 Cluster-1 表示,有两组节点 s1、s2。
第2层:配置文件中以 Cluster-2 表示,有四组节点 s3、s4、s5、s6。
步骤103:获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
本发明中,获取任务信息包括,获取用户创建的任务和与任务对应的标签。进一步的,获取用户创建的任务及用户为Pods设置的标签。标签为tensorstack.io/network-topology: <job-id>。更进一步的,采用调度器从Kubernetes Configmap 中获取集群当前网络拓扑结构。另外,用户创建一组需要交换大量数据的任务时,需为 Pods 设置标签tensorstack.io/network-topology: <job-id>。调度器根据标签确定这些Pods需要被部署在一组网络延迟低、传输速度快的节点上。
本发明中,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署,包括:
对一个有 N 个节点的集群,层级为 K(K=[lgN]+1),调度分配方法如图4所示包括:
步骤b1:用户创建Job;
步骤b2:集群网络结构K层,设X=K;
步骤b3:在第X层寻找资源足够运行Job且最优的节点组S;
步骤b4:判断S是否存在,是则Job运行在S中;否则执行步骤b5;
步骤b5:判断X是否等于0,是则提示无法运行Job;否则将X减1,执行步骤b3。
在本发明另一实施例中,进行举例说明,集群网络拓扑结构如步骤102中所述,节点剩余资源情况:
ACDEFGHIJ: 剩余资源 {CPU: 1}。
B:剩余资源 {CPU: 2}。
用户创建一组任务,其中有 4 个 Pods,Pod 标签分别为:
Pod p1 tensorstack.io/network-topology: job1 ,需求资源 {CPU: 1}。
Pod p2 tensorstack.io/network-topology: job2 ,需求资源 {CPU: 2}。
Pod p3 tensorstack.io/network-topology: job1 ,需求资源 {CPU: 1}。
Pod p4 tensorstack.io/network-topology: job2 ,需求资源 {CPU: 1}。
以调度分配实例进行说明,如图5所示:将用户创建两个 job 放入等待队列。
1. 处理 job1,包含 Pod p1 和 p3。网络拓扑结构有两层,在第二层发现 s3,s4, s5, s6 四个节点组都满足 job1 的资源需求。选用 s6,将 p1 分配到节点 I,p3分配到节点 J。
2. 处理 job2,包含 Pod p2 和 p4。网络拓扑结构有两层,
a. 第二层没有节点组满足 job2 的资源需求;
b. 第一层 s1 满足 job2 的资源需求,将 p2 分配到节点 B,p4分配到节点 A。
根据本发明第二方面,提供一种基于目标应用的任务调度分配装置如图6示,包括:
检测模块601,用于获取目标应用集群的节点,检测节点间的网络状况;
本发明中,检测模块601,具体用于获取目标应用集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况,其中,目标应用为Kubernetes。
进一步的,检测模块601获取目标应用集群所有节点的 IP,对一节点检测网络状况时,可以向被检测节点外的其他节点发送网络请求检测网络状况。
网络模块602,用于根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
本发明中,网络模块602,具体用于根据集群中各节点间的网络状况,将集群各节点划分为若干个层级,具体可以采用层次聚类算法,针对 N 个节点的集群,层次聚类的步骤包括:
a1:每个节点为一类,计算每两个类之间最大网络延迟。
a2:获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1。
a3:重新计算两个类之间的最大网络延迟。
a4:重复步骤a2至a3,直到所有节点归为一类,结束。
根据节点数量 N 确定层级,层级为 [lgN]+1 。例如:节点数量为 5,节点分类只有一个层级;节点数量为11,节点分类有两个层级。
生成集群网络拓扑结构,再将集群网络拓扑结构生成对应的配置文件,并保存该配置文件。集群的网络拓扑结构是一个层级结构,针对 N 个节点的集群,集群网络状况被分为 K(K= [lgN]+1)层,配置文件以 Cluster-1 ~ Cluster-K 表示第1层到第K层的节点组合,以 Cluster-0 表示所有节点组成一个节点组合。
以一个具体实例进行说明:集群中有10个节点,节点分类层级为 2:
第0层:配置文件中以 Cluster-0 表示,只有一组节点即所有节点。
第1层:配置文件中以 Cluster-1 表示,有两组节点 s1、s2。
第2层:配置文件中以 Cluster-2 表示,有四组节点 s3、s4、s5、s6。
调度模块603,用于获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
本发明中,调度模块603,具体用于获取用户创建的任务和与任务对应的标签。进一步的,调度模块603获取用户创建的任务及用户为Pods设置的标签。标签为tensorstack.io/network-topology: <job-id>。更进一步的,调度模块603采用调度器从Kubernetes Configmap 中获取集群当前网络拓扑结构。另外,用户创建一组需要交换大量数据的任务时,需为 Pods 设置标签 tensorstack.io/network-topology: <job-id>。调度模块603根据标签确定这些Pods需要被部署在一组网络延迟低、传输速度快的节点上。
本发明中,调度模块603还用于对一个有 N 个节点的集群,层级为 K(K=[lgN]+1),实现调度分配方法的步骤。包括:
步骤b1:用户创建Job;
步骤b2:集群网络结构K层,设X=K;
步骤b3:在第X层寻找资源足够运行Job且最优的节点组S;
步骤b4:判断S是否存在,是则Job运行在S中;否则执行步骤b5;
步骤b5:判断X是否等于0,是则提示无法运行Job;否则将X减1,执行步骤b3。
在本发明另一实施例中,进行举例说明,集群网络拓扑结构如图2、3所示,节点剩余资源情况:
ACDEFGHIJ: 剩余资源 {CPU: 1}。
B:剩余资源 {CPU: 2}。
用户创建一组任务,其中有 4 个 Pods,Pod 标签分别为:
Pod p1 tensorstack.io/network-topology: job1 ,需求资源 {CPU: 1}。
Pod p2 tensorstack.io/network-topology: job2 ,需求资源 {CPU: 2}。
Pod p3 tensorstack.io/network-topology: job1 ,需求资源 {CPU: 1}。
Pod p4 tensorstack.io/network-topology: job2 ,需求资源 {CPU: 1}。
调度分配方法如图4所示:将用户创建两个 job 放入等待队列。
1. 处理 job1,包含 Pod p1 和 p3。网络拓扑结构有两层,在第二层发现 s3,s4, s5, s6 四个节点组都满足 job1 的资源需求。选用 s6,将 p1 分配到节点 I,p3分配到节点 J。
2. 处理 job2,包含 Pod p2 和 p4。网络拓扑结构有两层,
a. 第二层没有节点组满足 job2 的资源需求;
b. 第一层 s1 满足 job2 的资源需求,将 p2 分配到节点 B,p4分配到节点 A。
在本发明第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现能实现下述任一项所述方法的步骤,包括:
获取集群的节点,检测节点间的网络状况;
根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
进一步的,所述获取集群的节点,检测节点间的网络状况,包括:
获取集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况。
进一步的,所述根据节点间的网络状况对节点分层,包括:
根据集群中各节点间的网络状况,采用层次聚类算法将集群各节点划分为若干个层级。
进一步的,所述采用层次聚类算法将集群各节点划分为若干个层级,包括:
将每个节点作为一类,计算每两个类之间最大网络延迟;
获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1;
重新计算两个类之间的最大网络延迟,进行最接近两个类合并操作,直至所有节点归为一类;
根据节点数量N计算层级,层级为 [lgN]+1。
进一步的,所述根据网络拓扑结构生成配置文件,包括:
对 N 个节点的集群,集群网络状况被分为 K(K= [lgN]+1)层,以Cluster-1 ~Cluster-K 表示第1层到第K层的节点组合,以 Cluster-0 表示所有节点组成一个节点组合,保存至配置文件。
进一步的,所述获取任务信息,包括:
获取用户创建的任务和与任务对应的标签。
进一步的,所述根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署,包括:
对集群网络结构,以层级由低到高的顺序逐层查找资源足够运行任务并且最优的节点组;在查找到的节点组中运行任务。
在本发明第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现的本发明第一方面所述的方法,此处不再赘述。
在本发明第五方面提供一种电子设备,下面参考图7,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置706加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置706;以及通信装置709。通信装置709可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置706被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、 “一个”、 “所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和 / 或组件,但是并不排除存在或添加 一个或多个其他特征、整数、步骤、操作、元件、组件和 / 或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时, 它可以直接连接或耦接到其他元件,或者也可以存在 中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用 的措辞“和 / 或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 ( 包括技术 术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应 该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中 的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于目标应用的任务调度分配方法,其特征在于,包括:
获取目标应用集群的节点,检测节点间的网络状况;
根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
2.如权利要求1所述的方法,其特征在于,
所述获取目标应用集群的节点,检测节点间的网络状况,包括:
获取目标应用集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况。
3.如权利要求1所述的方法,其特征在于,
所述根据节点间的网络状况对节点分层,包括:
根据集群中各节点间的网络状况,采用层次聚类算法将集群各节点划分为若干个层级。
4.如权利要求3所述的方法,其特征在于,
所述采用层次聚类算法将集群各节点划分为若干个层级,包括:
将每个节点作为一类,计算每两个类之间最大网络延迟;
获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1;
重新计算两个类之间的最大网络延迟,进行最接近两个类合并操作,直至所有节点归为一类;
根据节点数量N计算层级,层级为 [lgN]+1。
5.如权利要求1所述的方法,其特征在于,
所述根据网络拓扑结构生成配置文件,包括:
对 N 个节点的集群,集群网络状况被分为 K层,K= [lgN]+1,以Cluster-1 ~Cluster-K 表示第1层到第K层的节点组合,以 Cluster-0 表示所有节点组成一个节点组合,保存至配置文件。
6.如权利要求1所述的方法,其特征在于,
所述获取任务信息,包括:
获取用户创建的任务和与任务对应的标签。
7.如权利要求1所述的方法,其特征在于,
所述根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署,包括:
对集群网络结构,以层级由低到高的顺序逐层查找资源足够运行任务并且最优的节点组;在查找到的节点组中运行任务。
8.一种基于目标应用的任务调度分配装置,其特征在于,包括:
检测模块,用于获取目标应用集群的节点,检测节点间的网络状况;
网络模块,用于根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;
调度模块,用于获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述程序时,能实现权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现如权利要求1-7任一项所述的方法。
CN202111295367.7A 2021-11-03 2021-11-03 基于目标应用的任务调度分配方法、装置、设备及介质 Active CN113722079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111295367.7A CN113722079B (zh) 2021-11-03 2021-11-03 基于目标应用的任务调度分配方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111295367.7A CN113722079B (zh) 2021-11-03 2021-11-03 基于目标应用的任务调度分配方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113722079A true CN113722079A (zh) 2021-11-30
CN113722079B CN113722079B (zh) 2022-03-11

Family

ID=78686622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111295367.7A Active CN113722079B (zh) 2021-11-03 2021-11-03 基于目标应用的任务调度分配方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113722079B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090094605A1 (en) * 2007-10-09 2009-04-09 International Business Machines Corporation Method, system and program products for a dynamic, hierarchical reporting framework in a network job scheduler
CN103281211A (zh) * 2013-06-13 2013-09-04 黑龙江工程学院 大规模网络节点分组管理系统及管理方法
US20160380905A1 (en) * 2015-06-26 2016-12-29 Vmware, Inc. System and method for performing resource allocation for a host computer cluster
CN107450983A (zh) * 2017-07-14 2017-12-08 中国石油大学(华东) 一种基于虚拟聚类的分级网络资源调度方法及系统
CN108108245A (zh) * 2017-12-18 2018-06-01 天津科技大学 一种云平台宽节点科学工作流的混合型调度方法及系统
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统
CN110515919A (zh) * 2019-08-20 2019-11-29 苏州浪潮智能科技有限公司 一种分布式集群提供多存储服务的方法、设备及可读介质
CN110969198A (zh) * 2019-11-24 2020-04-07 广东浪潮大数据研究有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN111045821A (zh) * 2019-12-06 2020-04-21 北京浪潮数据技术有限公司 一种容器调度方法、装置、容器调度器及可读存储介质
CN111383161A (zh) * 2018-12-28 2020-07-07 英特尔公司 基于硬件预排序和并行的可重配置聚类阵列的bvh构建的统一架构
CN112286631A (zh) * 2020-10-23 2021-01-29 烽火通信科技股份有限公司 一种Kubernetes资源调度方法、装置与电子设备
CN112799789A (zh) * 2021-03-22 2021-05-14 腾讯科技(深圳)有限公司 一种节点集群管理方法、装置、设备及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090094605A1 (en) * 2007-10-09 2009-04-09 International Business Machines Corporation Method, system and program products for a dynamic, hierarchical reporting framework in a network job scheduler
CN103281211A (zh) * 2013-06-13 2013-09-04 黑龙江工程学院 大规模网络节点分组管理系统及管理方法
US20160380905A1 (en) * 2015-06-26 2016-12-29 Vmware, Inc. System and method for performing resource allocation for a host computer cluster
CN107450983A (zh) * 2017-07-14 2017-12-08 中国石油大学(华东) 一种基于虚拟聚类的分级网络资源调度方法及系统
CN108108245A (zh) * 2017-12-18 2018-06-01 天津科技大学 一种云平台宽节点科学工作流的混合型调度方法及系统
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统
CN111383161A (zh) * 2018-12-28 2020-07-07 英特尔公司 基于硬件预排序和并行的可重配置聚类阵列的bvh构建的统一架构
CN110515919A (zh) * 2019-08-20 2019-11-29 苏州浪潮智能科技有限公司 一种分布式集群提供多存储服务的方法、设备及可读介质
CN110969198A (zh) * 2019-11-24 2020-04-07 广东浪潮大数据研究有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN111045821A (zh) * 2019-12-06 2020-04-21 北京浪潮数据技术有限公司 一种容器调度方法、装置、容器调度器及可读存储介质
CN112286631A (zh) * 2020-10-23 2021-01-29 烽火通信科技股份有限公司 一种Kubernetes资源调度方法、装置与电子设备
CN112799789A (zh) * 2021-03-22 2021-05-14 腾讯科技(深圳)有限公司 一种节点集群管理方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
唐瑞: "基于Kubernetes的容器云平台资源调度策略研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
杜军: "基于Kubernetes的云端资源调度器改进", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
边俊峰: "基于Docker的资源调度及应用容器集群管理系统设计与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Also Published As

Publication number Publication date
CN113722079B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US10282234B2 (en) Server consolidation using virtual machine resource tradeoffs
CN109565515B (zh) 分布式资源管理系统中的动态租户结构调整的系统、设备和过程
US9852035B2 (en) High availability dynamic restart priority calculator
US8434085B2 (en) Scalable scheduling of tasks in heterogeneous systems
Patel et al. Survey on resource allocation strategies in cloud computing
KR20190020073A (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
WO2013093995A1 (ja) リソース検索装置及び該プログラム
CN111694646A (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN106663012B (zh) 一种硬件加速方法以及相关设备
CN112114950A (zh) 任务调度方法和装置、以及集群管理系统
CN111464659A (zh) 节点的调度、节点的预选处理方法、装置、设备及介质
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
Azizi et al. A priority-based service placement policy for fog-cloud computing systems
CN113285886B (zh) 一种带宽分配的方法、装置、电子设备及可读存储介质
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
CN112925607A (zh) 一种系统扩缩容方法及装置、电子设备
US20210360058A1 (en) Job allocation support system and method
CN109818880B (zh) 动态分派工作及提供资源的方法、装置及其系统
CN116700933B (zh) 一种面向异构算力联邦的多集群作业调度系统和方法
US20240036926A1 (en) Resource Allocation Method, Electronic Device and Storage Medium
CN113722079B (zh) 基于目标应用的任务调度分配方法、装置、设备及介质
CN115665231A (zh) 服务创建方法、装置以及计算机可读存储介质
Awasare et al. Survey and comparative study on resource allocation strategies in cloud computing environment
CN114237902A (zh) 一种服务部署方法、装置、电子设备及计算机可读介质
CN114090201A (zh) 资源调度方法、装置、设备及存储介质

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
CP03 Change of name, title or address

Address after: Unit 53, 15th Floor, Building B, China Electronics Building, No. 3 Danling Street, Haidian District, Beijing, 100080

Patentee after: Beijing Vector Stack Technology Co.,Ltd.

Address before: 100080 unit 53, floor 15, block B, No. 3 Danling street, Haidian District, Beijing

Patentee before: Beijing Yunge Technology Co.,Ltd.

CP03 Change of name, title or address