CN117009091B - 一种资源调整方法、装置、设备及可读存储介质 - Google Patents

一种资源调整方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN117009091B
CN117009091B CN202311278128.XA CN202311278128A CN117009091B CN 117009091 B CN117009091 B CN 117009091B CN 202311278128 A CN202311278128 A CN 202311278128A CN 117009091 B CN117009091 B CN 117009091B
Authority
CN
China
Prior art keywords
cpu
resource
component
occupancy
occupation
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
CN202311278128.XA
Other languages
English (en)
Other versions
CN117009091A (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.)
Inspur Shandong Computer Technology Co Ltd
Original Assignee
Inspur Shandong Computer 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 Inspur Shandong Computer Technology Co Ltd filed Critical Inspur Shandong Computer Technology Co Ltd
Priority to CN202311278128.XA priority Critical patent/CN117009091B/zh
Publication of CN117009091A publication Critical patent/CN117009091A/zh
Application granted granted Critical
Publication of CN117009091B publication Critical patent/CN117009091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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)
  • Power Sources (AREA)

Abstract

本申请在计算机应用技术领域,公开了一种资源调整方法、装置、设备及可读存储介质,在AI服务器的CPU处于高占用状态下,通过确定异常占用CPU资源的目标部件,并对目标部件中不同的情况的部件分别进行限流、引流或限耗,从而维持CPU在高占用率的场景下稳定运行,同时增加AI服务器的抗干扰能力;可以维持服务器在各种复杂恶劣的使用环境下稳定高效的运行。即,通过对目标部件的CPU资源进行调整,能确保AI服务器在不同使用环境操作时保持高效稳定的运行状态,进一步可助力AI服务器在客户使用过程中获得更加优质的使用体验。

Description

