CN114968579A - 海光平台io资源分配方法、系统、终端及存储介质 - Google Patents
海光平台io资源分配方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN114968579A CN114968579A CN202210582269.XA CN202210582269A CN114968579A CN 114968579 A CN114968579 A CN 114968579A CN 202210582269 A CN202210582269 A CN 202210582269A CN 114968579 A CN114968579 A CN 114968579A
- Authority
- CN
- China
- Prior art keywords
- resources
- allocated
- resource
- equipment
- amount
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013468 resource allocation Methods 0.000 title claims abstract description 14
- 230000003287 optical effect Effects 0.000 claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及服务器技术领域,具体提供一种海光平台IO资源分配方法、系统、终端及存储介质,包括:监控已分配的I O资源数量,并基于已分配的I O资源数量计算剩余I O资源数量;判断外插PC I e设备的需求I O资源数量是否超过所述剩余I O资源数量:若是,则从已分配的I O资源中释放部分I O资源,以向所述外插PCI e设备分配满足需求的IO资源。本发明提升了海光平台服务器系统的IO资源分配合理性,提升了系统可用性和稳定性。
Description
技术领域
本发明属于服务器技术领域,具体涉及一种海光平台IO资源分配方法、系统、终端及存储介质。
背景技术
现有海光平台X86架构下每一个独立系统支持的最大的IO资源大小是64K。而海光平台的CRB代码设计中制定了默认的IO资源分配规则。BIOS在开机启动过程中会基于默认的IO分配规则向默认设备分配IO资源。同时当超规程插入需要IO资源的PCIe外插卡时,BIOS将出现宕机问题,影响产品形象。
发明内容
针对现有技术预先根据默认规则完成服务器内部的IO资源分配,容易导致外插PCIe设备无法获取需要的IO资源进而导致宕机的问题,本发明提供一种海光平台IO资源分配方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种海光平台IO资源分配方法,包括:
监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量;
判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量:
若是,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
进一步的,监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量,包括:
通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量;
获取海光平台的IO资源总数;
将IO资源总数与已分配的IO资源数量的差值输出为剩余IO资源数量。
进一步的,通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量,包括:
识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量;
将第一数量乘以第一单位需求数量的第一乘积与第二数量乘以第二单位数量的第二乘积的和输出为已分配的IO资源数量。
进一步的,识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量,包括:
预先构建存储有默认分配IO资源的设备名称的默认列表;
获取海光平台的已识别设备列表;
对默认列表和已识别设备列表中的设备名称进行匹配,并将匹配成功的设备名称输出;
从匹配成功的设备名称划分出未接任何设备的芯片和板载设备,以分别统计第一数量和第二数量。
进一步的,所述方法包括:
将IO资源总数与第二乘积的差输出为最大剩余IO资源数量。
进一步的,在从已分配的IO资源中释放部分IO资源之前,所述方法还包括:
判断需求IO资源数量是否超过所述最大剩余IO资源数量:
若是,则跳过所述PCIe设备且以变通方式继续启动系统,并记录IO资源不足的错误日志;
若否,则继续执行从已分配的IO资源中释放部分IO资源这一操作。
进一步的,从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源,包括:
计算需求IO资源数量与剩余IO资源数量的差额;
将所述差额与第一单位需求数量的商输出为设备释放数量;
基于所述设备释放数量将相应数量的所述芯片的IO资源;
将已释放的IO资源和剩余IO资源分配给所述外插PCIe设备。
第二方面,本发明提供一种海光平台IO资源分配系统,包括:
分配监控单元,用于监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量;
需求判断单元,用于判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量;
需求分配单元,用于若外插PCIe设备的需求IO资源数量超过所述剩余IO资源数量,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
进一步的,所述分配监控单元具体用于:
通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量;
获取海光平台的IO资源总数;
将IO资源总数与已分配的IO资源数量的差值输出为剩余IO资源数量。
进一步的,通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量,包括:
识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量;
将第一数量乘以第一单位需求数量的第一乘积与第二数量乘以第二单位数量的第二乘积的和输出为已分配的IO资源数量。
进一步的,识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量,包括:
预先构建存储有默认分配IO资源的设备名称的默认列表;
获取海光平台的已识别设备列表;
对默认列表和已识别设备列表中的设备名称进行匹配,并将匹配成功的设备名称输出;
从匹配成功的设备名称划分出未接任何设备的芯片和板载设备,以分别统计第一数量和第二数量。
进一步的,所述系统还包括:
限制参数计算单元,用于将IO资源总数与第二乘积的差输出为最大剩余IO资源数量。
进一步的,所述系统还包括:
限制判断单元,用于判断需求IO资源数量是否超过所述最大剩余IO资源数量;
错误记录单元,用于若需求IO资源数量超过所述最大剩余IO资源数量,则跳过所述PCIe设备且以变通方式继续启动系统,并记录IO资源不足的错误日志;
若否,则继续执行从已分配的IO资源中释放部分IO资源这一操作。
进一步的,从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源,包括:
计算需求IO资源数量与剩余IO资源数量的差额;
将所述差额与第一单位需求数量的商输出为设备释放数量;
基于所述设备释放数量将相应数量的所述芯片的IO资源;
将已释放的IO资源和剩余IO资源分配给所述外插PCIe设备。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的海光平台IO资源分配方法、系统、终端及存储介质,通过对已分配的IO资源数量进行监控进而获取剩余IO资源数量,当识别到外插PCIe设备时,判断当前的剩余IO资源数量是否满足PCIe设备的IO资源需求,若不满足则及时对已分配的IO资源进行释放,避免由于外插PCIe设备无法获取IO资源而导致的服务器宕机的问题。本发明提升了海光平台服务器系统的IO资源分配合理性,提升了系统可用性和稳定性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
海光平台是一种国产高端服务器,采用X86架构,可用于搭建数据中心、云计算平台。
BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
CPU中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种海光平台IO资源分配系统。
如图1所示,该方法包括:
步骤110,监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量;
步骤120,判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量:
步骤130,若是,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
该方法通过对已分配的IO资源数量进行监控进而获取剩余IO资源数量,当识别到外插PCIe设备时,判断当前的剩余IO资源数量是否满足PCIe设备的IO资源需求,若不满足则及时对已分配的IO资源进行释放,避免由于外插PCIe设备无法获取IO资源而导致的服务器宕机的问题。通过上述分配方法对IO资源进行合理调整分配,提升了海光平台服务器系统的IO资源分配合理性,提升了系统可用性和稳定性。
为了便于对本发明的理解,下面以本发明海光平台IO资源分配方法的原理,结合实施例中对海光平台IO资源进行分配的过程,对本发明提供的海光平台IO资源分配方法做进一步的描述。
海光平台X86架构下每一个独立系统支持的最大的IO资源大小是64K,海光平台IO资源默认分配规则例如:支持的分配IO资源的最小颗粒是4K,比如一张外插的PCIe卡只需要8Byte的IO资源,系统也会为其分配4K的IO资源;因此海光平台的IO资源只能分配成16份。系统常规设备比如3F8/2F8h为串口,60/64h为KBC也需要IO资源,这就占用了一份的4KIO资源,因此留给板载设备及外插PCIe设备的IO资源最多15份。现有海光平台的CRB代码设计中对于没有外接任何板载及外插设备的DIE上也要预留4K的IO资源,这样留给外插设备的IO资源将远远小于15份,这将限制我司产品对于需要IO资源的外插卡的规格,影响产品的竞争力。同时当超规程插入需要IO资源的PCIe外插卡时,BIOS将出现宕机问题,影响产品形象。
基于海光平台系统IO资源默认分配规则容易导致外插PCIe设备无法获取IO资源进而导致宕机的问题,本发明提供一种海光平台IO资源分配方法,具体的,所述方法包括:
S1、监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量。
通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量;获取海光平台的IO资源总数;将IO资源总数与已分配的IO资源数量的差值输出为剩余IO资源数量。具体地,对海光平台系统中的IO资源默认分配规则进行解析,获取默认分配IO资源的固有设备的信息,可直接基于固有设备信息及海光平台物料数据确定已分配IO资源数量,也可从系统识别的设备中统计固有设备数量,进而统计已分配的IO资源数量。海光平台的最大IO数量为64k,因此将IO资源总数与已分配的IO资源数量作差,得到的差值即为剩余IO资源数量。
在本发明另一种优选的实施方式中,通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量,包括:识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量;将第一数量乘以第一单位需求数量的第一乘积与第二数量乘以第二单位数量的第二乘积的和输出为已分配的IO资源数量。其中,识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量,包括:预先构建存储有默认分配IO资源的设备名称的默认列表;获取海光平台的已识别设备列表;对默认列表和已识别设备列表中的设备名称进行匹配,并将匹配成功的设备名称输出;从匹配成功的设备名称划分出未接任何设备的芯片和板载设备,以分别统计第一数量和第二数量。
具体地,本实施方式中海光平台的固有设备分为没有接任何板载及外插设备的芯片和需要IO资源的板载设备。通过解析海光平台的IO资源默认分配规则构建存储有默认分配IO资源的设备名称的默认列表。从设备管理器中采集系统已识别的所有设备的设备名称,得到已识别设备列表。对默认列表和已识别设备列表进行匹配,例如默认列表和已识别设备列表中均存在设备A,则将设备A输出,以此类推得到一组匹配成功的设备名称。按照设备名称识别设备类型,从匹配成功的设备名称划分出未接任何设备的芯片和板载设备,以分别统计第一数量a和第二数量b。假设从IO资源默认分配规则解析出的第一单位需求数量(一颗芯片分得的IO资源数量)为k,第二单位需求数量(一个板载设备分得的IO资源数量)为h。则剩余IO资源数量A=64-ak-bh。通过该方法可以获取海光平台实际的已分配的IO资源数量,该数据真实可靠,避免了直接基于物料计算理论数据,而在开机过程中某个设备未被识别而导致的数据不准确的问题。
S2、判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量。
识别外插PCIe设备数量及每个外插PCIe设备需求的IO资源数量,对所有外插PCIe设备的需求IO资源数量进行累加,得到外插PCIe设备的需求IO资源数量B。比较外插PCIe设备的需求IO资源数量B与剩余IO资源数量A的大小。
S3、若外插PCIe设备的需求IO资源数量未超过所述剩余IO资源数量,则从剩余IO资源中向外插PCIe设备分配满足其需求的IO资源。
S4、若是,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
首先,计算最大剩余IO资源数量C,最大剩余IO资源数量C=64-bh。判断需求IO资源数量B是否超过最大剩余IO资源数量C:若需求IO资源数量B超过最大剩余IO资源数量C,则BIOS只做错误记录,并采取workaround(变通方式)的方式继续启动系统,不影响系统的正常启动,不会造成宕机,并且错误日志的记录,也为后续的问题定位提供了素材。
若需求IO资源数量B未超过最大剩余IO资源数量C,计算需求IO资源数量与剩余IO资源数量的差额;将差额与第一单位需求数量的商输出为设备释放数量;基于设备释放数量将相应数量的芯片的IO资源;将已释放的IO资源和剩余IO资源分配给外插PCIe设备。
其中,释放IO资源时,需要调用预先编译的脚本工具,将设备释放数量输入至脚本工具的相应变量项中。脚本工具进入CRB代码层,对IO资源默认分配规则的相关参数项进行修改,从而将相应数量的芯片的IO资源释放出来。BIOS在资源释放后,向外插PCIe设备分配满足其需求的IO资源。
以上为本发明提供的通用的IO资源分配方法,当芯片、板载设备以及单个PCIe设备的单位需求数量均为4k时,本发明的具体IO资源分配方式如下:
(1)BIOS启动过程中,统计系统中所有未接任何设备的CPU DIE(芯片)的数量为a,所有需要IO资源的板载设备的数量为b,根据统计的值可以计算出系统能够支持的需要IO资源的外插PCIe设备最大数量为y=15-a-b;
(2)PCIe设备枚举过程中,统计需要IO资源的设备,每统计到一个对计数进行+1处理,x++,然后比较x与y的大小;
(3)当x小于y时,BIOS代码保持CRB代码设计;当x大于y时,修改CRB代码,把分配给未接任何设备的DIE上的4K IO资源释放出来,修改CRB代码后系统支持的需要IO资源的外插PCIe设备最大数量为z=15-b;
(4)当枚举到需要IO资源的外插PCIe设备x大于z时,BIOS对此PCIe设备作枚举失败处理,并记录IO资源不足的错误日志,然后继续采取workaround的方式继续启动系统,直到系统启动完成。
上述实施方式的优点在于:动态识别系统中设备需要的IO资源,在IO资源需求比较少的情况下可以保持与CRB代码的设计一致性,同时在系统中设备IO资源需求比较大时,可以支持动态调节;当系统中设备IO资源需求超过系统支持极限值时,bios只做错误记录,并采取workaround的方式继续启动系统,不影响系统的正常启动,并且错误日志的记录,也为后续的问题定位提供了素材。
如图2所示,该系统200包括:
分配监控单元210,用于监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量;
需求判断单元220,用于判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量;
需求分配单元230,用于若外插PCIe设备的需求IO资源数量超过所述剩余IO资源数量,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
可选地,作为本发明一个实施例,所述分配监控单元具体用于:
通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量;
获取海光平台的IO资源总数;
将IO资源总数与已分配的IO资源数量的差值输出为剩余IO资源数量。
可选地,作为本发明一个实施例,通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量,包括:
识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量;
将第一数量乘以第一单位需求数量的第一乘积与第二数量乘以第二单位数量的第二乘积的和输出为已分配的IO资源数量。
可选地,作为本发明一个实施例,识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量,包括:
预先构建存储有默认分配IO资源的设备名称的默认列表;
获取海光平台的已识别设备列表;
对默认列表和已识别设备列表中的设备名称进行匹配,并将匹配成功的设备名称输出;
从匹配成功的设备名称划分出未接任何设备的芯片和板载设备,以分别统计第一数量和第二数量。
可选地,作为本发明一个实施例,所述系统还包括:
限制参数计算单元,用于将IO资源总数与第二乘积的差输出为最大剩余IO资源数量。
可选地,作为本发明一个实施例,所述系统还包括:
限制判断单元,用于判断需求IO资源数量是否超过所述最大剩余IO资源数量;
错误记录单元,用于若需求IO资源数量超过所述最大剩余IO资源数量,则跳过所述PCIe设备且以变通方式继续启动系统,并记录IO资源不足的错误日志;
若否,则继续执行从已分配的IO资源中释放部分IO资源这一操作。
可选地,作为本发明一个实施例,从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源,包括:
计算需求IO资源数量与剩余IO资源数量的差额;
将所述差额与第一单位需求数量的商输出为设备释放数量;
基于所述设备释放数量将相应数量的所述芯片的IO资源;
将已释放的IO资源和剩余IO资源分配给所述外插PCIe设备。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的海光平台IO资源分配方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过对已分配的IO资源数量进行监控进而获取剩余IO资源数量,当识别到外插PCIe设备时,判断当前的剩余IO资源数量是否满足PCIe设备的IO资源需求,若不满足则及时对已分配的IO资源进行释放,避免由于外插PCIe设备无法获取IO资源而导致的服务器宕机的问题。本发明提升了海光平台服务器系统的IO资源分配合理性,提升了系统可用性和稳定性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种海光平台IO资源分配方法,其特征在于,包括:
监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量;
判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量:
若是,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
2.根据权利要求1所述的方法,其特征在于,监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量,包括:
通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量;
获取海光平台的IO资源总数;
将IO资源总数与已分配的IO资源数量的差值输出为剩余IO资源数量。
3.根据权利要求2所述的方法,其特征在于,通过识别默认分配IO资源的固有设备数量获取已分配的IO资源数量,包括:
识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量;
将第一数量乘以第一单位需求数量的第一乘积与第二数量乘以第二单位数量的第二乘积的和输出为已分配的IO资源数量。
4.根据权利要求3所述的方法,其特征在于,识别所有未接任何设备的芯片的数量作为第一数量,并识别所有需要IO资源的板载设备的数量作为第二数量,包括:
预先构建存储有默认分配IO资源的设备名称的默认列表;
获取海光平台的已识别设备列表;
对默认列表和已识别设备列表中的设备名称进行匹配,并将匹配成功的设备名称输出;
从匹配成功的设备名称划分出未接任何设备的芯片和板载设备,以分别统计第一数量和第二数量。
5.根据权利要求3所述的方法,其特征在于,所述方法包括:
将IO资源总数与第二乘积的差输出为最大剩余IO资源数量。
6.根据权利要求5所述的方法,其特征在于,在从已分配的IO资源中释放部分IO资源之前,所述方法还包括:
判断需求IO资源数量是否超过所述最大剩余IO资源数量:
若是,则跳过所述PCIe设备且以变通方式继续启动系统,并记录IO资源不足的错误日志;
若否,则继续执行从已分配的IO资源中释放部分IO资源这一操作。
7.根据权利要求3所述的方法,其特征在于,从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源,包括:
计算需求IO资源数量与剩余IO资源数量的差额;
将所述差额与第一单位需求数量的商输出为设备释放数量;
基于所述设备释放数量将相应数量的所述芯片的IO资源;
将已释放的IO资源和剩余IO资源分配给所述外插PCIe设备。
8.一种海光平台IO资源分配系统,其特征在于,包括:
分配监控单元,用于监控已分配的IO资源数量,并基于已分配的IO资源数量计算剩余IO资源数量;
需求判断单元,用于判断外插PCIe设备的需求IO资源数量是否超过所述剩余IO资源数量;
需求分配单元,用于若外插PCIe设备的需求IO资源数量超过所述剩余IO资源数量,则从已分配的IO资源中释放部分IO资源,以向所述外插PCIe设备分配满足需求的IO资源。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210582269.XA CN114968579A (zh) | 2022-05-26 | 2022-05-26 | 海光平台io资源分配方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210582269.XA CN114968579A (zh) | 2022-05-26 | 2022-05-26 | 海光平台io资源分配方法、系统、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968579A true CN114968579A (zh) | 2022-08-30 |
Family
ID=82955886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210582269.XA Pending CN114968579A (zh) | 2022-05-26 | 2022-05-26 | 海光平台io资源分配方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968579A (zh) |
-
2022
- 2022-05-26 CN CN202210582269.XA patent/CN114968579A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000463B (zh) | 一种基于cuda的gpu资源分配方法、系统、终端及存储介质 | |
US20210357258A1 (en) | Method, device and medium for allocating resource based on type of pci device | |
CN116662038B (zh) | 基于共享内存的工业信息检测方法、装置、设备及介质 | |
CN111262753B (zh) | 一种numa节点个数自动配置方法方法、系统、终端及存储介质 | |
US7610429B2 (en) | Method and system for determining device criticality in a computer configuration | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN112306784A (zh) | 一种测试方法、装置、电子设备和测试系统 | |
US11048557B2 (en) | Methods and modules relating to allocation of host machines | |
CN109918221B (zh) | 一种硬盘报错解析方法、系统、终端及存储介质 | |
CN113703975A (zh) | 模型分配方法、装置、电子设备及计算机可读存储介质 | |
US7725806B2 (en) | Method and infrastructure for recognition of the resources of a defective hardware unit | |
CN110990207B (zh) | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 | |
CN109697166B (zh) | 一种测试数据准备方法及相关装置 | |
CN108985402B (zh) | 一种raid卡信息获取方法及相关装置 | |
CN114968579A (zh) | 海光平台io资源分配方法、系统、终端及存储介质 | |
CN116185799A (zh) | 中断时间获取方法、装置、系统、通信设备及存储介质 | |
CN114697440B (zh) | 网络管理方法及移动终端 | |
CN113806089A (zh) | 集群负载资源调度方法、装置、电子设备及可读存储介质 | |
CN111966286A (zh) | 一种多数据池分级迁移的方法及系统 | |
CN110716806A (zh) | 边缘节点计算能力确定方法、电子设备、系统及介质 | |
CN113703855B (zh) | 随机偏移值的储存方法和装置 | |
CN108509301A (zh) | 一种smbios中系统插槽信息的更新方法及更新系统 | |
CN111949414B (zh) | 一种存储控制器性能优化方法、系统、终端及存储介质 | |
CN110795378B (zh) | 一种串口设备的设备号分配方法、智能终端及储存介质 | |
CN113204487A (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 |