CN115562843B - 一种容器集群算力调度方法及相关装置 - Google Patents

一种容器集群算力调度方法及相关装置 Download PDF

Info

Publication number
CN115562843B
CN115562843B CN202211554106.7A CN202211554106A CN115562843B CN 115562843 B CN115562843 B CN 115562843B CN 202211554106 A CN202211554106 A CN 202211554106A CN 115562843 B CN115562843 B CN 115562843B
Authority
CN
China
Prior art keywords
computing
resource
application
node
nodes
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
Application number
CN202211554106.7A
Other languages
English (en)
Other versions
CN115562843A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211554106.7A priority Critical patent/CN115562843B/zh
Publication of CN115562843A publication Critical patent/CN115562843A/zh
Application granted granted Critical
Publication of CN115562843B publication Critical patent/CN115562843B/zh
Priority to PCT/CN2023/101216 priority patent/WO2024119763A1/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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • 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)
  • 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

一种容器集群算力调度方法及相关装置
技术领域
本申请涉及容器集群技术领域,特别涉及一种容器集群算力调度方法;还涉及一种容器集群算力调度装置、设备、计算机可读存储介质以及容器集群。
背景技术
部署容器集群时并不能保证容器集群中的各主机节点配置完全一致。其中的一个原因是因为不同时期采购的服务器,即使架构相同其算力也会存在差异,有代际差距,有厂商差异。随着以飞腾、鲲鹏为代表的非X86架构的处理器的广泛应用,一云多芯片需求愈发强烈。一云多芯片是指一朵云上存在多种CPU(Central Processing Unit,中央处理器)架构,即一个容器集群内存在多种CPU架构。针对上述场景,现有的K8s容器集群只能分配相同的计算资源,无法进行差异化的分配计算资源。简单的分配相同的计算资源,会导致多应用副本时表现不一致,有的应用副本响应慢,有的应用副本响应快,容器集群的一致性体验差。另外,专利CN113342477A、CN113806089A以及CN110362391B公开的技术方案都是基于资源使用率进行任务的下发或者容器的部署,都是资源使用率的调度。然而,资源使用率与算力是不同的概念,二者有本质的区别,基于资源使用率进行任务下发等操作时,其默认的是设备的算力都是完全一样的,只是资源使用率存在差别。这样在一云多芯的场景下,依旧存在无法进行差异化的分配计算资源的问题。
有鉴于此,如何解决上述技术缺陷已成为本领域技术人员亟待解决的技术问题。
发明内容
本申请的目的是提供一种容器集群算力调度方法,能够平衡应用副本间的差异,使每个应用副本最大限度的有一致性的响应速度,进而提升容器集群整体的一致性体验。本申请的另一个目的是提供一种容器集群算力调度装置、设备、计算机可读存储介质以及容器集群,均具有上述技术效果。
为解决上述技术问题,本申请提供了一种容器集群算力调度方法,包括:
获取各计算节点的目标计算资源的算力检测值;
根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;
将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
可选的,所述根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
比较所述计算资源的算力检测值与基准算力;
根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
可选的,所述根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
若所述计算资源的算力检测值与所述计算资源的基准算力的差值小于预设阈值,则保持所述应用副本的实际资源需求与所述应用副本的原始资源请求一致。
可选的,所述根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
若所述计算资源的算力检测值与所述计算资源的基准算力的差值不小于预设阈值,则根据预设策略,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
可选的,所述根据预设策略,计算得到将所述应用副本部署到所述计算节点时所述应用副本的实际资源需求包括:
根据x需求=(m-n)/m*x+x,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
x需求表示所述实际资源需求,m表示所述计算资源的基准算力,n表示所述计算资源的算力检测值,x表示所述原始资源请求的计算资源量。
可选的,所述将所述应用副本部署到筛选出的所述计算节点包括:
当满足所述应用副本的所述实际资源需求的计算节点为多个时,从筛选出的各所述计算节点中选取最优计算节点;
将所述应用副本部署到所述最优计算节点。
可选的,所述从筛选出的各所述计算节点中选取最优计算节点包括:
从筛选出的所述计算节点中选取剩余内存最大的所述计算节点作为所述最优计算节点。
可选的,所述从筛选出的各所述计算节点中选取最优计算节点包括:
从筛选出的所述计算节点中选取运行的服务最少的所述计算节点作为所述最优计算节点。
可选的,还包括:
若各所述计算节点均不能满足所述实际资源需求中的所有资源需求,则从各所述计算节点中挑选计算资源量最接近所述资源需求的计算节点,并将所述应用副本部署到挑选出的所述计算节点。
可选的,还包括:
若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的数量,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
可选的,还包括:
若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的优先级,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
可选的,还包括:
获取各所述资源需求的优先级。
可选的,还包括:
接收各所述计算节点上报的各项计算资源的算力检测值。
可选的,所述接收各所述计算节点上报的各项计算资源的算力检测值包括:
接收各所述计算节点定时上报的各项所述计算资源的算力检测值。
可选的,还包括:
获取各所述计算资源的所述基准算力。
可选的,还包括:
记录满足当前的所述应用副本的所述实际资源需求的计算节点,形成备选计算节点目录,以当部署与当前的所述应用副本的所述原始资源请求相同的应用副本时,从所述备选计算节点目录中选取计算节点。
为解决上述技术问题,本申请还提供了一种容器集群算力调度装置,包括:
获取模块,用于获取各计算节点的目标计算资源的算力检测值;
确定模块,用于根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
筛选模块,用于从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;
部署模块,用于将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
为解决上述技术问题,本申请还提供了一种容器集群算力调度设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述的容器集群算力调度方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的容器集群算力调度方法的步骤。
为解决上述技术问题,本申请还提供了一种容器集群,包括:
集群控制中心与若干计算节点;
所述集群控制中心,用于获取各计算节点的目标计算资源的算力检测值;
根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
本申请所提供的容器集群算力调度方法,包括:获取各计算节点的目标计算资源的算力检测值;根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
可见,本申请所提供的容器集群算力调度方法,根据各计算节点的真实的算力以及应用副本的原始资源请求进行差异化的算力调度,而不是为应用副本简单的分配相同的CPU核数、内存数、GPU显存数等计算资源,这样可以使各应用副本最大限度的有一致的响应速度和体验,进而能够提升容器集群的一致性体验。
本申请所提供的容器集群算力调度装置、设备、计算机可读存储介质以及容器集群均具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种容器集群算力调度方法的流程示意图;
图2为本申请实施例所提供的一种容器集群算力调度示意图;
图3为本申请实施例所提供的一种容器集群算力调度装置的示意图;
图4为本申请实施例所提供的一种容器集群算力调度设备的示意图。
具体实施方式
本申请的核心是提供一种容器集群算力调度方法,能够平衡应用副本间的差异,使每个应用副本最大限度的有一致性的响应速度,进而提升容器集群整体的一致性体验。本申请的另一个核心是提供一种容器集群算力调度装置、设备、计算机可读存储介质以及容器集群,均具有上述技术效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种容器集群算力调度方法的流程示意图,参考图1所示,该方法包括:
S101:获取各计算节点的目标计算资源的算力检测值;
计算节点的计算资源包括CPU、内存、GPU(Graphics Processing Unit,图形处理器)、硬盘等。
每个计算节点处可以部署算力检测装置,由算力检测装置执行算力检测函数,对计算节点的CPU、内存、GPU等计算资源的算力进行检测,得到CPU、内存、GPU等计算资源的算力检测值,并将各项计算资源的算力检测值上报给集群控制中心。
集群控制中心接收各所述计算节点上报的所述计算资源的算力检测值并存储。其中,各计算节点可定时上报各计算资源的算力检测值,集群控制中心接收各所述计算节点定时上报的各项所述计算资源的算力检测值。
区别于资源的使用率,算力是指计算资源真正的计算能力。计算资源的算力可以测算得到。例如,可以测算得到一个核的真实的计算能力。对应到平台产品里,算力可以根据主机资源的架构和配置,加上相应的算法测算得到。
其中,集群控制中心接收各计算节点上报的各项计算资源的算力检测值后,可形成如表1所示的计算资源算力网络。
表1
Figure 778835DEST_PATH_IMAGE001
表1中CPU分值即为CPU的算力检测值,内存分值即为内存的算力检测值,磁盘读写分值即为磁盘的算力检测值,xx分值指代其他计算资源的算力检测值,除了CPU、内存、磁盘外,计算资源还包括GPU等,在此不再一一列举。
用于检测CPU、内存等计算资源的算力检测值的算力检测装置可以采用现有的能够实现算力检测功能的装置。对于算力检测装置检测得到算力检测值的具体过程,本申请不再赘述,参考现有的能够实现算力检测功能的装置的相关介绍即可。例如,通过CPU跑分工具检测CPU的性能,得到CPU的算力检测值。
集群控制中心中应用编排调度装置进行应用副本调度时,获取应用副本的原始资源请求,以及目标计算资源的算力检测值。目标计算资源是指应用副本的原始资源请求中所请求的计算资源。例如,应用副本的原始资源请求为CPU4核,内存30M,则目标计算资源为CPU与内存。
S102:根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
为了平衡各应用副本的响应速度,本实施例在获取应用副本的原始资源请求以及获取各计算节点的目标计算资源的算力检测值的基础上,根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到某个计算节点时,应用副本的实际资源需求。
同一个应用副本部署在不同算力的计算节点时,该应用副本的实际资源需求不同。本实施例根据算力的差异,去调整真实的资源诉求,以此达到应用体验更加一致、平衡的效果。
在一种具体的实施方式中,所述根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
比较所述目标计算资源的算力检测值与基准算力;
根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
应用副本的原始资源请求可以看作是以基准算力为标准的资源请求。应用副本的实际资源需求可以看作是以实际的算力检测值为标准的资源请求。
获取基准算力,并通过比较计算节点的目标计算资源的算力检测值与基准算力,可以判断出将应用副本部署到该计算节点时,对应用副本的响应速度的影响程度。
例如,应用副本请求4核CPU,可认为应用副本请求的是算力为基准算力的4核CPU。通过比较,如果CPU的实际的算力与基准算力相差较大时,此时可认为将应用副本部署到该计算节点时,对应用副本的响应速度的影响程度较大。如果CPU的实际的算力与基准算力相差较小时,此时可认为将应用副本部署到该计算节点时,对应用副本的响应速度的影响程度较小。
根据比较结果,确定相应的实际资源需求。
例如,如果CPU的实际的算力与基准算力相差较大时,为了使应用副本的响应速度一致,此时应用副本的实际资源需求应该大于原始资源请求,应用副本的实际资源需求可以为6核CPU。
其中,所述根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求可以包括:
若所述计算资源的算力检测值与所述计算资源的基准算力的差值小于预设阈值,则保持所述应用副本的实际资源需求与所述应用副本的原始资源请求一致;
若所述计算资源的算力检测值与所述计算资源的基准算力的差值不小于所述预设阈值,则根据预设策略,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
预设阈值的大小可以进行差异化设置。如果计算资源的算力检测值与计算资源的基准算力的差值小于预设阈值,则保持应用副本的实际资源需求与应用副本的原始资源请求一致。如果计算资源的算力检测值与计算资源的基准算力的差值不小于预设阈值,则根据预设策略,计算得到将应用副本部署到计算节点时,应用副本的实际资源需求。预设策略的原则可以是计算节点的计算资源的算力检测值与计算资源的基准算力的差值越大,应用副本部署到此计算节点的实际资源需求越大。在此原则下,对于预设策略即对于具体的计算方式,本领域技术人员可以进行差异性设置。
在一种具体的实施方式中,所述根据预设策略,计算得到将所述应用副本部署到所述计算节点时所述应用副本的实际资源需求包括:
根据x需求=(m-n)/m*x+x,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
x需求表示所述实际资源需求,m表示所述计算资源的基准算力,n表示所述计算资源的算力检测值,x表示所述原始资源请求的计算资源量。
例如,应用副本的原始资源请求为CPU2核,某个计算节点的CPU的算力检测值为50,CPU的基准算力为100,则x需求=(100-50)/100*2+2=3。即应用副本部署到此计算节点的实际资源需求是CPU3核。
需要说明的是,若利用x需求=(m-n)/m*x+x计算得到实际资源需求是小数时,可以采取进1取整的方式。例如,计算得到的x需求=3.3,此时实际资源需求为4。
S103:从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;
S104:将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
针对容器集群中的每一个计算节点,都可以计算得到应用副本调度此计算节点时,应用副本的实际资源需求。如果计算节点能够满足应用副本部署到此计算节点时的实际资源需求,那么可以将计算节点部署到该计算节点。满足应用副本的实际资源需求是指同时满足实际资源需求中的各项资源需求。
例如,实际资源需求为4核CPU,30M内存,那么满足实际资源需求是指同时满足4核CPU与30M内存。
在一种具体的实施方式中,所述将所述应用副本部署到筛选出的所述计算节点包括:
当筛选出的所述计算节点为多个时,从筛选出的各所述计算节点中选取最优计算节点;
将所述应用副本部署到所述最优计算节点。
如果筛选出的计算节点为1个,即只有一个计算节点能够满足应用副本部署到此计算节点时的实际资源需求。此时将应用副本部署到该唯一筛选出的计算节点。如果筛选出的计算节点为多个,则首先从中选取最优计算节点,然后将应用副本部署到此最优计算节点。
在一种具体的实施方式中,所述从筛选出的各所述计算节点中选取最优计算节点包括:
从筛选出的所述计算节点中选取剩余内存最大的所述计算节点作为所述最优计算节点。
本实施例中最优计算节点的标准是剩余内存最大。对于能够满足应用副本部署到此计算节点时的实际资源需求的各个计算节点,剩余内存最大的计算节点为最优计算节点。
如果最优计算节点为1个,此时将应用副本部署到此唯一的最优计算节点。如果最优计算节点为多个,此时可以随机从中选取一个最优计算节点,将应用副本部署到选取的此最优计算节点。如果最优计算节点为多个,此时还可以结合其他因素从中选取一个最优计算节点,并将应用副本部署到选取的此最优计算节点。例如,结合最优计算节点运行的服务的个数,从各最优计算节点中选择运行的服务最少的最优计算节点。
在另一种具体的实施方式中,所述从筛选出的各所述计算节点中选取最优计算节点包括:
从筛选出的所述计算节点中选取运行的服务最少的所述计算节点作为所述最优计算节点。
本实施例中最优计算节点的标准是运行的服务最少。对于能够满足应用副本部署到此计算节点时的实际资源需求的各个计算节点,运行的服务最少的计算节点为最优计算节点。
如果最优计算节点为1个,此时将应用副本部署到此唯一的最优计算节点。如果最优计算节点为多个,此时可以随机从中选取一个最优计算节点,将应用副本部署到选取的此最优计算节点。如果最优计算节点为多个,此时还可以结合其他因素从中选取一个最优计算节点,并将应用副本部署到选取的此最优计算节点。例如,结合最优计算节点剩余的内存,从各最优计算节点中选择剩余的内存最多的最优计算节点。
进一步,在一种具体的实施方式中,还包括:
若各所述计算节点均不能满足所述实际资源需求中的所有资源需求,则从各所述计算节点中挑选计算资源量最接近所述资源需求的计算节点,并将所述应用副本部署到挑选出的所述计算节点。
例如,应用副本部署到某两个计算节点时的实际资源需求均为4核CPU,两个计算节点均不存在空闲的4核CPU,则此时两个计算节点不能够满足应用副本的实际资源需求。如果其中一个计算节点存在空闲的3核CPU,另一个计算节点存在空闲的2核CPU,则此时选择存在空闲的3核CPU的计算节点,并将应用副本部署到存在空闲的3核CPU的计算节点。
进一步,在一种具体的实施方式中,还包括:
若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的数量,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
例如,应用副本部署到某三个计算节点时的实际资源需求均为4核CPU,30M内存以及100MGPU显存,一个计算节点只有空闲的4核CPU,一个计算节点只有30M内存,一个计算节点有30M内存与100MGPU显存。因此,此时选择有30M内存与100MGPU显存的计算节点,并将应用副本部署到有30M内存与100MGPU显存的计算节点。
进一步,在一种具体的实施方式中,还包括:
若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的优先级,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
例如,应用副本部署到某两个计算节点时的实际资源需求均为4核CPU,30M内存,一个计算节点只有空闲的4核CPU,一个计算节点只有30M内存,CPU的优先级高于内存,则此时选择有空闲的4核CPU的计算节点,并将应用副本部署到有空闲的4核CPU的计算节点。
不同计算资源的优先级预先可以自定义。应用编排调度装置获取各计算资源的优先级,并据此执行上述操作。
进一步,在一种具体的实施方式中,还包括:
记录满足当前的所述应用副本的所述实际资源需求的计算节点,形成备选计算节点目录,以当部署与当前的所述应用副本的所述原始资源请求相同的应用副本时,从所述备选计算节点目录中选取计算节点。
例如,满足当前的应用副本的实际资源需求的计算节点有3个,记录这3个计算节点,形成备选计算节点目录。后续当部署下一个应用副本时,如果下一个应用副本的原始资源请求与当前的该应用副本的原始资源请求相同,此时可以直接从备选计算节点目录中选择一个未部署应用副本的计算节点,并将下一个应用副本部署到此计算节点。针对下一个应用副本此时无需执行步骤S101~S104,可以更快的完成应用副本的部署。
综上所述,本申请所提供的容器集群算力调度方法,根据各计算节点的真实的算力以及应用副本的原始资源请求进行差异化的算力调度,而不是为应用副本简单的分配相同的CPU核数、内存数、GPU显存数等计算资源,这样可以使各应用副本最大限度的有一致的响应速度和体验,进而能够提升容器集群的一致性体验。
本申请还提供了一种容器集群算力调度装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图3,图3为本申请实施例所提供的一种容器集群算力调度装置的示意图,结合图3所示,该装置包括:
获取模块10,用于获取各计算节点的目标计算资源的算力检测值;
确定模块20,用于根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
筛选模块30,用于从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;
部署模块40,用于将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
在上述实施例的基础上,作为一种具体的实施方式,所述确定模块20包括:
比较单元,用于比较所述计算资源的算力检测值与基准算力;
确定单元,用于根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
在上述实施例的基础上,作为一种具体的实施方式,所述确定单元包括:
保持单元,用于若所述计算资源的算力检测值与所述计算资源的基准算力的差值小于预设阈值,则保持所述应用副本的实际资源需求与所述应用副本的原始资源请求一致。
在上述实施例的基础上,作为一种具体的实施方式,所述确定单元包括:
计算单元,用于若所述计算资源的算力检测值与所述计算资源的基准算力的差值不小于预设阈值,则根据预设策略,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
在上述实施例的基础上,作为一种具体的实施方式,所述计算单元具体用于:
根据x需求=(m-n)/m*x+x,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
x需求表示所述实际资源需求,m表示所述计算资源的基准算力,n表示所述计算资源的算力检测值,x表示所述原始资源请求的计算资源量。
在上述实施例的基础上,作为一种具体的实施方式,所述部署模块40包括:
筛选单元,用于当满足所述应用副本的所述实际资源需求的计算节点为多个时,从筛选出的各所述计算节点中选取最优计算节点;
部署单元,用于将所述应用副本部署到所述最优计算节点。
在上述实施例的基础上,作为一种具体的实施方式,所述筛选单元具体用于:
从筛选出的所述计算节点中选取剩余内存最大的所述计算节点作为所述最优计算节点。
在上述实施例的基础上,作为一种具体的实施方式,所述筛选单元具体用于:
从筛选出的所述计算节点中选取运行的服务最少的所述计算节点作为所述最优计算节点。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
第一挑选模块,用于若各所述计算节点均不能满足所述实际资源需求中的所有资源需求,则从各所述计算节点中挑选计算资源量最接近所述资源需求的计算节点,并将所述应用副本部署到挑选出的所述计算节点。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
第二挑选模块,用于若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的数量,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
第三挑选模块,用于若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的优先级,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
优先级获取模块,用于获取各所述资源需求的优先级。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
接收模块,用于接收各所述计算节点上报的各项计算资源的算力检测值。
在上述实施例的基础上,作为一种具体的实施方式,所述接收模块具体用于:
接收各所述计算节点定时上报的各项所述计算资源的算力检测值。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
基准算力获取模块,用于获取各所述计算资源的所述基准算力。
在上述实施例的基础上,作为一种具体的实施方式,还包括:
记录模块,用于记录满足当前的所述应用副本的所述实际资源需求的计算节点,形成备选计算节点目录,以当部署与当前的所述应用副本的所述原始资源请求相同的应用副本时,从所述备选计算节点目录中选取计算节点。
本申请还提供了一种容器集群算力调度设备,参考图4所示,该设备包括存储器1和处理器2。
存储器1,用于存储计算机程序;
处理器2,用于执行计算机程序实现如下的步骤:
获取各计算节点的目标计算资源的算力检测值;根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
对于本申请所提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下的步骤:
获取各计算节点的目标计算资源的算力检测值;根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请所提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
本申请还提供了一种容器集群,包括集群控制中心与若干计算节点;
所述集群控制中心,用于获取各计算节点的目标计算资源的算力检测值;
根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
对于本申请所提供的容器集群的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围。