一种资源调整方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种资源调整方法、装置、设备及可读存储介质。
背景技术
AI(Artificial Intelligence,人工智能)服务器是最近几年增加最迅猛的服务器,凭借其AI服务器超高的性能和极高的性价比在国际市场备受客户和消费者的青睐。AI服务器需要CPU和GPU(Graphics Processing Unit,图像处理器)超高的性能作为支撑,尤其是在算力和大数据模型加持下,对于CPU性能和稳定性的要求不言而喻。同时,服务器作为信息服务器的基础载体,对于高性能服务器的性能需求尤其重要,同样极端使用环境下服务器的稳定性要求特别重要。AI服务器通常搭配一些智能化的部件,再搭配生态化的服务器,需要一些基础的设置去匹配服务器或者一些智能设备的使用,才能发挥服务器或者智能化设备更佳的性能,这样对于CPU的性能和稳定性的要求更加重要。但是,目前AI服务器在极端使用状态下,往往会出现业务不稳定,甚至宕机。
综上所述,如何有效地解决AI服务器在极端使用环境下的稳定性等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本申请的目的是提供一种资源调整方法、装置、设备及可读存储介质,保障AI服务器在CPU处于高占用状态,也能保持稳定的运行。
为解决上述技术问题,本申请提供如下技术方案:
一种资源调整方法,包括:
在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定所述AI服务器的CPU占用状态;
在CPU处于高占用状态下,获取部件的CPU资源占比;
基于所述CPU资源占比,确定异常占用CPU资源的目标部件;
对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理;
在对所述高占用部件进行限流处理之后,若无法为所述低占用部件成功引流,则对所述高占用部件进行限耗处理,直到所述CPU跳出所述高占用状态。
优选地,对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理,包括:
限制所述高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将所述高占用部件圈定到额定的范围内去使用资源;
将CPU内部资源引导分配给特定信息资源交换空间,并将所述特定信息资源交换空间分配需要支撑所述低占用部件的区域空间。
优选地,获取部件的CPU资源占比,包括:
获取所述部件的ID信息,并基于所述ID信息确定设备ID;
根据所述设备ID获取所述部件的位置;
根据所述位置获取设备PCI信息;
根据所述PCI信息获取所述CPU资源占比。
优选地,获取部件的CPU资源占比,包括:
通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比;
其中,所述直接交互通道为带内通讯通道,所述间接交互通道为借道BIOS和服务器系统中的虚拟通道。
优选地,通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比,包括:
基于所述直接交互通道,从CPU特定寄存器中读取所述CPU资源占比。
优选地,通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比,包括:
基于所述BIOS虚拟的软件通道,通过所述BIOS内部集成CPU提供的补丁包与CPU内部资源的交互,得到所述CPU资源占比。
优选地,通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比,包括:
通过集成命令或工具,从所述服务器系统中获取所述CPU资源占比。
优选地,基于所述CPU资源占比,确定异常占用CPU资源的目标部件,包括:
获取所述部件的标识信息,并基于所述标识信息从BMC数据库中调出对应的CPU内部资源占比范围;
将所述CPU资源占比超出所述CPU内部资源占比范围的部件确定为所述目标部件。
优选地,对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理,包括:
若所述CPU资源占比超出CPU内部资源占比范围的上限边缘,则将对应的所述目标部件确定为所述高占用部件;
若所述CPU资源占比超出所述CPU内部资源占比范围的下限边缘,则将对应的所述目标部件确定为所述低占用部件;
对所述高占用部件执行限流不可以引流的限制策略;
协调CPU资源供所述低占用部件使用。
优选地,确定所述AI服务器的CPU处于高功耗状态的过程,包括:
获取CPU功耗;
若所述CPU功耗大于高功耗阈值,则确定CPU处于所述高功耗状态。
优选地,利用CPU使用率确定所述AI服务器的CPU占用状态,包括:
获取所述CPU使用率;
若所述CPU使用率大于高占用使用阈值,则确定所述CPU占用状态为所述高占用状态。
优选地,在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定所述AI服务器的CPU占用状态,包括:
获取所述CPU功耗;
若所述CPU功耗大于高功耗阈值,则确定所述AI服务器处于高功耗状态;
在所述高功耗状态下,获取所述CPU使用率;
在所述CPU使用率大于高占用使用阈值,则确定所述CPU占用状态为所述高占用状态。
优选地,获取所述CPU使用率,包括:
获取所述AI服务器的CPU资源占比和静态CPU资源占比;
叠加所述CPU资源占比和所述静态CPU资源占比,得到所述CPU使用率。
优选地,获取所述静态CPU资源占比,包括:
根据设备给定的设备使用率和CPU资源占比,确定所述静态CPU资源占比。
优选地,获取所述CPU使用率,包括:
通过直接交互通道和/或间接交互通道,获取所述CPU使用率。
优选地,还包括:
比对不同交互通道所获取的所述CPU使用率;
在比对结果不一致的情况下,则再次获取所述CPU使用率;
在所述比对结果一致的情况下,在所述CPU使用率大于高占用使用阈值,则确定所述CPU占用状态为所述高占用状态;
在所述比对结果不一致的数量达到校对阈值或比对时长超过时间阈值的情况下,若持续获取所述CPU功耗均大于高功耗阈值,则确定所述CPU占用状态为所述高占用状态。
优选地,还包括:
对所述AI服务器进行极限测试,得到极限测试性能数据;
基于所述极限测试性能数据确定高功耗阈值、高占用使用阈值和CPU内部资源占比范围中的至少一个。
优选地,所述部件包括外围部件和内部部件;其中所述内部部件包括内存、硬盘,所述外围部件包括外插卡。
优选地,在对所述高占用部件进行限流处理之后,若无法为所述低占用部件成功引流,则对所述高占用部件进行限耗处理,直到所述CPU跳出所述高占用状态,包括:
在对所述高占用部件进行限流处理之后,获取当前CPU可用资源;
若当前CPU可用资源无法满足为所述低占用部件引流,则对所述高占用部件进行限耗处理;
在进行限耗处理后,对所述低占用部件进行引流,直到所述CPU跳出所述高占用状态,结束本轮资源调整;
其中,所述引流为将CPU内部资源引导分配给特定信息资源交换空间,并将所述特定信息资源交换空间分配需要支撑所述低占用部件的区域空间;
所述限流为限制所述高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将所述高占用部件圈定到额定的范围内去使用资源;
所述限耗为在高功耗部件处于跑飞或者不可控的状态,对所述高占用部件进行功耗限制。
一种资源调整装置,包括:
CPU状态确定模块,用于在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定所述AI服务器的CPU占用状态;
部件资源占比确定模块,用于在CPU处于高占用状态下,获取部件的CPU资源占比;
异常确定模块,用于基于所述CPU资源占比,确定异常占用CPU资源的目标部件;
资源调整模块,用于对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理;
在对所述高占用部件进行限流处理之后,若无法为所述低占用部件成功引流,则对所述高占用部件进行限耗处理,直到所述CPU跳出所述高占用状态。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述资源调整方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述资源调整方法的步骤。
应用本申请实施例所提供的方法,在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定AI服务器的CPU占用状态;在CPU处于高占用状态下,获取部件的CPU资源占比;基于CPU资源占比,确定异常占用CPU资源的目标部件;对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理;在对高占用部件进行限流处理之后,若无法为低占用部件成功引流,则对高占用部件进行限耗处理,直到CPU跳出高占用状态。
在本申请中,首先在AI服务器的CPU处于高功耗状态下,利用CPU利用率确定AI服务器的CPU占用状态,在确定CPU处于高占用状态的情况下,获取部件的CPU资源占比,基于该COU资源占比确定异常占用CPU资源的目标部件。然后对目标部件中的高占用部件进行限流,对目标部件中的低占用部件进行引流,并且在不满足引流条件时,对高占用部件进行限耗,直到CPU跳出高占用状态。也就是说,当确定AI服务器的CPU处于高占用状态,则表明AI服务器的性能无法得到保障,且随时可能宕机,此时可以获取部件的CPU资源占比,然后确定异常占用CPU资源的目标部件,针对该目标部件进行CPU资源调整,直到跳出高占用状态。如此,便可通过调整部分异常占用CPU资源的目标部件,从而使得CPU跳出高占用状态,从而保障AI服务器持续且稳定的运行。
本申请的技术效果:在AI服务器的CPU处于高占用状态下,通过确定异常占用CPU资源的目标部件,并对目标部件中不同的情况的部件分别进行限流、引流或限耗,从而维持CPU在高占用率的场景下稳定运行,同时增加AI服务器的抗干扰能力;可以维持服务器在各种复杂恶劣的使用环境下稳定高效的运行。即,通过对目标部件的CPU资源进行调整,能确保AI服务器在不同使用环境操作时保持高效稳定的运行状态,进一步可助力AI服务器在客户使用过程中获得更加优质的使用体验。
相应地,本申请实施例还提供了与上述资源调整方法相对应的资源调整装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种资源调整方法的实施流程图;
图2为本申请实施例中一种AI服务器示意图;
图3为本申请实施例中一种资源调整装置的结构示意图;
图4为本申请实施例中一种电子设备的结构示意图;
图5为本申请实施例中一种电子设备的具体结构示意图;
图6为本申请实施例中一种资源调整方法的具体实施示意图。
具体实施方式
一般地,深度学习的三大要素是数据、算法和计算力,其中数据是基础,算法是工具,计算力是助推器,计算力的提高推动者深度学习的发展,深度学习之前发展缓慢,除了算法的原因外,很重要的一个原因是计算能力的不足,解决计算力最重要的支撑是AI服务器。
请参考图2,图2为本申请实施例中一种AI服务器示意图,AI服务器与普通的GPU服务器虽然组成上类似,核心计算部件都是GPU加速卡,但是二者不可等同,主要包括以下几点区别:
1、卡的数量不一致:普通的GPU服务器一般是单卡或者双卡,AI服务器需要承担大量的计算,一般配置四块GPU卡以上,甚至要搭建AI服务器集群。
2、P2P(point to point,点对点通信)通讯:普通GPU服务器要求的是单卡性能,AI训练中GPU卡间需要大量的参数通信,模型越复杂,通信量越大,所以AI服务器除了要求单卡性能外,还要求多卡间的通讯性能,采用PCI(Peripheral Component Interconnect,中文为外设组件互联标准)3.0协议通信的最大P2P带宽达到32GB/s,采用SXM2协议通信的最大P2P带宽达到50GB/s,采用SXM3协议通信的最大P2P带宽达到300GB/s。
3、独特设计:AI服务器由于有了多个GPU卡,需要针对性的对于系统结构、散热、拓扑等做专门的设计,才能满足AI服务器长期稳定运行的要求。
4、先进技术:AI服务器有很多更先进的技术,包括Purley平台更大内存带宽,NVlink提供更大的互联带宽,TensorCore提供更强的AI计算力。
本申请的核心是提供一种资源调整方法、装置、设备及可读存储介质。该方法能够基于AI服务器BMC(baseboard management controller,基板管理控制器)避免CPU资源被异常占用导致机器稳定性降低。具体的,在AI服务器使用场景,需要挂载有些大模型算力的部件应用场景,即对CPU性能要求非常高使用状态,且稳定性需求也要高于普通服务器的使用场景;因此本发明主要针对CPU性能在极限使用情况下抵抗外界的抗干扰能力。由于,AI服务器的使用场景一直处于大模型高速运算的场景中,对于CPU算力的使用一直处于满负荷的使用状态,AI服务器也一直处理满负荷的运行状态下,作为服务器的处理大脑的CPU稳定性,因此显得十分重要。
本发明所提供的方法,可基于AI服务器BMC避免CPU资源被异常占用,主要针对AI服务器CPU使用率较高的使用场景,避免在极端的使用场景中出现异常,可加入AI服务器极限测试使用以此来模拟高性能的使用场景极限的抗干扰能力,通过服务器固件BMC控制和联调作用,通过与CPU内部的交互协助协调CPU的内部资源分配形成闭环调整,维持CPU在高占用率的场景下稳定运行,同时增加服务器设备的抗干扰能力;维持服务器在各种复杂恶劣的使用环境下稳定高效的运行。通过AI服务器固件BMC的对于有效处理机制,能确保AI服务器在不同使用环境操作时保持高效稳定的运行状态,助力AI CPU平台服务器服务,在客户使用过程中获得更加优质的使用体验。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例中一种资源调整方法的流程图,该方法可应用于AI服务器的BMC中,该方法包括以下步骤:
S101、在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定AI服务器的CPU占用状态。
CPU功耗的大小通常与CPU的占用状态成正比,CPU使用率也即CPU占用率。因此,在本申请实施例中,可以在CPU处于高功耗状态下,再利用CPU利用率,来确定AI服务器的CPU占用状态。
例如,可以对应不同的CPU占用状态,为CPU使用率划分不同的阈值区域,基于当前所获取的CPU使用率之后,便可基于所属阈值区域,即可确定当前的CPU占用状态。
在本申请中的一种具体实施方式中,确定AI服务器的CPU处于高功耗状态的过程,包括:
获取CPU功耗;
若CPU功耗大于高功耗阈值,则确定CPU处于高功耗状态。
也就是说,可以先获取CPU功耗,然后,将该CPU功耗与高功耗阈值进行比对,当CPU功耗大于高功耗阈值,则可确定该CPU处于高功耗状态。
在本申请实施例中,可以将CPU功耗状态分为高功耗状态和低功耗状态,当CPU功耗大于高功耗阈值,则确定为高功耗状态,否则即为低功耗状态。当然,在实际应用中,为了保障CPU功耗状态的可靠性,还可设置状态变化的次数条件,例如,从低功耗状态跳变至高功耗状态,需要持续N次获取的CPU功耗均大于高功耗阈值,反之,从高功耗状态跳变至低功耗状态,需要持续N次获取的CPU功耗均小于高功耗阈值,其中N值可以根据实际需求而定,本实施例对此不做具体限定。此外,还可将CPU占用状态分为更多种占用状态,以便进行细粒度管理。
在本申请中的一种具体实施方式中,利用CPU使用率确定AI服务器的CPU占用状态,包括:
获取CPU使用率;
若CPU使用率大于高占用使用阈值,则确定CPU占用状态为高占用状态。
也就是说,当仅基于CPU使用率来确定CPU的占用状态时,可以先获取到CPU使用率,然后,在CPU使用率大于高占用使用阈值的情况下,确定CPU占用状态为高占用状态。
基于CPU使用率确定CPU占用状态的过程,可以参照基于CPU功耗确定CPU占用状态的过程,在此不再赘述。
在本申请中的一种具体实施方式中,在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定AI服务器的CPU占用状态,包括:
获取CPU功耗;
若CPU功耗大于高功耗阈值,则确定AI服务器处于高功耗状态;
在高功耗状态下,获取CPU使用率;
在CPU使用率大于高占用使用阈值,则确定CPU占用状态为高占用状态。
也就是说,当基于CPU功耗和CPU使用率来确定CPU占用状态时,可以先获取CPU功耗,在确定CPU功耗大于高功耗阈值时,确定AI服务器处于高功耗状态。
然后,在AI服务器处于高功耗状态的情况下,获取CPU利用率。也就是说,当CPU功耗低于高功耗阈值的情况下,则确定该CPU不会达到高占用状态,因而可无需获取CPU使用率,减少不必须要的CPU使用率获取和PCU状态评估。
当获取到CPU使用率之后,在基于该CPU使用率确定CPU占用状态。具体的确定过程,可以参照上文描述的单独基于CPU使用率确定CPU占用状态的具体过程,在此不再赘述。
在本申请中的一种具体实施方式中,获取CPU使用率,包括:
获取AI服务器的CPU资源占比和静态CPU资源占比;
叠加CPU资源占比和静态CPU资源占比,得到CPU使用率。
也就是说,对于CPU使用率,其包括AI服务器的CPU资源占比和静态CPIU资源占比。具体的,分别获取到这二者之后,进行叠加,即可获得CPU使用率。
其中,获取静态CPU资源占比,包括:
根据设备给定的设备使用率和CPU资源占比,确定静态CPU资源占比。即,静态CPU资源占比,可以基于设备给定的设备使用率和CPU资源占比而定。
在本申请中的一种具体实施方式中,获取CPU使用率,包括:
通过直接交互通道和/或间接交互通道,获取CPU使用率。
也就是说,获取CPU使用率的渠道有2类,一个通过直接交互通道获得,另外一个通过间接交互通道获得。直接交互通道为带内通讯通道,间接交互通道为借道BIOS和服务器系统中的虚拟通道。
例如:固件BMC通过与CPU不同交互方式获取该CPU使用率。
方式1,BMC与CPU交互通道,通道可以直接交互通道如LPC(Low Pin Count,低引脚数通信接口)/I3C(Improved Inter Integrated Circuit,一种基于I2C通讯协议的新的通讯协议)等相关带内的通讯方式。
方式2,通过借道BIOS的ACPI(Advanced Configuration Power Interface,指高级配置和电源管理接口)table通道在CPU初始化时嵌入衔接接口,为后续CPU内部资源协调预留接口为了确保安全,此接口允许BMC内部调控模型调用不能在BMC端预留任何带外接口(借道BIOS的ACPI table通道,CPU与BMC之间虚拟通道)。
方式3、通过BMC预先接入服务器系统OS root用户的交互通道(服务器系统,CPU与BMC之间虚拟通道),即通过OS接口通道完成对CPU内部资源的协调控制操作。
在本申请中的一种具体实施方式中,基于可以通过不同的交互通道获取到CPU使用率,因而还可以对所获取的CPU使用率进行校验。CPU占用状态还可以通过执行以下步骤进行确定:
比对不同交互通道所获取的CPU使用率;
在比对结果不一致的情况下,则再次获取CPU使用率;
在比对结果一致的情况下,在CPU使用率大于高占用使用阈值,则确定CPU占用状态为高占用状态;
在比对结果不一致的数量达到校对阈值或比对时长超过时间阈值的情况下,若持续获取CPU功耗均大于高功耗阈值,则确定CPU占用状态为高占用状态。
为便于描述,下面将上述步骤结合起来进行说明。
需要注意的是,由于不同通道获取方式存在差异,BMC直接获取通过读取CPU特定寄存器的读取资源占比;通过BIOS虚拟的软件通道通过BIOS内部集成CPU提供的补丁包与CPU内部资源的交互;在OS获取CPU内部的资源是通过OS集成命令或工具获取CPU内部资源的占比;它们不同获取来源和可能存在通道获取异常,造成获取资源占比存在异常,因而需要不同获取方式的校对。
具体的,从不同交互通道获取CPU使用率后,可以比对不同的交互通道所获得的CPU使用率。CPU使用率之间可以设定一定的误差范围,当处于误差范围内,则确定比对结果一致,否则确定比对结果不一致。在比对结果不一致的情况下,可以再次获取CPU使用率,在比对几个一致的情况下,则基于CPU使用率确定CPU占用状态。特别地,在多次比对结果都不一致,且数量达到了校对阈值的情况下,则可不再以CPU使用率为参考,而是转而获取CPU功耗,并连续获得的CPU功耗均大于高功耗阈值的情况下,确定CPU占用状态为高占用状态。
例如:BMC需要通过内部集成获取计算出CPU资源的使用率,此时如果基于该CPU使用率判定CPU资源使用较高的使用状态下,为了更好佐证BMC判断无误,可进一步通过带内通道,从OS集成获取CPU资源使用率,如果两者(即两个通道获取到的CPU使用率)近乎统一,则可判定CPU处于高占用率的使用状态,如果大小不统一则需要对于两者多次获取校对,仍然处于不统一状态,则通过持续的高功率监测判定CPU运行状态,判定CPU使用率高占用状态。
即,比对不同交互通道所获取的CPU可用资源空间的分布占比(CPU使用率);在比对CPU可用资源空间的分布占比不均,可用资源占比出现偏差比超过额定的限度,对不同获取方式获取的占比各不少于5次以上的比对,取其中值校验数据的可靠性;在比对校验数据的误差偏离值到达限定额度,在CPU资源空间高于正常资源占用区间上值,则确定CPU资源分配占比存在非法占用的行为。
在比对结果不一致的时间和次数超出了处理非法占用的处理的限值,若持续获取监控CPU功耗均大于合法操控上线,则确定CPU占用状态为高占用状态。
S102、在CPU处于高占用状态下,获取部件的CPU资源占比。
在明确了CPU处于高占用状态的情况下,可以获取部件的CPU资源占比。需要注意的是,若在获取CPU使用率时,以及获取到了CPU资源占比,此时可直接拿来使用,而并不必进行再次获取。
获取部件的CPU资源占用的方式与获取CPU使用率的方式近似。
其中,部件包括外围部件和内部部件;其中内部部件包括内存、硬盘等,外围部件包括外插卡。其中,外插卡可以具体为GPU等加速卡。
在本申请中的一种具体实施方式中,获取部件的CPU资源占比,包括:
获取部件的ID信息,并基于ID信息确定设备ID;
根据设备ID获取部件的位置;
根据位置获取设备PCI信息;
根据PCI信息获取CPU资源占比。
具体的,根据GPU等部件的ID信息判定是哪种设备,根据该种设备的ID获取部件的位置,根据位置获取设备PCI信息,根据PCI信息获取CPU资源占比。
在本申请中的一种具体实施方式中,获取部件的CPU资源占比,包括:通过直接交互通道和/或间接交互通道,获取部件的CPU资源占比。
其中,直接交互通道为带内通讯通道,间接交互通道为借道BIOS和服务器系统中的虚拟通道。
通过直接交互通道和/或间接交互通道,获取部件的CPU资源占比,包括:
方式1,基于直接交互通道,从CPU特定寄存器中读取CPU资源占比。
方式2,基于BIOS虚拟的软件通道,通过BIOS内部集成CPU提供的补丁包与CPU内部资源的交互,得到CPU资源占比。
方式3,通过集成命令或工具,从服务器系统中获取CPU资源占比。
S103、基于CPU资源占比,确定异常占用CPU资源的目标部件。
在本申请实施例中,可以预先设置每一个部件正常的CPU资源占比范围,然后,在获取到部件的CPU资源占比之后,便可通过与对应的CPU资源占比范围进行比对,从而确定异常占用CPU资源的目标部件。
需要注意的是,这里的异常占用CPU资源的目标部件,可以为其CPU资源占比超出CPU资源占比范围的上限边缘或下限边缘。具体的,对于超出上限边缘的目标部件即为高占用部件,反之,超出下限边缘的目标部件即为低占用部件。
在本申请中的一种具体实施方式中,基于CPU资源占比,确定异常占用CPU资源的目标部件,包括:
获取部件的标识信息,并基于标识信息从BMC数据库中调出对应的CPU内部资源占比范围;
将CPU资源占比超出CPU内部资源占比范围的部件确定为目标部件。
具体的,可通过GPU等部件给定的使用率和需要资源关系曲线作为参考;通过不同AI服务器机型搭配部件在实际使用场景,测试不同使用状态资源占比;通过规模测试形成不同点位资源占比的中值数据,作为基准的参考点,部件给定的参考值作为参考范围,作为资源占比的阈值范围,从而判定资源占比是否存在异常。
找出了目标部件之后,基于目标部件的异常情况,可分为俩类,其一为高占用部件,其二为低占用部件。
高占用部件即为超出了规定范围的上限边缘的部件,低占用部件即为超出了规定范围的下限边缘的部件。
S104、对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理。
在本申请中的一种具体实施方式中,步骤S104对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理,包括:
限制高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将高占用部件圈定到额定的范围内去使用资源;
将CPU内部资源引导分配给特定信息资源交换空间,并将特定信息资源交换空间分配需要支撑低占用部件的区域空间。
引流:将CPU内部资源引导分配给特定信息资源交换空间,将此限定的信息资源空间分配需要支撑特定部件区域空间(满足自身运行所需的空间);
限流:部件的使用会消耗CPU内部空间资源,超出了额定的资源空间的占比,需要限制部件对于CPU资源空间占用,切断分配部件资源的区间通路,将其圈定到额定的范围内去使用资源。
在本申请中的一种具体实施方式中,步骤S104对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理,包括:
若CPU资源占比超出CPU内部资源占比范围的上限边缘,则将对应的目标部件确定为高占用部件;
若CPU资源占比超出CPU内部资源占比范围的下限边缘,则将对应的目标部件确定为低占用部件;
对高占用部件执行限流不可以引流的限制策略;
协调CPU资源供低占用部件使用。
也就是说,在找出目标部件之后,可对目标部件进行分类,然后,先针对高占用部件执行限制策略,然后对低占用部件进行引流操作,即给分配更多资源。
也就是说,在AI服务器中的CPU处于高占用状态的情况下,都会不断地确定异常占用CPU资源的目标部件,并对目标部件进行CPU资源调整。
在本申请中的一种具体实施方式中,对目标部件的CPU资源进行调整,包括:
若CPU资源占比超出CPU内部资源占比范围的上限边缘,则对目标部件执行限流不可以引流的限制策略;
若CPU资源占比超出CPU内部资源占比范围的下限边缘,则协调CPU资源供目标部件使用。
也就是说,对于异常高占用CPU资源的目标部件,则对其进行限制,具体的限制方式可以为线缆不可以引流;对于异常低占用CPU资源的目标部件,则对其提供更多的资源,以供其使用。
在本申请中的一种具体实施方式中,还可以通过执行以下步骤,从而获得相关阈值:
对AI服务器进行极限测试,得到极限测试性能数据;
基于极限测试性能数据确定高功耗阈值、高占用使用阈值和CPU内部资源占比范围中的至少一个。
也就是说,对AI服务器进行极限测试,从而得到极限测试性能数据,然后便可基于这些基线测试性能数据确定高功耗阈值、高占用使用阈值和CPU内部资源占比范围。具体的,可将AI服务器极限测试状态下的资源占比作为上限值,将正常不使用设备状态测试值作为下限。例如,在极限条件下,CPU使用率为98%,在高使用状态则需要保障CPU使用率不超过98%,此时可以设置高占用使用阈值为98%。
S105、在对高占用部件进行限流处理之后,若无法为低占用部件成功引流,则对高占用部件进行限耗处理,直到CPU跳出高占用状态。
考虑到部件间的CPU占比均衡问题,当对高占用部件进行限流处理之后,仍然无法为低占用部件进行及时引流,还可对高占用部件进行限耗处理,从而使得CPU具有更多的可用空间,从而为低占用部件进行引流,最终使得CPU跳出高占用状态。
在本申请中的一种具体实施方式中,在对高占用部件进行限流处理之后,若无法为低占用部件成功引流,则对高占用部件进行限耗处理,直到CPU跳出高占用状态,包括:
在对高占用部件进行限流处理之后,获取当前CPU可用资源;
若当前CPU可用资源无法满足为低占用部件引流,则对高占用部件进行限耗处理;
在进行限耗处理后,对低占用部件进行引流,直到CPU跳出高占用状态,结束本轮资源调整;
其中,引流为将CPU内部资源引导分配给特定信息资源交换空间,并将特定信息资源交换空间分配需要支撑低占用部件的区域空间;
限流为限制高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将高占用部件圈定到额定的范围内去使用资源;
限耗为在高功耗部件处于跑飞或者不可控的状态,对高占用部件进行功耗限制。
为便于描述,下面将上述步骤结合起来进行说明。
为了保障AI服务器的稳定性,当存在多个目标部件的情况下,对异常资源占用的部件或者元器件处理优化后,需要重新均衡CPU资源的分配占比,维持那些资源占用较高的部件正常运行的同时,为了避免它们再次对CPU资源有较高的占用,给这些部件或者元器件,加入限制策略,限定一定资源保持动态的稳定,可以限流不可以引流的策略;对于资源分配偏少影响性能的部件也要及时识别出来,协调CPU资源供其备用,做到CPU资源均衡分配,同时兼顾一些AI服务器某些器件需要CPU占用率的需求。
特别地,在CPU资源使用率达到极至使用空间,获取CPU内部资源可使用空间;基于CPU内部资源可使用空间,确定目标部件;对目标部件CPU可利用的资源空间进行二次分配;在CPU消除非法资源空间占用状态(高占用状态),结束本轮调整;
其中,在存在多个目标部件的情况下,对目标部件的CPU资源进行调整,包括:
若CPU资源占比超出CPU内部资源占比范围的可控区域分配比上值,则对目标部件执行限流不可以引流的限制策略;
在对相关的目标部件执行了限制策略后,若CPU资源占比超出CPU内部资源可控区域分配比下值,则协调CPU资源供目标部件使用。
例如,AI服务器挂载4路GPU设备,获取各个位置GPU资源分配比,比对校验所在位置GPU资源使用是否存在降低速率行为,存在资源分配不均需要对相应的GPU进行引流,对比正常GPU资源占用区间去调整分配比,对于非法占用CPU内部资源的行为进行限流调整,限流不成功,则执行限耗操作,直到资源均衡分配。
应用本申请实施例所提供的方法,在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定AI服务器的CPU占用状态;在CPU处于高占用状态下,获取部件的CPU资源占比;基于CPU资源占比,确定异常占用CPU资源的目标部件;对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理;在对高占用部件进行限流处理之后,若无法为低占用部件成功引流,则对高占用部件进行限耗处理,直到CPU跳出高占用状态。
在本申请中,首先在AI服务器的CPU处于高功耗状态下,利用CPU利用率确定AI服务器的CPU占用状态,在确定CPU处于高占用状态的情况下,获取部件的CPU资源占比,基于该COU资源占比确定异常占用CPU资源的目标部件。然后对目标部件中的高占用部件进行限流,对目标部件中的低占用部件进行引流,并且在不满足引流条件时,对高占用部件进行限耗,直到CPU跳出高占用状态。也就是说,当确定AI服务器的CPU处于高占用状态,则表明AI服务器的性能无法得到保障,且随时可能宕机,此时可以获取部件的CPU资源占比,然后确定异常占用CPU资源的目标部件,针对该目标部件进行CPU资源调整,直到跳出高占用状态。如此,便可通过调整部分异常占用CPU资源的目标部件,从而使得CPU跳出高占用状态,从而保障AI服务器持续且稳定的运行。
本申请的技术效果:在AI服务器的CPU处于高占用状态下,通过确定异常占用CPU资源的目标部件,并对目标部件中不同的情况的部件分别进行限流、引流或限耗,从而维持CPU在高占用率的场景下稳定运行,同时增加AI服务器的抗干扰能力;可以维持服务器在各种复杂恶劣的使用环境下稳定高效的运行。即,通过对目标部件的CPU资源进行调整,能确保AI服务器在不同使用环境操作时保持高效稳定的运行状态,进一步可助力AI服务器在客户使用过程中获得更加优质的使用体验。
为便于本领域技术人员更好地理解和实施本申请实施例所提供的资源调整方法,下面结合具体场景为例,对资源调整方法进行详细说明。
首先,需要确定AI服务器在算力和大数据模型等对CPU使用率比较高场景,即AI服务器在算力的加持下对于CPU资源使用或者占用率一直处于高位运行的使用的状态。具体的,固件BMC通过与CPU不同交互方式获取CPU使用率。例如,BMC与CPU交互通道,通道可以直接交互通道如LPC/I3C等相关带内的通讯方式;通过借道BIOS的ACPI table通道在CPU初始化时嵌入衔接接口,为后续CPU内部资源协调预留接口为了确保安全,此接口允许BMC内部调控模型调用,而不用在BMC端预留任何带外接口(借道BIOS的ACPI table通道,cpu与bmc之间虚拟通道);还可以通过BMC预先接入服务器系统OS root用户的交互通道(服务器系统,cpu与bmc之间虚拟通道),即通过OS接口通道完成对CPU内部资源的协调控制操作。
其次,BMC需要确定CPU处于高占用状态。请参考图6,具体的确定过程:通过BMC获取CPU功耗,从CPU功率大小初步判断CPU是处于高占用率的使用状态,这个是初步判断的过程,对于处在高功率使用状态CPU,其次是BMC需要通过内部集成获取计算出CPU资源的使用率。如果判定CPU资源使用较高的使用状态下,为了更好佐证BMC判断无误,需要通过带内通道从OS集成获取CPU资源使用率,如果两者近乎统一,则可判定CPU处于高占用率的使用状态。如果大小不统一则需要对于两者多次获取校对,仍然处于不统一状态,则通过持续的高功率监测判定CPU运行状态,判定CPU使用率高占用状态。
在已经判定CPU处理器资源使用率较高的状态,需要对不同部件的资源使用占比的调整,固件BMC通过统计服务器外插卡的数量,AI服务器自身的使用场景会有多张GPU外插卡,BMC通过统计外插GPU的数量,根据自身的算法计算出GPU最大的CPU资源量的占比,如果计算CPU资源占比,加上静态CPU的使用资源占比,总的资源占比超过限定的额度,说明需要协调CPU内部资源了,防止某些部件或者元器件恶意占用。BMC同时也可统计出重要部件的资源占比,一般不同部件或者元器件通过实际占用率通过模拟使用计算得出一个大约的数值,统计出部件资源占用为后续的资源分配打下基础。
CPU内部资源的配置,需要固件BMC根据获取的部件或者元器件类型和具体型号,从BMC数据库调用出具体的部件类在CPU内部资源占比;然后,通过BMC与CPU不同交互方式获取各个主要部件的对CPU资源占比,将收集到的资源和BMC预存限定的资源占比进行比对;同时根据CPU内部资源被占用的情况,如果CPU内部资源占比,达到预设的上限边缘,首先快速识别出恶意资源占用的部分部件或元器件,这些部件或者元器件本身存在问题或者存在设计缺陷造成恶意占用资源的问题,优先处理资源占比值差值较大,目的是优先确保AI服务器稳定运行,避免出现卡死宕机的问题,优先消除资源恶意占用CPU资源在,影响服务器稳定运行的问题。
最后,最好稳态运行的保持阶段,在优先处理CPU资源恶意占用问题后,为了确保后续稳态运行,加入BMC一些协调控制方案,对异常资源占用的部件或者元器件处理优化后,需要重新均衡CPU资源的分配占比,维持那些资源占用较高的部件正常运行的同时,为了避免它们再次对CPU资源有较高的占用,给这些部件或者元器件,加入限制策略,限定一定资源保持动态的稳定,可以限流不可以引流的策略;对于资源分配偏少影响性能的部件也要及时识别出来,协调CPU资源供其备用,做到CPU资源均衡分配,同时兼顾一些AI服务器某些需要CPU占用率的需求。
相应于上面的方法实施例,本申请实施例还提供了一种资源调整装置,下文描述的资源调整装置与上文描述的资源调整方法可相互对应参照。
参见图3所示,该装置包括以下模块:
CPU状态确定模块101,用于在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定AI服务器的CPU占用状态;
部件资源占比确定模块102,用于在CPU处于高占用状态下,获取部件的CPU资源占比;
异常确定模块103,用于基于CPU资源占比,确定异常占用CPU资源的目标部件;
资源调整模块104,用于对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理;在对高占用部件进行限流处理之后,若无法为低占用部件成功引流,则对高占用部件进行限耗处理,直到CPU跳出高占用状态。
应用本申请实施例所提供的装置,在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定AI服务器的CPU占用状态;在CPU处于高占用状态下,获取部件的CPU资源占比;基于CPU资源占比,确定异常占用CPU资源的目标部件;对目标部件中高占用部件进行资源限流处理,对目标部件中低占用部件进行资源引流处理;在对高占用部件进行限流处理之后,若无法为低占用部件成功引流,则对高占用部件进行限耗处理,直到CPU跳出高占用状态。
在本申请中,首先在AI服务器的CPU处于高功耗状态下,利用CPU利用率确定AI服务器的CPU占用状态,在确定CPU处于高占用状态的情况下,获取部件的CPU资源占比,基于该COU资源占比确定异常占用CPU资源的目标部件。然后对目标部件中的高占用部件进行限流,对目标部件中的低占用部件进行引流,并且在不满足引流条件时,对高占用部件进行限耗,直到CPU跳出高占用状态。也就是说,当确定AI服务器的CPU处于高占用状态,则表明AI服务器的性能无法得到保障,且随时可能宕机,此时可以获取部件的CPU资源占比,然后确定异常占用CPU资源的目标部件,针对该目标部件进行CPU资源调整,直到跳出高占用状态。如此,便可通过调整部分异常占用CPU资源的目标部件,从而使得CPU跳出高占用状态,从而保障AI服务器持续且稳定的运行。
本申请的技术效果:在AI服务器的CPU处于高占用状态下,通过确定异常占用CPU资源的目标部件,并对目标部件中不同的情况的部件分别进行限流、引流或限耗,从而维持CPU在高占用率的场景下稳定运行,同时增加AI服务器的抗干扰能力;可以维持服务器在各种复杂恶劣的使用环境下稳定高效的运行。即,通过对目标部件的CPU资源进行调整,能确保AI服务器在不同使用环境操作时保持高效稳定的运行状态,进一步可助力AI服务器在客户使用过程中获得更加优质的使用体验。
在本申请的一种具体实施方式中,资源调整模块,具体用于限制高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将高占用部件圈定到额定的范围内去使用资源;
将CPU内部资源引导分配给特定信息资源交换空间,并将特定信息资源交换空间分配需要支撑低占用部件的区域空间。
在本申请的一种具体实施方式中,部件资源占比确定模块,具体用于获取部件的ID信息,并基于ID信息确定设备ID;
根据设备ID获取部件的位置;
根据位置获取设备PCI信息;
根据PCI信息获取CPU资源占比。
在本申请的一种具体实施方式中,部件资源占比确定模块,具体用于通过直接交互通道和/或间接交互通道,获取部件的CPU资源占比;
其中,直接交互通道为带内通讯通道,间接交互通道为借道BIOS和服务器系统中的虚拟通道。
在本申请的一种具体实施方式中,部件资源占比确定模块,具体用于基于直接交互通道,从CPU特定寄存器中读取CPU资源占比。
在本申请的一种具体实施方式中,部件资源占比确定模块,具体用于基于BIOS虚拟的软件通道,通过BIOS内部集成CPU提供的补丁包与CPU内部资源的交互,得到CPU资源占比。
在本申请的一种具体实施方式中,部件资源占比确定模块,具体用于通过集成命令或工具,从服务器系统中获取CPU资源占比。
在本申请的一种具体实施方式中,异常确定模块,具体用于获取部件的标识信息,并基于标识信息从BMC数据库中调出对应的CPU内部资源占比范围;
将CPU资源占比超出CPU内部资源占比范围的部件确定为目标部件。
在本申请的一种具体实施方式中,资源调整模块,具体用于若CPU资源占比超出CPU内部资源占比范围的上限边缘,则将对应的目标部件确定为高占用部件;
若CPU资源占比超出CPU内部资源占比范围的下限边缘,则将对应的目标部件确定为低占用部件;
对高占用部件执行限流不可以引流的限制策略;
协调CPU资源供低占用部件使用。
在本申请的一种具体实施方式中,确定AI服务器的CPU处于高功耗状态的过程,包括:
获取CPU功耗;
若CPU功耗大于高功耗阈值,则确定CPU处于高功耗状态。
在本申请的一种具体实施方式中,CPU状态确定模块,具体用于获取CPU使用率;
若CPU使用率大于高占用使用阈值,则确定CPU占用状态为高占用状态。
在本申请的一种具体实施方式中,CPU状态确定模块,具体用于获取CPU功耗;
若CPU功耗大于高功耗阈值,则确定AI服务器处于高功耗状态;
在高功耗状态下,获取CPU使用率;
在CPU使用率大于高占用使用阈值,则确定CPU占用状态为高占用状态。
在本申请的一种具体实施方式中,CPU状态确定模块,具体用于获取AI服务器的CPU资源占比和静态CPU资源占比;
叠加CPU资源占比和静态CPU资源占比,得到CPU使用率。
在本申请的一种具体实施方式中,CPU状态确定模块,具体用于根据设备给定的设备使用率和CPU资源占比,确定静态CPU资源占比。
在本申请的一种具体实施方式中,CPU状态确定模块,具体用于通过直接交互通道和/或间接交互通道,获取CPU使用率。
在本申请的一种具体实施方式中,CPU状态确定模块,还用于比对不同交互通道所获取的CPU使用率;
在比对结果不一致的情况下,则再次获取CPU使用率;
在比对结果一致的情况下,在CPU使用率大于高占用使用阈值,则确定CPU占用状态为高占用状态;
在比对结果不一致的数量达到校对阈值或比对时长超过时间阈值的情况下,若持续获取CPU功耗均大于高功耗阈值,则确定CPU占用状态为高占用状态。
在本申请的一种具体实施方式中,还包括:测试模块,用于对AI服务器进行极限测试,得到极限测试性能数据;
基于极限测试性能数据确定高功耗阈值、高占用使用阈值和CPU内部资源占比范围中的至少一个。
在本申请的一种具体实施方式中,部件包括外围部件和内部部件;其中内部部件包括内存、硬盘,外围部件包括外插卡。
在本申请的一种具体实施方式中,资源调整模块,具体用于在对高占用部件进行限流处理之后,获取当前CPU可用资源;
若当前CPU可用资源无法满足为低占用部件引流,则对高占用部件进行限耗处理;
在进行限耗处理后,对低占用部件进行引流,直到CPU跳出高占用状态,结束本轮资源调整;
其中,引流为将CPU内部资源引导分配给特定信息资源交换空间,并将特定信息资源交换空间分配需要支撑低占用部件的区域空间;
限流为限制高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将高占用部件圈定到额定的范围内去使用资源;
限耗为在高功耗部件处于跑飞或者不可控的状态,对高占用部件进行功耗限制。
相应于上面的方法实施例,本申请实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种资源调整方法可相互对应参照。
参见图4所示,该电子设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的资源调整方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的资源调整方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种资源调整方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的资源调整方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (22)

