CN116701240A - 内部映射地址资源管理方法、系统、终端及存储介质 - Google Patents
内部映射地址资源管理方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN116701240A CN116701240A CN202310596382.8A CN202310596382A CN116701240A CN 116701240 A CN116701240 A CN 116701240A CN 202310596382 A CN202310596382 A CN 202310596382A CN 116701240 A CN116701240 A CN 116701240A
- Authority
- CN
- China
- Prior art keywords
- space
- address
- internal mapping
- internal
- mapping address
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 156
- 238000007726 management method Methods 0.000 title claims description 27
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 28
- 235000019580 granularity Nutrition 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 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
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- 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)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及服务器技术领域,具体提供一种内部映射地址资源管理方法、系统、终端及存储介质,包括:获取服务器的PCI内部映射地址的空间范围;采集已分配的内部映射地址,计算内部映射地址的已分配空间;将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。本发明通过对服务器的内部映射地址空间进行监控,及时发现地址空间余量不足,同时能够在空间余量不足时可控地向部分设备分配内部映射地址,避免造成内部映射地址错误影响服务器性能的情况。
Description
技术领域
本发明属于服务器技术领域,具体涉及一种内部映射地址资源管理方法、系统、终端及存储介质。
背景技术
随着AI技术的日益成熟,AI参与的数据处理、成像、人工智能等各领域比重愈来愈重,这对基础元件的性能、数量要求同步提升,特别是PCI及PCIE等高性能部件比例的提升。
PCIE设备接入服务器后,服务器需要为其分配内部映射地址(MMIO),内部映射地址需要配置空间,而服务器的地址空间是有限的,当接入PCIE设备较多时就会导致内部映射地址空间不足,向PCIE设备分配内部映射地址失败。且同时接入大量PCIE设备,需求的地址空间超过服务器提供的地址空间时还可能造成服务器分配内部映射地址时发生错误,进而影响服务器通信质量。
发明内容
针对现有技术存在的内部映射地址空间不足导致分配的内部映射地址无效进而影响服务器通信质量,本发明提供一种内部映射地址资源管理方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种内部映射地址资源管理方法,包括:
获取服务器的PCI内部映射地址的空间范围;
采集已分配的内部映射地址,计算内部映射地址的已分配空间;
将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;
确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
在一个可选的实施方式中,采集已分配的内部映射地址,计算内部映射地址的已分配空间,包括:
将服务器存在新增PCIE设备设定为触发获取内部映射地址操作的事件;
确认服务器存在新增PCIE设备,从基本输入输出系统的地址管理项导出已分配的内部映射地址的地址区域;
提取所述地址区域的前值与后值,并将前值与后值的差值转换为十进制的地址空间;
对已分配的内部映射地址的地址空间进行累加,得到已分配空间。
在一个可选的实施方式中,对已分配的内部映射地址的地址空间进行累加,得到已分配空间,包括:
基于空间划分规则将内部映射地址划分为第一类地址和第二类地址;
对第一类地址的地址空间进行累加,得到第一占用空间;
对第二类地址的地址空间进行累加,得到第二占用空间。
在一个可选的实施方式中,在计算内部映射地址的已分配空间之前,所述方法还包括:
通过查询工具获取服务器的PCIE设备挂载信息;
判断已分配的内部映射地址与PCIE设备挂载信息是否匹配:
若是,则基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内;
若否,则将差异信息输出。
在一个可选的实施方式中,基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内,包括:
从PCIE设备挂载信息中提取PCIE设备的内部映射地址类型,基于所属类型将内部映射地址划分为第一类地址和第二类地址;
对第一类地址的配置空间容量进行累加,得到第一需求空间;
对第二类地址的配置空间容量进行累加,得到第二需求空间;
判断第一需求空间和第二需求空间是否均在相应空间范围内:
若是,则判定当前内部映射地址资源足够;
若否,则生成当前内部映射地址资源不足的提示信息。
在一个可选的实施方式中,确认空间余量达到所述预警阈值,将新接入的PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址,包括
确认空间余量不高于所述预警阈值,禁用BIOS的内部映射地址直接分配功能,并在空间余量高于所述预警阈值时恢复BIOS的内部映射地址直接分配功能;
构建等待队列,将新接入的PCIE设备信息按接入时间先后移入等待队列;
从所述等待队列中依次提取PCIE设备信息,从PCIE设备信息解析配置空间作为需求空间;
判断所述需求空间是否低于所述空间余量:
若是,则授权BIOS基于所述PCIE设备信息向相应PCIE设备分配内部映射地址;
若否,则提取等待队列中的下一个PCIE设备信息。
在一个可选的实施方式中,在向PCIE设备分配内部映射地址时,所述方法还包括:
预先设定多个颗粒度,并将多个颗粒度按照从小到大的顺序进行排序;
控制BIOS依次将颗粒度设置为目标PCIE设备的内部映射地址的空间容量;
控制BIOS在系统停止PCIE报错时终止对目标PCIE设备的内部映射地址的空间容量的刷新,并将当前空间值固化为所述目标PCIE设备的最优空间值。
第二方面,本发明提供一种内部映射地址资源管理系统,包括:
标准获取模块,用于获取服务器的PCI内部映射地址的空间范围;
数据采集模块,用于采集已分配的内部映射地址,计算内部映射地址的已分配空间;
余量监控模块,用于将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;
地址分配模块,用于确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
在一个可选的实施方式中,数据采集模块包括:
条件设定单元,用于将服务器存在新增PCIE设备设定为触发获取内部映射地址操作的事件;
新增识别单元,用于确认服务器存在新增PCIE设备,从基本输入输出系统的地址管理项导出已分配的内部映射地址的地址区域;
空间计算单元,用于提取所述地址区域的前值与后值,并将前值与后值的差值转换为十进制的地址空间;
空间累加单元,用于对已分配的内部映射地址的地址空间进行累加,得到已分配空间。
在一个可选的实施方式中,空间累加单元包括:
地址分类子单元,用于基于空间划分规则将内部映射地址划分为第一类地址和第二类地址;
第一累加子单元,用于对第一类地址的地址空间进行累加,得到第一占用空间;
第二累加子单元,用于对第二类地址的地址空间进行累加,得到第二占用空间。
在一个可选的实施方式中,所述系统包括:
挂载挂载模块,用于通过查询工具获取服务器的PCIE设备挂载信息;
信息匹配模块,用于判断已分配的内部映射地址与PCIE设备挂载信息是否匹配;
空间校验模块,用于若已分配的内部映射地址与PCIE设备挂载信息匹配,则基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内;
差异输出模块,用于若已分配的内部映射地址与PCIE设备挂载信息不匹配,则将差异信息输出。
在一个可选的实施方式中,空间校验模块包括:
类型提取单元,用于从PCIE设备挂载信息中提取PCIE设备的内部映射地址类型,基于所属类型将内部映射地址划分为第一类地址和第二类地址;
第一计算单元,用于对第一类地址的配置空间容量进行累加,得到第一需求空间;
第二计算单元,用于对第二类地址的配置空间容量进行累加,得到第二需求空间;
容量判断单元,用于判断第一需求空间和第二需求空间是否均在相应空间范围内;
第一判定单元,用于若第一需求空间和第二需求空间均在相应空间范围内,则判定当前内部映射地址资源足够;
第二判定单元,用于若第一需求空间或第二需求空间未在相应空间范围内,则生成当前内部映射地址资源不足的提示信息。
在一个可选的实施方式中,余量监控模块包括:
功能管理单元,用于确认空间余量不高于所述预警阈值,禁用BIOS的内部映射地址直接分配功能,并在空间余量高于所述预警阈值时恢复BIOS的内部映射地址直接分配功能;
队列构建单元,用于构建等待队列,将新接入的PCIE设备信息按接入时间先后移入等待队列;
配置解析单元,用于从所述等待队列中依次提取PCIE设备信息,从PCIE设备信息解析配置空间作为需求空间;
余量判断单元,用于判断所述需求空间是否低于所述空间余量;
匹配分配单元,用于若所述需求空间低于所述空间余量,则授权BIOS基于所述PCIE设备信息向相应PCIE设备分配内部映射地址;
目标切换单元,用于若所述需求空间不低于所述空间余量,则提取等待队列中的下一个PCIE设备信息。
在一个可选的实施方式中,所述系统还包括:
容量设置模块,用于预先设定多个颗粒度,并将多个颗粒度按照从小到大的顺序进行排序;
颗粒验证模块,用于控制BIOS依次将颗粒度设置为目标PCIE设备的内部映射地址的空间容量;
最优固化模块,用于控制BIOS在系统停止PCIE报错时终止对目标PCIE设备的内部映射地址的空间容量的刷新,并将当前空间值固化为所述目标PCIE设备的最优空间值。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的内部映射地址资源管理方法、系统、终端及存储介质,通过对服务器的内部映射地址空间进行监控,及时发现地址空间余量不足,同时能够在空间余量不足时可控地向部分设备分配内部映射地址,避免造成内部映射地址错误影响服务器性能的情况。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的另一示意性流程图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
PCI属于局部总线,它的目的就是为了连接各种外部设备,设计的目标是速度快,带宽更高,损耗更低(可以挂接更多的外设)。通常它不和CPU绑定,可以当作一个通用的外设接入到各个arch的CPU上,不过其中很特别的是根桥,各个芯片厂商都在自研桥片来实现PCI协议。PCI使用并行总线,在频率较低的情况下,并行总线比串行总线传输的带宽更高,但是在高频下并行总线容易被外部干扰,后来PCIe使用高速串行总线逐渐代替并行总线。
PCI提供了几种方式:配置空间和MMIO/IO port,所有的PCI设备都必须要提供标准的配置空间用来提供设备信息和控制接口。PCI设备有自己的唯一标示地址,但并不是固定写死在设备中的,而是根据PCI插槽的位置来分配的,地址由三部分组成:Bus,Device,Function,简称BDF。Bus:PCI总线号,占用8bit,所以PCI/PCIe总线最多支持256个子总线。Device:总线上PCI的设备ID,占用5位,所以每个子总线最多支持32个设备。有时也称为slot,代表PCI插槽的位置。Function:PCI设备的功能ID,一个PCI物理设备可以实现多个功能设备,且逻辑功能相互独立,占用3位,所以每个物理设备最多支持8个功能。传统的PCI总线最多支持256个总线,为了突破这个限制,后来又加了PCI domain,传统的PCI只是默认的domain 0。
PCI规范规定了软件需要通过配置空间来初始化和配置设备,其中PCI的配置空间有256字节,而PCIe设备的配置空间有4K字节,其中前面256字节兼容PCI。配置空间的扩张主要是设备越来越复杂,需要更多的空间来,主要是各种capability来使用。PCI/PCIe总共可以容纳的配置空间数目是相同的:2^16,通过MMIO访问配置空间的需要预留一部分的地址空间给PCI/PCIe配置空间,所以需要预留出32M地址空间,16M给type 0,16M给type 1,而需要为PCIe预留出256M地址空间。PCI设备规定数据访问使用小端的方式,所以如果CPU使用大端,多个字节访问时需要转换大小端。访问PCI总共有两种方式,通过io port或者MMIO的方式。PCI总线最早是在x86上使用的,所以其中充斥着x86的影子,x86上有ioport空间,所以规定使用Ioport访问,但是其他架构上没有ioport这种设计,所以其他架构使用PCI时通过MMIO的方式来访问配置空间。
BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
CPU中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行模块。
BAR:Base Address register,它负责PCI设备内部空间的映射。PCI配置空间只是一个标准的头,但是它不参与实际业务,PCI设备许多的寄存器接口,PCI允许通过BAR来显示自己需要的地址空间大小,并且在配置映射地址空间之后可以直接访问。
本发明实施例提供的内部映射地址资源管理方法由计算机设备执行,相应地,内部映射地址资源管理系统运行于计算机设备中。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种内部映射地址资源管理系统。根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括:
步骤110,获取服务器的PCI内部映射地址的空间范围;
步骤120,采集已分配的内部映射地址,计算内部映射地址的已分配空间;
步骤130,将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;
步骤140,确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
为了便于对本发明的理解,下面以本发明内部映射地址资源管理方法的原理,结合实施例中对内部映射地址资源进行管理的过程,对本发明提供的内部映射地址资源管理方法做进一步的描述。
具体的,请参考图2,所述内部映射地址资源管理方法包括:
S1、获取服务器的PCI内部映射地址的空间范围。
获取目标服务器的型号,基于型号得到其寻址空间,例如:BAR地址空间寻址范围,由Intel架构定义:
BAR地址可用范围:10h—24H之间
BAR地址分两部分:MMIOl BAR地址:<4GB;Mmioh BAR地址:32GB-32TB。
S2、采集已分配的内部映射地址,计算内部映射地址的已分配空间。
将服务器存在新增PCIE设备设定为触发获取内部映射地址操作的事件;确认服务器存在新增PCIE设备,从基本输入输出系统的地址管理项导出已分配的内部映射地址的地址区域;提取所述地址区域的前值与后值,并将前值与后值的差值转换为十进制的地址空间;对已分配的内部映射地址的地址空间进行累加,得到已分配空间。
其中在进行已分配的内部映射地址的地址空间累加时,需要对内部映射地址进行区分,具体方法包括:基于空间划分规则将内部映射地址划分为第一类地址和第二类地址;对第一类地址的地址空间进行累加,得到第一占用空间;对第二类地址的地址空间进行累加,得到第二占用空间。
例如,BUS 0x00-0xff下Mmiol的分配地址区域为0xA0000000-0xD2FFFFFF,
计算:前值-后值+1:0xD2FFFFFF-0xA0000000+1,转换成十进制:816MB;
BUS 0x00-0xff下Mmiol的分配地址区域为0x0000143FFFFFFFFF-0x0000100000000000,计算:0x0000143F FFFFFFFF-0x0000100000000000+1,转换成十进制:约4T。
此外,在本发明的一种实施方式中,在抓取到已分配的内部映射地址之后,还可以对当前的已分配的地址进行校验,具体校验方法包括:通过查询工具获取服务器的PCIE设备挂载信息;判断已分配的内部映射地址与PCIE设备挂载信息是否匹配:若是,则基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内;若否,则将差异信息输出。
其中,在对已分配的内部映射地址和PCIE设备进行匹配时,从两个角度进行匹配,即先匹配数量再匹配设备名。若数量不匹配则直接输出差异提示信息,若数量匹配则再对设备名进行匹配。
进一步的,再通过上述比对后,对当前PCIE设备的需求空间进行预估和评判,具体方法包括:从PCIE设备挂载信息中提取PCIE设备的内部映射地址类型,基于所属类型将内部映射地址划分为第一类地址和第二类地址;对第一类地址的配置空间容量进行累加,得到第一需求空间;对第二类地址的配置空间容量进行累加,得到第二需求空间;判断第一需求空间和第二需求空间是否均在相应空间范围内:若是,则判定当前内部映射地址资源足够;若否,则生成当前内部映射地址资源不足的提示信息。例如,确认挂载的PCI/PIC-E部件与CPU resource Allocation下对应数量一致;部件查询方式:通过lspci–vvv|grep–I‘Memory at’。将32-bit对应的BAR size进行统计累加,总大小不应超4GB,属于Mmiol区域;将64-bit对应的BAR size进行统计累加,寻址范围在32GB-32TB之间,属于MmioH区域。
S3、将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控。
步骤S2中每次计算出已分配空间后,基于最新的已分配空间计算空间余量。同时判断最新的空间余量是否不高于预先设定的预警阈值,若不高于预警阈值,则说明空间余量过低,生成预警提示信息。例如,BAR地址不足,OS下出现PCIE error信息。
S4、确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
确认空间余量不高于所述预警阈值,禁用BIOS的内部映射地址直接分配功能,并在空间余量高于所述预警阈值时恢复BIOS的内部映射地址直接分配功能;构建等待队列,将新接入的PCIE设备信息按接入时间先后移入等待队列;从所述等待队列中依次提取PCIE设备信息,从PCIE设备信息解析配置空间作为需求空间;判断所述需求空间是否低于所述空间余量:若是,则授权BIOS基于所述PCIE设备信息向相应PCIE设备分配内部映射地址;若否,则提取等待队列中的下一个PCIE设备信息。
具体的,若空间余量充足未触发预警,则由BIOS正常向PCIE设备分配内部映射地址。若空间余量不足,则需要对分配内部映射地址这一过程进行控制,具体控制方法是,采用逐一的方式进行分配,避免造成地址空间挤兑。
此外在进行内部映射地址分配时,可对PCIE设备的内部映射地址进行颗粒度验证,具体验证过程包括:预先设定多个颗粒度,并将多个颗粒度按照从小到大的顺序进行排序;控制BIOS依次将颗粒度设置为目标PCIE设备的内部映射地址的空间容量;控制BIOS在系统停止PCIE报错时终止对目标PCIE设备的内部映射地址的空间容量的刷新,并将当前空间值固化为所述目标PCIE设备的最优空间值。
例如,MmioH granularities颗粒度范围:1G,4G,16G,64G,256G,and1024G。在BIOS中为目标PCIE设备首先选择1G作为内部映射地址的空间值,若OS下出现PCIE ERROR信息,则将其空间值设置为4G,若OS下仍出现PCIE ERROR信息,则将其空间值设置为16G,若此时OS下未出现PCIE ERROR信息,则说明目标PCIE设的最优空间值为16G。不再对目标PCIE设备的空间值进行更改。
在一些实施例中,所述内部映射地址资源管理系统300可以包括多个由计算机程序段所组成的功能模块。所述内部映射地址资源管理系统300中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)内部映射地址资源管理的功能。
本实施例中,所述内部映射地址资源管理系统300根据其所执行的功能,可以被划分为多个功能模块,如图3所示。所述功能模块可以包括:标准获取模块310、数据采集模块320、余量监控模块330和地址分配模块340。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
标准获取模块310,用于获取服务器的PCI内部映射地址的空间范围;
数据采集模块320,用于采集已分配的内部映射地址,计算内部映射地址的已分配空间;
余量监控模块330,用于将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;
地址分配模块340,用于确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
可选地,作为本发明一个实施例,数据采集模块包括:
条件设定单元,用于将服务器存在新增PCIE设备设定为触发获取内部映射地址操作的事件;
新增识别单元,用于确认服务器存在新增PCIE设备,从基本输入输出系统的地址管理项导出已分配的内部映射地址的地址区域;
空间计算单元,用于提取所述地址区域的前值与后值,并将前值与后值的差值转换为十进制的地址空间;
空间累加单元,用于对已分配的内部映射地址的地址空间进行累加,得到已分配空间。
可选地,作为本发明一个实施例,空间累加单元包括:
地址分类子单元,用于基于空间划分规则将内部映射地址划分为第一类地址和第二类地址;
第一累加子单元,用于对第一类地址的地址空间进行累加,得到第一占用空间;
第二累加子单元,用于对第二类地址的地址空间进行累加,得到第二占用空间。
可选地,作为本发明一个实施例,所述系统包括:
挂载挂载模块,用于通过查询工具获取服务器的PCIE设备挂载信息;
信息匹配模块,用于判断已分配的内部映射地址与PCIE设备挂载信息是否匹配;
空间校验模块,用于若已分配的内部映射地址与PCIE设备挂载信息匹配,则基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内;
差异输出模块,用于若已分配的内部映射地址与PCIE设备挂载信息不匹配,则将差异信息输出。
可选地,作为本发明一个实施例,空间校验模块包括:
类型提取单元,用于从PCIE设备挂载信息中提取PCIE设备的内部映射地址类型,基于所属类型将内部映射地址划分为第一类地址和第二类地址;
第一计算单元,用于对第一类地址的配置空间容量进行累加,得到第一需求空间;
第二计算单元,用于对第二类地址的配置空间容量进行累加,得到第二需求空间;
容量判断单元,用于判断第一需求空间和第二需求空间是否均在相应空间范围内;
第一判定单元,用于若第一需求空间和第二需求空间均在相应空间范围内,则判定当前内部映射地址资源足够;
第二判定单元,用于若第一需求空间或第二需求空间未在相应空间范围内,则生成当前内部映射地址资源不足的提示信息。
可选地,作为本发明一个实施例,余量监控模块包括:
功能管理单元,用于确认空间余量不高于所述预警阈值,禁用BIOS的内部映射地址直接分配功能,并在空间余量高于所述预警阈值时恢复BIOS的内部映射地址直接分配功能;
队列构建单元,用于构建等待队列,将新接入的PCIE设备信息按接入时间先后移入等待队列;
配置解析单元,用于从所述等待队列中依次提取PCIE设备信息,从PCIE设备信息解析配置空间作为需求空间;
余量判断单元,用于判断所述需求空间是否低于所述空间余量;
匹配分配单元,用于若所述需求空间低于所述空间余量,则授权BIOS基于所述PCIE设备信息向相应PCIE设备分配内部映射地址;
目标切换单元,用于若所述需求空间不低于所述空间余量,则提取等待队列中的下一个PCIE设备信息。
可选地,作为本发明一个实施例,所述系统还包括:
容量设置模块,用于预先设定多个颗粒度,并将多个颗粒度按照从小到大的顺序进行排序;
颗粒验证模块,用于控制BIOS依次将颗粒度设置为目标PCIE设备的内部映射地址的空间容量;
最优固化模块,用于控制BIOS在系统停止PCIE报错时终止对目标PCIE设备的内部映射地址的空间容量的刷新,并将当前空间值固化为所述目标PCIE设备的最优空间值。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的内部映射地址资源管理方法。
其中,该终端400可以包括:处理器410、存储器420及通信模块430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信模块430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过对服务器的内部映射地址空间进行监控,及时发现地址空间余量不足,同时能够在空间余量不足时可控地向部分设备分配内部映射地址,避免造成内部映射地址错误影响服务器性能的情况,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种内部映射地址资源管理方法,其特征在于,包括:
获取服务器的PCI内部映射地址的空间范围;
采集已分配的内部映射地址,计算内部映射地址的已分配空间;
将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;
确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
2.根据权利要求1所述的方法,其特征在于,采集已分配的内部映射地址,计算内部映射地址的已分配空间,包括:
将服务器存在新增PCIE设备设定为触发获取内部映射地址操作的事件;
确认服务器存在新增PCIE设备,从基本输入输出系统的地址管理项导出已分配的内部映射地址的地址区域;
提取所述地址区域的前值与后值,并将前值与后值的差值转换为十进制的地址空间;
对已分配的内部映射地址的地址空间进行累加,得到已分配空间。
3.根据权利要求2所述的方法,其特征在于,对已分配的内部映射地址的地址空间进行累加,得到已分配空间,包括:
基于空间划分规则将内部映射地址划分为第一类地址和第二类地址;
对第一类地址的地址空间进行累加,得到第一占用空间;
对第二类地址的地址空间进行累加,得到第二占用空间。
4.根据权利要求1所述的方法,其特征在于,在计算内部映射地址的已分配空间之前,所述方法还包括:
通过查询工具获取服务器的PCIE设备挂载信息;
判断已分配的内部映射地址与PCIE设备挂载信息是否匹配:
若是,则基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内;
若否,则将差异信息输出。
5.根据权利要求4所述的方法,其特征在于,基于PCIE设备挂载信息计算需求空间,并校验所述需求空间是否在所述空间范围内,包括:
从PCIE设备挂载信息中提取PCIE设备的内部映射地址类型,基于所属类型将内部映射地址划分为第一类地址和第二类地址;
对第一类地址的配置空间容量进行累加,得到第一需求空间;
对第二类地址的配置空间容量进行累加,得到第二需求空间;
判断第一需求空间和第二需求空间是否均在相应空间范围内:
若是,则判定当前内部映射地址资源足够;
若否,则生成当前内部映射地址资源不足的提示信息。
6.根据权利要求1所述的方法,其特征在于,确认空间余量达到所述预警阈值,将新接入的PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址,包括
确认空间余量不高于所述预警阈值,禁用BIOS的内部映射地址直接分配功能,并在空间余量高于所述预警阈值时恢复BIOS的内部映射地址直接分配功能;
构建等待队列,将新接入的PCIE设备信息按接入时间先后移入等待队列;
从所述等待队列中依次提取PCIE设备信息,从PCIE设备信息解析配置空间作为需求空间;
判断所述需求空间是否低于所述空间余量:
若是,则授权BIOS基于所述PCIE设备信息向相应PCIE设备分配内部映射地址;
若否,则提取等待队列中的下一个PCIE设备信息。
7.根据权利要求1所述的方法,其特征在于,在向PCIE设备分配内部映射地址时,所述方法还包括:
预先设定多个颗粒度,并将多个颗粒度按照从小到大的顺序进行排序;
控制BIOS依次将颗粒度设置为目标PCIE设备的内部映射地址的空间容量;
控制BIOS在系统停止PCIE报错时终止对目标PCIE设备的内部映射地址的空间容量的刷新,并将当前空间值固化为所述目标PCIE设备的最优空间值。
8.一种内部映射地址资源管理系统,其特征在于,包括:
标准获取模块,用于获取服务器的PCI内部映射地址的空间范围;
数据采集模块,用于采集已分配的内部映射地址,计算内部映射地址的已分配空间;
余量监控模块,用于将所述空间范围与所述已分配空间的差值作为空间余量,基于预警阈值对所述空间余量进行监控;
地址分配模块,用于确认空间余量达到所述预警阈值,将新PCIE设备移入等待队列,依次向需求空间在所述空间余量范围内的PCIE设备分配内部映射地址。
9.一种终端,其特征在于,包括:
存储器,用于存储内部映射地址资源管理程序;
处理器,用于执行所述内部映射地址资源管理程序时实现如权利要求1-7任一项所述内部映射地址资源管理方法的步骤。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述可读存储介质上存储有内部映射地址资源管理程序,所述内部映射地址资源管理程序被处理器执行时实现如权利要求1-7任一项所述内部映射地址资源管理方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310443908 | 2023-04-24 | ||
CN2023104439089 | 2023-04-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701240A true CN116701240A (zh) | 2023-09-05 |
Family
ID=87831932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310596382.8A Pending CN116701240A (zh) | 2023-04-24 | 2023-05-25 | 内部映射地址资源管理方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701240A (zh) |
-
2023
- 2023-05-25 CN CN202310596382.8A patent/CN116701240A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110809760B (zh) | 资源池的管理方法、装置、资源池控制单元和通信设备 | |
EP2257880B1 (en) | System and method for transforming pcie sr-iov functions to appear as legacy functions | |
CN114817103A (zh) | 用于扩展外围组件互连高速结构的系统和方法 | |
CN111857840B (zh) | 基本输入输出系统bios启动方法及装置 | |
CN108351829A (zh) | 用于输入/输出计算资源控制的系统和方法 | |
US20180210850A1 (en) | System and Method to Avoid SMBus Address Conflicts via a Baseboard Management Controller | |
US6732249B1 (en) | Host computer virtual memory within a network interface adapter | |
US8312461B2 (en) | System and method for discovering and protecting allocated resources in a shared virtualized I/O device | |
US20030093604A1 (en) | Method of error isolation for shared PCI slots | |
CN110209605B (zh) | Pcie总线网卡的寄存器读写方法和计算设备 | |
US20080155222A1 (en) | Computer system | |
US20120324078A1 (en) | Apparatus and method for sharing i/o device | |
CN106648878B (zh) | 一种系统及其动态分配mmio资源的方法 | |
CN116701240A (zh) | 内部映射地址资源管理方法、系统、终端及存储介质 | |
US8527745B2 (en) | Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available | |
CN114697440B (zh) | 网络管理方法及移动终端 | |
CN108989461B (zh) | 一种多控存储均衡方法、装置、终端及存储介质 | |
US20100185782A1 (en) | Method and system for reducing address space for allocated resources in a shared virtualized i/o device | |
CN114911725A (zh) | 通信方法、装置及系统 | |
CN114860343B (zh) | 加速卡速率调整方法、系统、终端及存储介质 | |
CN117251297B (zh) | 一种设备分配方法及电子设备和存储介质 | |
CN118132149A (zh) | 读写请求的执行方法、装置、存储介质和电子设备 | |
CN113905084A (zh) | 数据交互方法、装置及计算机设备 | |
CN114968579A (zh) | 海光平台io资源分配方法、系统、终端及存储介质 | |
CN107273312B (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 |