Claims (20)

1.一种容器集群算力调度方法,其特征在于,包括:
获取各计算节点的目标计算资源的算力检测值;所述目标计算资源指应用副本的原始资源请求中所请求的计算资源;
根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;
将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
2.根据权利要求1所述的容器集群算力调度方法,其特征在于,所述根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
比较所述计算资源的算力检测值与基准算力;
根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
3.根据权利要求2所述的容器集群算力调度方法,其特征在于,所述根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
若所述计算资源的算力检测值与所述计算资源的基准算力的差值小于预设阈值,则保持所述应用副本的实际资源需求与所述应用副本的原始资源请求一致。
4.根据权利要求2所述的容器集群算力调度方法,其特征在于,所述根据比较结果,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求包括:
若所述计算资源的算力检测值与所述计算资源的基准算力的差值不小于预设阈值,则根据预设策略,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求。
5.根据权利要求4所述的容器集群算力调度方法,其特征在于,所述根据预设策略,计算得到将所述应用副本部署到所述计算节点时所述应用副本的实际资源需求包括:
根据x需求=(m-n)/m*x+x,计算得到将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
x需求表示所述实际资源需求,m表示所述计算资源的基准算力,n表示所述计算资源的算力检测值,x表示所述原始资源请求的计算资源量。
6.根据权利要求1所述的容器集群算力调度方法,其特征在于,所述将所述应用副本部署到筛选出的所述计算节点包括:
当满足所述应用副本的所述实际资源需求的计算节点为多个时,从筛选出的各所述计算节点中选取最优计算节点;
将所述应用副本部署到所述最优计算节点。
7.根据权利要求6所述的容器集群算力调度方法,其特征在于,所述从筛选出的各所述计算节点中选取最优计算节点包括:
从筛选出的所述计算节点中选取剩余内存最大的所述计算节点作为所述最优计算节点。
8.根据权利要求6所述的容器集群算力调度方法,其特征在于,所述从筛选出的各所述计算节点中选取最优计算节点包括:
从筛选出的所述计算节点中选取运行的服务最少的所述计算节点作为所述最优计算节点。
9.根据权利要求1所述的容器集群算力调度方法,其特征在于,还包括:
若各所述计算节点均不能满足所述实际资源需求中的所有资源需求,则从各所述计算节点中挑选计算资源量最接近所述资源需求的计算节点,并将所述应用副本部署到挑选出的所述计算节点。
10.根据权利要求1所述的容器集群算力调度方法,其特征在于,还包括:
若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的数量,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
11.根据权利要求1所述的容器集群算力调度方法,其特征在于,还包括:
若存在满足所述实际资源需求中部分资源需求的计算节点,则根据满足的所述资源需求的优先级,从满足所述实际资源需求中部分资源需求的计算节点中挑选计算节点,并将所述应用副本部署到所挑选的所述计算节点。
12.根据权利要求11所述的容器集群算力调度方法,其特征在于,还包括:
获取各所述资源需求的优先级。
13.根据权利要求1所述的容器集群算力调度方法,其特征在于,还包括:
接收各所述计算节点上报的各项计算资源的算力检测值。
14.根据权利要求13所述的容器集群算力调度方法,其特征在于,所述接收各所述计算节点上报的各项计算资源的算力检测值包括:
接收各所述计算节点定时上报的各项所述计算资源的算力检测值。
15.根据权利要求2所述的容器集群算力调度方法,其特征在于,还包括:
获取各所述计算资源的所述基准算力。
16.根据权利要求1至15任一项所述的容器集群算力调度方法,其特征在于,还包括:
记录满足当前的所述应用副本的所述实际资源需求的计算节点,形成备选计算节点目录,以当部署与当前的所述应用副本的所述原始资源请求相同的应用副本时,从所述备选计算节点目录中选取计算节点。
17.一种容器集群算力调度装置,其特征在于,包括:
获取模块,用于获取各计算节点的目标计算资源的算力检测值;所述目标计算资源指应用副本的原始资源请求中所请求的计算资源;
确定模块,用于根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;
筛选模块,用于从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;
部署模块,用于将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
18.一种容器集群算力调度设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至16任一项所述的容器集群算力调度方法的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的容器集群算力调度方法的步骤。
20.一种容器集群,其特征在于,包括:
集群控制中心与若干计算节点;
所述集群控制中心,用于获取各计算节点的目标计算资源的算力检测值;所述目标计算资源指应用副本的原始资源请求中所请求的计算资源;
根据应用副本的原始资源请求与所述计算节点的目标计算资源的算力检测值,确定将所述应用副本部署到所述计算节点时,所述应用副本的实际资源需求;从各所述计算节点中筛选出满足所述应用副本的所述实际资源需求的计算节点;将所述应用副本部署到筛选出的所述计算节点,并在所述计算节点为所述应用副本分配所述实际资源需求所需的计算资源量。
CN202211554106.7A 2022-12-06 2022-12-06 一种容器集群算力调度方法及相关装置 Active CN115562843B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211554106.7A CN115562843B (zh) 2022-12-06 2022-12-06 一种容器集群算力调度方法及相关装置
PCT/CN2023/101216 WO2024119763A1 (zh) 2022-12-06 2023-06-20 一种容器集群算力调度方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211554106.7A CN115562843B (zh) 2022-12-06 2022-12-06 一种容器集群算力调度方法及相关装置