1.一种资源调整方法,其特征在于,包括:
在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定所述AI服务器的CPU占用状态;
在CPU处于高占用状态下,获取部件的CPU资源占比;
基于所述CPU资源占比,确定异常占用CPU资源的目标部件;
对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理;
在对所述高占用部件进行限流处理之后,若无法为所述低占用部件成功引流,则对所述高占用部件进行限耗处理,直到所述CPU跳出所述高占用状态;
其中,对所述高占用部件进行限耗处理,直到所述CPU跳出所述高占用状态,包括:
在进行限耗处理后,对所述低占用部件进行引流,直到所述CPU跳出所述高占用状态,结束本轮资源调整;
其中,所述引流为将CPU内部资源引导分配给特定信息资源交换空间,并将所述特定信息资源交换空间分配需要支撑所述低占用部件的区域空间;
所述限流为限制所述高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将所述高占用部件圈定到额定的范围内去使用资源。
2.根据权利要求1所述的方法,其特征在于,对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理,包括:
限制所述高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将所述高占用部件圈定到额定的范围内去使用资源;
将CPU内部资源引导分配给特定信息资源交换空间,并将所述特定信息资源交换空间分配需要支撑所述低占用部件的区域空间。
3.根据权利要求1所述的方法,其特征在于,获取部件的CPU资源占比,包括:
获取所述部件的ID信息,并基于所述ID信息确定设备ID;
根据所述设备ID获取所述部件的位置;
根据所述位置获取设备PCI信息;
根据所述PCI信息获取所述CPU资源占比。
4.根据权利要求1所述的方法,其特征在于,获取部件的CPU资源占比,包括:
通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比;
其中,所述直接交互通道为带内通讯通道,所述间接交互通道为借道BIOS和服务器系统中的虚拟通道。
5.根据权利要求4所述的方法,其特征在于,通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比,包括:
基于所述直接交互通道,从CPU特定寄存器中读取所述CPU资源占比。
6.根据权利要求4所述的方法,其特征在于,通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比,包括:
基于所述BIOS虚拟的软件通道,通过所述BIOS内部集成CPU提供的补丁包与CPU内部资源的交互,得到所述CPU资源占比。
7.根据权利要求4所述的方法,其特征在于,通过直接交互通道和/或间接交互通道,获取所述部件的CPU资源占比,包括:
通过集成命令或工具,从所述服务器系统中获取所述CPU资源占比。
8.根据权利要求1所述的方法,其特征在于,基于所述CPU资源占比,确定异常占用CPU资源的目标部件,包括:
获取所述部件的标识信息,并基于所述标识信息从BMC数据库中调出对应的CPU内部资源占比范围;
将所述CPU资源占比超出所述CPU内部资源占比范围的部件确定为所述目标部件。
9.根据权利要求1所述的方法,其特征在于,对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理,包括:
若所述CPU资源占比超出CPU内部资源占比范围的上限边缘,则将对应的所述目标部件确定为所述高占用部件;
若所述CPU资源占比超出所述CPU内部资源占比范围的下限边缘,则将对应的所述目标部件确定为所述低占用部件;
对所述高占用部件执行限流不可以引流的限制策略;
协调CPU资源供所述低占用部件使用。
10.根据权利要求1所述的方法,其特征在于,确定所述AI服务器的CPU处于高功耗状态的过程,包括:
获取CPU功耗;
若所述CPU功耗大于高功耗阈值,则确定CPU处于所述高功耗状态。
11.根据权利要求1所述的方法,其特征在于,利用CPU使用率确定所述AI服务器的CPU占用状态,包括:
获取所述CPU使用率;
若所述CPU使用率大于高占用使用阈值,则确定所述CPU占用状态为所述高占用状态。
12.根据权利要求1所述的方法,其特征在于,在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定所述AI服务器的CPU占用状态,包括:
获取所述CPU功耗;
若所述CPU功耗大于高功耗阈值,则确定所述AI服务器处于高功耗状态;
在所述高功耗状态下,获取所述CPU使用率;
在所述CPU使用率大于高占用使用阈值,则确定所述CPU占用状态为所述高占用状态。
13.根据权利要求1所述的方法,其特征在于,获取所述CPU使用率,包括:
获取所述AI服务器的CPU资源占比和静态CPU资源占比;
叠加所述CPU资源占比和所述静态CPU资源占比,得到所述CPU使用率。
14.根据权利要求13所述的方法,其特征在于,获取所述静态CPU资源占比,包括:
根据设备给定的设备使用率和CPU资源占比,确定所述静态CPU资源占比。
15.根据权利要求1所述的方法,其特征在于,获取所述CPU使用率,包括:
通过直接交互通道和/或间接交互通道,获取所述CPU使用率。
16.根据权利要求15所述的方法,其特征在于,还包括:
比对不同交互通道所获取的所述CPU使用率;
在比对结果不一致的情况下,则再次获取所述CPU使用率;
在所述比对结果一致的情况下,在所述CPU使用率大于高占用使用阈值,则确定所述CPU占用状态为所述高占用状态;
在所述比对结果不一致的数量达到校对阈值或比对时长超过时间阈值的情况下,若持续获取所述CPU功耗均大于高功耗阈值,则确定所述CPU占用状态为所述高占用状态。
17.根据权利要求1所述的方法,其特征在于,还包括:
对所述AI服务器进行极限测试,得到极限测试性能数据;
基于所述极限测试性能数据确定高功耗阈值、高占用使用阈值和CPU内部资源占比范围中的至少一个。
18.根据权利要求1所述的方法,其特征在于,所述部件包括外围部件和内部部件;其中所述内部部件包括内存、硬盘,所述外围部件包括外插卡。
19.根据权利要求1至18任一项所述的方法,其特征在于,在对所述高占用部件进行限流处理之后,若无法为所述低占用部件成功引流,则对所述高占用部件进行限耗处理,包括:
在对所述高占用部件进行限流处理之后,获取当前CPU可用资源;
若当前CPU可用资源无法满足为所述低占用部件引流,则对所述高占用部件进行限耗处理;
所述限耗为在高功耗部件处于跑飞或者不可控的状态,对所述高占用部件进行功耗限制。
20.一种资源调整装置,其特征在于,包括:
CPU状态确定模块,用于在AI服务器的CPU处于高功耗状态下,利用CPU使用率确定所述AI服务器的CPU占用状态;
部件资源占比确定模块,用于在CPU处于高占用状态下,获取部件的CPU资源占比;
异常确定模块,用于基于所述CPU资源占比,确定异常占用CPU资源的目标部件;
资源调整模块,用于对所述目标部件中高占用部件进行资源限流处理,对所述目标部件中低占用部件进行资源引流处理;在对所述高占用部件进行限流处理之后,若无法为所述低占用部件成功引流,则对所述高占用部件进行限耗处理,直到所述CPU跳出所述高占用状态;
其中,所述资源调整模块,具体用于在进行限耗处理后,对所述低占用部件进行引流,直到所述CPU跳出所述高占用状态,结束本轮资源调整;其中,所述引流为将CPU内部资源引导分配给特定信息资源交换空间,并将所述特定信息资源交换空间分配需要支撑所述低占用部件的区域空间;所述限流为限制所述高占用部件对于CPU资源空间占用,切断分配部件资源的区间通路,将所述高占用部件圈定到额定的范围内去使用资源。
21.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至19任一项所述资源调整方法的步骤。
22.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至19任一项所述资源调整方法的步骤。
CN202311278128.XA 2023-10-07 2023-10-07 一种资源调整方法、装置、设备及可读存储介质 Active CN117009091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311278128.XA CN117009091B (zh) 2023-10-07 2023-10-07 一种资源调整方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311278128.XA CN117009091B (zh) 2023-10-07 2023-10-07 一种资源调整方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN117009091A CN117009091A (zh) 2023-11-07
CN117009091B true CN117009091B (zh) 2023-12-19

