基于目标应用的任务调度分配方法、装置、设备及介质制造方法及图纸

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

【技术实现步骤摘要】
基于目标应用的任务调度分配方法、装置、设备及介质


[0001]本专利技术属于计算机、网络拓扑、调度策略
,特别涉及一种基于目标应用的任务调度分配方法、装置、设备及可读存储介质。

技术介绍

[0002]Kubernetes,简称K8s,是用8代替8个字符“ubernete”。Kubernetes用于管理云平台中多个主机上的容器化的应用,提供了应用部署,规划,更新,维护的一种机制,能够让部署容器化的应用简单并且高效。
[0003]Kubernetes作为目前最常用的分布式计算平台,用户通过创建 Pod来部署服务或计算任务,Pod是所有业务类型的基础,是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。
[0004]本专利技术人经研究发现,现有技术中,用户在部署一个任务时,这个任务由多个需要互相通讯的Pods组成,此时网络特性大大影响任务的运行效率,如何为任务快速分配合适的节点,成为亟待解决的技术难题。

技术实现思路

[0005]为了至少解决上述技术问题,本专利技术提供了一种基于目标应用的任务调度分配方法、装置、设备及可读存储介质。
[0006]根据本专利技术第一方面,提供了一种基于目标应用的任务调度分配方法,包括:获取目标应用集群的节点,检测节点间的网络状况;根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
[0007]进一步的,所述获取目标应用集群的节点,检测节点间的网络状况,包括:获取目标应用集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况。
[0008]进一步的,所述根据节点间的网络状况对节点分层,包括:根据集群中各节点间的网络状况,采用层次聚类算法将集群各节点划分为若干个层级。
[0009]进一步的,所述采用层次聚类算法将集群各节点划分为若干个层级,包括:将每个节点作为一类,计算每两个类之间最大网络延迟;获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1;重新计算两个类之间的最大网络延迟,进行最接近两个类合并操作,直至所有节点归为一类;
根据节点数量N计算层级,层级为 [lgN]+1。
[0010]进一步的,所述根据网络拓扑结构生成配置文件,包括:对 N 个节点的集群,集群网络状况被分为 K(K= [lgN]+1)层,以Cluster

1 ~ Cluster

K 表示第1层到第K层的节点组合,以 Cluster

0 表示所有节点组成一个节点组合,保存至配置文件。
[0011]进一步的,所述获取任务信息,包括:获取用户创建的任务和与任务对应的标签。
[0012]进一步的,所述根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署,包括:对集群网络结构,以层级由低到高的顺序逐层查找资源足够运行任务并且最优的节点组;在查找到的节点组中运行任务。
[0013]根据本专利技术第二方面,提供一种基于目标应用的任务调度分配装置,包括:检测模块,用于获取目标应用集群的节点,检测节点间的网络状况;网络模块,用于根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;调度模块,用于获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。
[0014]根据本专利技术第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,能实现本专利技术的第一方面中任一项所述方法的步骤。
[0015]根据本专利技术第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现如本专利技术的第一方面中任一项所述的方法。
[0016]本专利技术的有益效果:通过根据集群网络情况将节点分组,然后将需要互相高速网络通讯的 Pods 部署在网络情况好的一组节点上,可以有效提高任务间的通讯效率、缩短计算任务完成的时间,提高集群资源使用效率,操作简单、容易执行,而且准确率高,能够有效避免人工误操作。
附图说明
[0017]本专利技术上述的和 / 或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中,图1为本专利技术提供的一种基于目标应用的任务调度分配方法流程图;图2为本专利技术提供的一个配置文件示意图;图3为本专利技术提供的一个配置图示示意图;图4为本专利技术提供一种调度分配方法流程图;图5为本专利技术提供的调度分配实例示意图;图6为本专利技术提供的一种基于目标应用的任务调度分配装置结构示意图;图7为本专利技术提供的一种电子设备结构示意图。
tensorstack.io/network

topology: <job

id>。调度器根据标签确定这些Pods需要被部署在一组网络延迟低、传输速度快的节点上。
[0033]本专利技术中,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署,包括: 对一个有 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。
[0034]在本专利技术另一实施例中,进行举例说明,集群网络拓扑结构如步骤102中所述,节点剩余资源情况: ACDEFGHIJ: 剩余资源 {CPU: 1}。
[0035] B:剩余资源 {CPU: 2}。
[0036]用户创建一组任务,其中有 4 个 Pods,Pod 标签分别为: Pod p1 tensorstack.io/network

topology: job1 ,需求资源 {CPU: 1}。
[0037] Pod p2 tensorstack.io/network

topology: job2 ,需求资源 {CPU: 2}。
[0038] Pod p3 tensorstack.io/network

topology: job1 ,需求资源 {CPU: 1}。
[0039] Pod p4 tensorstack.io/network

topology: job2 ,需求资源 {CPU: 1}。
[0040]以调度分配实例进行说明,如图5所示:将用户创建两个 jo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于目标应用的任务调度分配方法,其特征在于,包括:获取目标应用集群的节点,检测节点间的网络状况;根据节点间的网络状况对节点分层,生成集群网络拓扑结构,根据网络拓扑结构生成配置文件;获取任务信息,根据网络拓扑结构和任务信息,对集群网络结构逐层按照预设方式查找最优节点组,对最优节点组进行任务部署。2.如权利要求1所述的方法,其特征在于,所述获取目标应用集群的节点,检测节点间的网络状况,包括:获取目标应用集群所有节点,对每个节点采集网络配置和各节点相互间的连接状况,得到节点间的网络状况。3.如权利要求1所述的方法,其特征在于,所述根据节点间的网络状况对节点分层,包括:根据集群中各节点间的网络状况,采用层次聚类算法将集群各节点划分为若干个层级。4.如权利要求3所述的方法,其特征在于,所述采用层次聚类算法将集群各节点划分为若干个层级,包括:将每个节点作为一类,计算每两个类之间最大网络延迟;获取网络延迟最接近的两个类,将网络延迟最接近的两个类合并为一个类,使得类的总数减少1;重新计算两个类之间的最大网络延迟,进行最接近两个类合并操作,直至所有节点归为一类;根据节点数量N计算层级,层级为 [lgN]+1。5.如权利要求1所述的方法,其特征在于,所述根据网络拓扑结构生成配置文件,包括:对 N 个节点的集群,集群网络状况被分为 K层,K= [lgN]+1,以Cluster

1 ~ Cluster

【专利技术属性】
技术研发人员:王明亮曹志鑫
申请(专利权)人:北京云歌科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1