Publications (2)

Publication Number Publication Date
CN115562843A CN115562843A (zh) 2023-01-03
CN115562843B true CN115562843B (zh) 2023-03-28

Family

ID=84770305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211554106.7A Active CN115562843B (zh) 2022-12-06 2022-12-06 一种容器集群算力调度方法及相关装置

Country Status (2)

Country Link
CN (1) CN115562843B (zh)
WO (1) WO2024119763A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562843B (zh) * 2022-12-06 2023-03-28 苏州浪潮智能科技有限公司 一种容器集群算力调度方法及相关装置
CN116541134B (zh) * 2023-07-05 2023-09-19 苏州浪潮智能科技有限公司 多架构集群中容器的部署方法及装置
CN116991558B (zh) * 2023-09-22 2024-02-02 苏州元脑智能科技有限公司 算力资源的调度方法及多架构集群、装置、存储介质
CN118034941B (zh) * 2024-04-12 2024-06-25 深圳市捷易科技有限公司 集群算力优化方法、装置、设备及存储介质
CN118331751B (zh) * 2024-06-14 2024-08-20 济南浪潮数据技术有限公司 计算资源分配方法、计算机程序、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328663A (zh) * 2022-10-10 2022-11-11 亚信科技(中国)有限公司 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
CN115391023A (zh) * 2021-05-25 2022-11-25 中移雄安信息通信科技有限公司 多任务容器集群的计算资源优化方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102281B2 (en) * 2019-02-15 2021-08-24 International Business Machines Corporation Tool for managing and allocating resources in a clustered computing environment
CN113448721A (zh) * 2020-03-27 2021-09-28 中国移动通信有限公司研究院 算力处理的网络系统及算力处理方法
CN113296905B (zh) * 2021-03-30 2023-12-26 阿里巴巴新加坡控股有限公司 调度方法、装置、电子设备、存储介质及软件产品
CN113645300B (zh) * 2021-08-10 2023-11-28 上海道客网络科技有限公司 一种基于Kubernetes集群的节点智能调度方法和系统
CN115562843B (zh) * 2022-12-06 2023-03-28 苏州浪潮智能科技有限公司 一种容器集群算力调度方法及相关装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391023A (zh) * 2021-05-25 2022-11-25 中移雄安信息通信科技有限公司 多任务容器集群的计算资源优化方法及装置
CN115328663A (zh) * 2022-10-10 2022-11-11 亚信科技(中国)有限公司 基于PaaS平台进行资源调度的方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN115562843A (zh) 2023-01-03
WO2024119763A1 (zh) 2024-06-13