Family

ID=88574710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311278128.XA Active CN117009091B (zh) 2023-10-07 2023-10-07 一种资源调整方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117009091B (zh)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131671A1 (zh) * 2014-09-16 2015-09-11 中兴通讯股份有限公司 目标资源占用情况的处理方法及装置
CN106681475A (zh) * 2016-12-12 2017-05-17 北京珠穆朗玛移动通信有限公司 降低移动终端功耗的方法及移动终端
CN107391259A (zh) * 2017-07-25 2017-11-24 广东欧珀移动通信有限公司 资源处理方法和装置、计算机可读存储介质、移动终端
CN107683492A (zh) * 2015-02-11 2018-02-09 阿尔彭特有限责任公司 用于运输资源分组和重分配的方法和系统
CN109298944A (zh) * 2018-10-16 2019-02-01 珠海晖达科技有限公司 服务器压力调节方法及装置、计算机装置及计算机可读存储介质
WO2020143164A1 (zh) * 2019-01-08 2020-07-16 平安科技(深圳)有限公司 一种网络资源的分配方法及设备
CN112870726A (zh) * 2021-03-15 2021-06-01 腾讯科技(深圳)有限公司 图形处理器的资源分配方法、装置和存储介质
CN113381944A (zh) * 2021-06-09 2021-09-10 中国工商银行股份有限公司 系统限流方法、装置、电子设备、介质和程序产品
CN113599803A (zh) * 2021-07-28 2021-11-05 腾讯科技(深圳)有限公司 一种基于边缘计算的数据处理方法、设备及可读存储介质
CN113821340A (zh) * 2021-08-27 2021-12-21 济南浪潮数据技术有限公司 分布式系统的动态均衡方法、系统、终端及存储介质
CN114138622A (zh) * 2021-11-19 2022-03-04 浪潮电子信息产业股份有限公司 一种业务处理方法、系统、设备及计算机可读存储介质
CN114185675A (zh) * 2021-12-10 2022-03-15 恒睿(重庆)人工智能技术研究院有限公司 资源管理方法、装置、电子设备及存储介质
WO2022062981A1 (zh) * 2020-09-22 2022-03-31 中兴通讯股份有限公司 资源调度方法和系统、电子设备及计算机可读存储介质
CN114860536A (zh) * 2022-04-22 2022-08-05 郑州云海信息技术有限公司 一种gpu卡的监控方法、监控系统及相关装置
CN115080237A (zh) * 2022-06-23 2022-09-20 平安银行股份有限公司 一种性能调整方法、计算机设备及存储介质
CN115113987A (zh) * 2022-07-28 2022-09-27 苏州浪潮智能科技有限公司 一种非一致内存访问资源分配方法、装置、设备及介质
WO2022213973A1 (zh) * 2021-04-08 2022-10-13 北京奥星贝斯科技有限公司 Io请求的调度方法及装置
CN115379019A (zh) * 2022-08-19 2022-11-22 济南浪潮数据技术有限公司 一种服务调度方法、装置、设备及存储介质
CN115913872A (zh) * 2022-11-30 2023-04-04 浪潮(山东)计算机科技有限公司 一种服务器监控运维方法、装置、设备及介质
CN116560843A (zh) * 2023-05-12 2023-08-08 斑马网络技术有限公司 基于环境感知的智能汽车gpu资源优化方法及装置

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131671A1 (zh) * 2014-09-16 2015-09-11 中兴通讯股份有限公司 目标资源占用情况的处理方法及装置
CN107683492A (zh) * 2015-02-11 2018-02-09 阿尔彭特有限责任公司 用于运输资源分组和重分配的方法和系统
CN106681475A (zh) * 2016-12-12 2017-05-17 北京珠穆朗玛移动通信有限公司 降低移动终端功耗的方法及移动终端
CN107391259A (zh) * 2017-07-25 2017-11-24 广东欧珀移动通信有限公司 资源处理方法和装置、计算机可读存储介质、移动终端
CN109298944A (zh) * 2018-10-16 2019-02-01 珠海晖达科技有限公司 服务器压力调节方法及装置、计算机装置及计算机可读存储介质
WO2020143164A1 (zh) * 2019-01-08 2020-07-16 平安科技(深圳)有限公司 一种网络资源的分配方法及设备
WO2022062981A1 (zh) * 2020-09-22 2022-03-31 中兴通讯股份有限公司 资源调度方法和系统、电子设备及计算机可读存储介质
CN112870726A (zh) * 2021-03-15 2021-06-01 腾讯科技(深圳)有限公司 图形处理器的资源分配方法、装置和存储介质
WO2022213973A1 (zh) * 2021-04-08 2022-10-13 北京奥星贝斯科技有限公司 Io请求的调度方法及装置
CN113381944A (zh) * 2021-06-09 2021-09-10 中国工商银行股份有限公司 系统限流方法、装置、电子设备、介质和程序产品
CN113599803A (zh) * 2021-07-28 2021-11-05 腾讯科技(深圳)有限公司 一种基于边缘计算的数据处理方法、设备及可读存储介质
CN113821340A (zh) * 2021-08-27 2021-12-21 济南浪潮数据技术有限公司 分布式系统的动态均衡方法、系统、终端及存储介质
CN114138622A (zh) * 2021-11-19 2022-03-04 浪潮电子信息产业股份有限公司 一种业务处理方法、系统、设备及计算机可读存储介质
CN114185675A (zh) * 2021-12-10 2022-03-15 恒睿(重庆)人工智能技术研究院有限公司 资源管理方法、装置、电子设备及存储介质
CN114860536A (zh) * 2022-04-22 2022-08-05 郑州云海信息技术有限公司 一种gpu卡的监控方法、监控系统及相关装置
CN115080237A (zh) * 2022-06-23 2022-09-20 平安银行股份有限公司 一种性能调整方法、计算机设备及存储介质
CN115113987A (zh) * 2022-07-28 2022-09-27 苏州浪潮智能科技有限公司 一种非一致内存访问资源分配方法、装置、设备及介质
CN115379019A (zh) * 2022-08-19 2022-11-22 济南浪潮数据技术有限公司 一种服务调度方法、装置、设备及存储介质
CN115913872A (zh) * 2022-11-30 2023-04-04 浪潮(山东)计算机科技有限公司 一种服务器监控运维方法、装置、设备及介质
CN116560843A (zh) * 2023-05-12 2023-08-08 斑马网络技术有限公司 基于环境感知的智能汽车gpu资源优化方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算中基于负载预测的虚拟资源调度策略;王萍;付晓聪;许海洋;;青岛农业大学学报(自然科学版)(01);76-81 *
暗硅多核系统芯片资源调度算法;孙奥林;徐奇;陈松;;计算机辅助设计与图形学学报(06);172-181 *