Similar Documents

Publication Publication Date Title
CN115562843B (zh) 一种容器集群算力调度方法及相关装置
EP3129880B1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
US10783002B1 (en) Cost determination of a service call
CN113835865B (zh) 一种任务部署方法和装置、电子设备和存储介质
US10778772B2 (en) Cloud platform or cloud provider selection
EP2437168A2 (en) Method and device for balancing load of multiprocessor system
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
CN111866054A (zh) 一种云主机的搭建方法、装置、电子设备及可读存储介质
CN111309644B (zh) 一种内存分配方法、装置和计算机可读存储介质
CN110781145B (zh) 一种文件系统任务调度方法、装置、设备及可读存储介质
CN110928638A (zh) 一种虚拟机部署的宿主机的选择方法和装置
CN110493317B (zh) 处理云平台资源碎片的方法及相关设备
CN108241535B (zh) 资源管理的方法、装置及服务器设备
CN115292014A (zh) 图像渲染方法、装置和服务器
US20130339935A1 (en) Adjusting Programs Online and On-Premise Execution
CN107395447B (zh) 模块检测方法、系统容量预估方法及相应的设备
CN114327824A (zh) 一种业务主机的确定方法、装置及电子设备
KR101702218B1 (ko) 역경매 방식 자원할당 장치를 포함하는 하이브리드 클라우드 서버 및 그 자원 할당 방법 및 시스템
CN105511959A (zh) 虚拟资源分配方法和装置
CN116483546B (zh) 分布式训练任务调度方法、装置、设备及存储介质
CN117076127A (zh) 一种算力调度的处理方法、装置及介质
CN105929851B (zh) 一种采用摇杆设备控制云台方法和装置
CN109783236B (zh) 用于输出信息的方法和装置
CN110096352A (zh) 进程管理方法、装置及计算机可读存储介质
CN115454574A (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