Also Published As

Publication number Publication date
CN117009091A (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
CN103229125B (zh) 机箱内的刀片服务器之间的动态功率平衡
US9448863B2 (en) Message passing interface tuning using collective operation modeling
US20090129277A1 (en) Automatic tuning of communication protocol performance
CN108667748A (zh) 一种控制带宽的方法、装置和设备
CN110580195B (zh) 一种基于内存热插拔的内存分配方法和装置
CN106598731A (zh) 基于异构多核架构的运行时系统及其控制方法
CN106407013B (zh) 资源动态调度的方法、装置、资源调度服务器及系统
US11907550B2 (en) Method for dynamically assigning memory bandwidth
CN111581043A (zh) 服务器功耗的监控方法、装置和服务器
CN107368353A (zh) 一种实现虚拟机内存热添加的方法和装置
CN109002354A (zh) 一种基于OpenStack的计算资源容量弹性伸缩方法及系统
CN117009091B (zh) 一种资源调整方法、装置、设备及可读存储介质
CN115269118A (zh) 一种虚拟机的调度方法、装置及设备
CN111858458A (zh) 一种互联通道的调整方法、装置、系统、设备和介质
CN105141589B (zh) 一种多实例的token共享与维护的方法及系统
US20190347138A1 (en) Resource provisioning for multiple invocations to an electronic design automation application
CN103955397B (zh) 一种基于微架构感知的虚拟机调度多策略选择方法
CN106775925B (zh) 一种虚拟机cpu的限额处理方法和装置
CN111475251A (zh) 一种集群容器调度方法、系统、终端及存储介质
TWI512485B (zh) 簽核動態調整方法及系統
CN113672365B (zh) 一种条件触发式星载计算机备份调度方法和系统
CN110780992B (zh) 一种云计算平台优化部署方法、系统、终端及存储介质
CN118140215A (zh) 一种内存控制器和带内存控制器的数据处理系统
CN107247674B (zh) 内存块类型处理方法、装置、电子设备及可读存储介质
CN110515701A (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