CN117873738B - 资源分配方法、装置、电子设备以及存储介质 - Google Patents
资源分配方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN117873738B CN117873738B CN202410281682.1A CN202410281682A CN117873738B CN 117873738 B CN117873738 B CN 117873738B CN 202410281682 A CN202410281682 A CN 202410281682A CN 117873738 B CN117873738 B CN 117873738B
- Authority
- CN
- China
- Prior art keywords
- memory
- target
- module
- address
- resource allocation
- 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
Links
- 238000013468 resource allocation Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000007726 management method Methods 0.000 claims abstract description 73
- 238000006243 chemical reaction Methods 0.000 claims description 41
- 230000005055 memory storage Effects 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/5016—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 the resource being the memory
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了一种资源分配方法、装置、电子设备以及存储介质,涉及计算机存储技术领域,该方法通过资源分配系统中的内存管理单元响应于目标主机发送的内存获取请求,获取内存获取请求携带的内存需求容量以及内存起始地址,基于资源分配系统中的内存分配单元,从至少两个内存模块中选择与内存需求容量匹配的目标内存模块,并基于内存分配单元中的内存地址路由器以及内存起始地址,对目标内存模块进行地址转换,将地址转换后的目标内存模块分配给目标主机,以实现对目标主机的动态资源分配。这样,通过内存管理单元以及内存分配单元之间的交互,确保系统中空闲的内存模块的快速分配,提高了内存资源利用率,降低了内存资源的使用成本。
Description
技术领域
本发明属于计算机存储技术领域,特别是涉及一种资源分配方法、装置、电子设备以及存储介质。
背景技术
随着数据中心存储和数据处理的高需求出现,当下服务器面临因现有内存架构而带来的瓶颈问题。
相关技术中,往往通过为主机连接足够多个CXL(Compute Express Link,计算高速链路)内存模块满足最高峰的业务需求,以实现该主机的内存扩展,但这种方式的内存使用成本较高,且当主机业务量低时,内存使用占比低,会造成内存资源浪费的情况,因此这种内存扩展的方式存在内存配置成本高且内存利用率不高的问题。
发明内容
为克服相关技术中存在的问题,本发明提供了一种资源分配方法、装置、电子设备以及存储介质。
第一方面,本发明提供了一种资源分配方法,应用于资源分配系统中的内存管理单元,所述方法包括:
响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的;
基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块;
基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机。
可选地,所述至少两个主机分别基于计算高速链路总线与所述内存分配单元中的至少两个主机内存接口一一对应相连;所述内存分配单元中的内存设备接口基于计算高速链路总线与所述资源分配系统中的内存存储单元相连。
可选地,所述内存存储单元包括至少两个内存模块以及至少两个内存扩展控制器芯片,所述至少两个内存扩展控制器芯片与所述至少两个内存模块一一对应连接,所述内存扩展控制器芯片用于对所述内存模块进行内存扩展。
可选地,所述内存管理单元基于通用异步收发器与所述内存分配单元中的状态获取接口相连;所述方法还包括:
基于所述状态获取接口,获取所述内存分配单元对应的温度信息。
可选地,所述方法还包括:
在所述温度信息满足预设温度条件的情况下,基于资源分配系统中的逻辑单元向所述资源分配系统中的目标风扇发送第一目标信号;所述第一目标信号用于获取所述目标风扇对应的转速信息;
基于所述转速信息以及所述温度信息,向所述目标风扇发送第二目标信号;所述第二目标信号用于调整所述目标风扇的转速。
可选地,所述基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块,包括:
基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态;
基于各所述内存模块对应的内存分配状态,确定待分配内存模块以及所述待分配内存模块对应的空闲内存大小;
在所述待分配内存模块中第一内存模块的空闲内存大小大于等于所述内存需求容量的情况下,将所述第一内存模块确定为所述目标内存模块。
可选地,所述基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块,还包括:
在任一所述待分配内存模块的内存大小均小于所述内存需求容量的情况下,将指定内存模块确定为所述目标内存模块;所述指定内存模块包括至少两个待分配内存模块。
可选地,所述基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,包括:
获取所述目标内存模块对应的初始起始地址、初始终止地址以及目标内存大小;
通过所述内存地址路由器基于所述目标内存大小以及所述内存起始地址,确定目标终止地址;
将所述初始起始地址转换为所述内存起始地址,并将所述初始终止地址转换为所述目标终止地址。
可选地,所述内存获取请求携带有主机标识;所述将地址转换后的所述目标内存模块分配给所述目标主机,包括:
基于所述主机标识,从所述内存分配单元中的至少两个主机内存接口中确定与所述目标主机相连的目标主机内存接口;
在所述内存地址路由器完成对所述目标内存模块的地址转换的情况下,由所述内存地址路由器将所述内存起始地址以及所述目标终止地址发送至所述目标主机内存接口。
可选地,所述资源分配系统中的各所述主机通过两线式串行总线分别与一目标芯片相连,所述目标芯片中存储有与所述目标芯片连接的主机对应的主机标识。
可选地,所述内存管理单元通过两线式串行总线与所述内存分配单元中的配置接口相连;所述方法还包括:
基于所述配置接口对所述至少两个内存模块进行统一编址。
可选地,所述方法还包括:
基于所述配置接口,控制所述内存分配单元中的初始化单元根据存储芯片中的信息进行初始化配置。
可选地,所述内存管理单元基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连;所述基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态,包括:
基于所述内存资源接口,实时获取各所述内存模块对应的内存分配状态。
可选地,所述内存分配状态包括已分配内存模块对应的主机信息、带宽信息以及设备接口连接状态,以及,待分配内存模块对应的空闲内存大小。
可选地,所述目标主机用于在所述目标主机对应的存储模块不满足预设存储条件的情况下,向所述交换机发送所述内存获取请求。
可选地,所述基于所述配置接口,控制所述内存分配单元中的初始化单元根据存储芯片中的信息进行初始化配置,包括:
在所述内存分配单元上电完成的情况下,基于所述配置接口控制所述初始化单元从所述存储芯片中获取初始化信息;
基于所述初始化信息,使能所述内存分配单元中的主机内存接口以及内存设备接口,并对传输带宽信息、传输速率信息进行设定。
可选地,所述内存起始地址是基于所述目标主机对应的存储模块的存储大小确定的。
第二方面,本发明提供了一种资源分配装置,所述装置包括:
第一获取模块,用于响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的;
第一选择模块,用于基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块;
第一分配模块,用于基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机。
第三方面,本发明提供一种资源分配系统,所述资源分配系统包括内存管理单元、内存分配单元、内存存储单元、交换机以及至少两个主机;
所述至少两个主机基于网络与所述交换机相连,所述至少两个主机还分别基于计算高速链路总线与所述内存分配单元中的至少两个主机内存接口一一对应相连;
所述内存分配单元中的内存设备接口基于计算高速链路总线与所述内存存储单元相连;
所述内存管理单元基于网络与所述交换机相连;所述内存管理单元基于通用异步收发器与所述内存分配单元中的状态获取接口相连,所述内存管理单元还基于两线式串行总线与所述内存分配单元中的配置接口相连,所述内存管理单元还基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连。
第四方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述第一方面中任一项所述的资源分配方法。
第五方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面中任一项实施例中的资源分配方法中的步骤。
本发明实施例中,通过资源分配系统中的内存管理单元响应于经资源分配系统中的交换机转发的目标主机发送的内存获取请求,获取内存获取请求携带的内存需求容量以及内存起始地址,基于资源分配系统中的内存分配单元,从资源分配系统中的至少两个内存模块中选择与内存需求容量匹配的目标内存模块,并基于内存分配单元中的内存地址路由器以及内存起始地址,对目标内存模块进行地址转换,并将地址转换后的目标内存模块分配给目标主机,以实现对目标主机的动态资源分配。这样,通过资源分配系统中内存管理单元以及内存分配单元之间的交互,能够确保系统中空闲的内存模块的快速分配。并且,可以基于目标主机的实际内存需求,为目标主机确定与内存需求容量匹配的目标内存模块,并将目标内存模块分配至目标主机,实现资源分配系统中内存资源的动态分配的同时,提高了资源分配系统中的内存资源利用率,降低了内存资源的使用成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种资源分配方法的步骤流程图;
图2是本发明实施例提供的一种资源分配系统的架构示意图;
图3是本发明实施例提供的一种服务器整机柜的架构示意图;
图4是本发明实施例提供的一种资源分配方法的具体步骤流程图;
图5是本发明实施例提供的一种资源分配装置的结构图;
图6是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种资源分配方法的步骤流程图,应用于资源分配系统中的内存管理单元。
本发明实施例中,资源分配系统可以用于实现内存资源的动态分配。该资源分配系统可以在服务器整机柜上架,通过线缆方式进行互联,方便部署。资源分配系统中可以包括至少两个主机、交换机、内存管理单元、内存分配单元以及内存存储单元。其中,交换机可以为计算高速链路(Compute Express Link,CXL)交换机,例如通用的实体网络交换机。内存管理单元可以为BMC内存管理单元,也即,内存管理单元使用BMC(Baseboard ManagementController,极板管理控制器)对整个资源分配系统进行管理,包括内存资源状态监控、内存分配单元的配置等。
内存分配单元可以是CXL内存分配单元,用于进行内存的状态监控以及内存分配,具体可以由主机内存接口、内存地址路由器、内存地址分配单元、内存设备接口、状态获取接口、内存资源接口、配置接口、初始化单元等模块组成。内存存储单元可以是CXL内存存储单元,内存存储单元可以由内存扩展控制器芯片(MXC芯片)、内存模块(例如CMM(CXLMemory Modual,CXL内存模块))组成。示例性的,内存模块可以为E1.S、E3.S、PCIe标卡形态的内存模组。内存存储单元中可以包括至少两个内存模块以及至少两个内存扩展控制器芯片,每个内存扩展控制器芯片可以与一个内存模块相连接,内存扩展控制器芯片用于为主机中的处理器及基于CXL协议的设备(内存模块)提供高带宽、低延迟的高速互连,以实现对内存模块进行内存扩展。
在资源分配系统中,至少两个主机分别基于计算高速链路总线(CXL)与内存分配单元中设置的至少两个主机内存接口一一对应相连,也即,内存分配单元中的主机内存接口与一个主机相连接。同时,内存分配单元中配置的内存设备接口基于计算高速链路总线与所述资源分配系统中的内存存储单元相连,具体的,内存分配单元中的内存设备接口可以与内存存储单元中的内存扩展器控制器芯片基于计算高速链路总线一一对应相连。
每个主机都配置有近端内存,即每个主机会对应一个存储模块,该存储模块用于满足主机基本的系统要求,保证系统的正常使用和热数据的快速传输。示例性的,存储模块可以为DIMM(Dual Inline Memory Module,双列直插内存模块),具体可以基于DDR(DoubleData Rate SDRAM,双倍速率的SDRAM)连接到DIMM。
同时,每个主机可以通过两线式串行总线(I2C)与一目标芯片相连,该目标芯片中可以存储有与该目标芯片连接的主机对应的主机标识,也就是说,针对资源分配系统中的任一主机,该主机对应的主机标识以及相关信息会存储在与该主机相连的目标芯片中,这样,在该主机开机上电时主机中的处理器就会自动读取目标芯片中的主机标识,并与主机进行绑定,进而在该主机发送携带有主机标识的内存获取请求时,内存管理单元就可以确定发送内存获取请求的主机,避免因主机掉电丢失主机与主机标识之间的对应关系,影响后续的资源分配。示例性的,目标芯片可以为EEPROM芯片。主机标识可以为十六进制数字,例如0x00,0x01,0x02,0x03等。可以理解的是,本发明实施例对此不做限制。
如图1所示,该方法可以包括:
步骤101、响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的。
本发明实施例中,在至少两个主机中的任一目标主机配置的存储模块不满足预设存储条件的情况下,会通过网络向交换机发送内存获取请求。该内存获取请求中携带该目标主机对应的主机标识、目标主机需要的内存资源容量,即内存需求容量,以及,内存起始地址。该内存起始地址是基于目标主机对应的存储模块的存储大小确定的,示例性的,假设存储模块的存储大小为64GB,那么该存储模块的地址范围就是0x00000000-0x107fffffff,则目标主机需要的CXL内存起始地址就需要在存储模块的尾地址的基础上+1,也就是0x1080000000。其中,预设存储条件可以为存储模块不具备向目标主机提供其所需求的内存资源的能力,例如存储模块剩余的空闲内存小于目标主机需要的内存资源容量,即内存需求容量等。
在资源分配系统中的任一目标主机向交换机发送内存获取请求的情况下,交换机会将该内存获取请求转发至内存管理单元,其中,交换机与内存管理单元通过网络连接。在内存管理单元接收到内存获取请求的情况下,响应于该内存获取请求,对内存获取请求进行解析,获取内存获取请求携带的主机标识、内存需求容量以及内存起始地址。
步骤102、基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块。
本发明实施例中,基于资源分配系统中的内存分配单元,从资源分配系统中的至少两个内存模块中选择与内存需求容量匹配的目标内存模块。示例性的,内存分配单元通过获取至少两个内存模块的存储状态,确定空闲的内存模块,并从空闲的内存模块中选择与目标主机的内存需求容量匹配的目标内存模块。其中,与目标主机的内存需求容量匹配的目标内存模块可以为目标内存模块的内存容量大于等于内存需求容量。
步骤103、基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机。
本发明实施例中,由于目标主机对应的内存地址需要是连续的地址,因此,需要通过内存分配单元中的内存地址路由器,基于内存地址以及目标内存模块的初始地址,进行地址转换,并将地址转换后的目标内存模块通过内存分配单元中的主机内存接口分配给目标主机使用。
综上所述,本发明实施例中,通过资源分配系统中的内存管理单元响应于经资源分配系统中的交换机转发的目标主机发送的内存获取请求,获取内存获取请求携带的内存需求容量以及内存起始地址,基于资源分配系统中的内存分配单元,从资源分配系统中的至少两个内存模块中选择与内存需求容量匹配的目标内存模块,并基于内存分配单元中的内存地址路由器以及内存起始地址,对目标内存模块进行地址转换,并将地址转换后的目标内存模块分配给目标主机,以实现对目标主机的动态资源分配。这样,通过资源分配系统中内存管理单元以及内存分配单元之间的交互,能够确保系统中空闲的内存模块的快速分配。并且,可以基于目标主机的实际内存需求,为目标主机确定与内存需求容量匹配的目标内存模块,并将目标内存模块分配至目标主机,实现资源分配系统中内存资源的动态分配的同时,提高了资源分配系统中的内存资源利用率,降低了内存资源的使用成本。
可选地,资源分配系统中的内存管理单元基于通用异步收发器(UniversalAsynchronous Receiver/Transmitter,UART)与内存分配单元中的状态获取接口相连。状态获取接口用于对内存分配单元进行监控。
本发明实施例可以包括以下步骤:
步骤201、基于所述状态获取接口,获取所述内存分配单元对应的温度信息。
本发明实施例中,由于内存分配单元在工作时,可能会存在温度升高的现象,因此,为了确保内存分配单元的性能,需要对内存分配单元的温度进行实时监控。内存管理单元可以基于内存分配单元中的状态获取接口,实时监控内存单元的温度状态,并获取内存分配单元对应的温度信息。
本发明实施例中,通过内存分配单元中的状态获取接口,可以使得内存管理单元实时对内存分配单元的温度进行监控,以避免内存分配单元的性能出现问题。
可选地,资源分配系统中可以包括逻辑单元以及目标风扇。本发明实施例可以包括以下步骤:
步骤301、在所述温度信息满足预设温度条件的情况下,基于资源分配系统中的逻辑单元向所述资源分配系统中的目标风扇发送第一目标信号;所述第一目标信号用于获取所述目标风扇对应的转速信息。
本发明实施例中,在温度信息满足预设温度条件的情况下,表征内存分配单元的当前温度可能会影响内存分配单元的性能,因此,可以通过调整风扇转速为内存分配单元降温。内存管理单元可以通过两线式串行总线(Inter-Integrated Circuit,I2C)与资源分配系统中的逻辑单元相连。其中,逻辑单元可以是复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)。内存管理单元可以基于资源分配系统中的逻辑单元向资源分配系统中的目标风扇发送第一目标信号。示例性的,内存管理单元可以向逻辑单元发送风扇调整命令,逻辑单元在接收到风扇调整命令后,可以向目标风扇发送第一目标信号。其中,第一目标信号用于获取目标风扇当前对应的转速信息,示例性的,第一目标信号可以是TACH信号。TACH信号是一种输出的脉冲信号,其频率与风扇的转速成正比,当风扇转速越高时,TACH信号的频率也越高。因此,通过测量TACH信号的频率,可以判断出当前的风扇转速,获取目标风扇对应的转速信息。
步骤302、基于所述转速信息以及所述温度信息,向所述目标风扇发送第二目标信号;所述第二目标信号用于调整所述目标风扇的转速。
本发明实施例中,基于转速信息以及温度信息,向目标风扇发送第二目标信号。其中,第二目标信号用于调整目标风扇的转速,例如,第二目标信号可以是PWM信号。PWM信号是频率一定的脉冲信号,逻辑单元可以通过向目标风扇发送第二目标信号调整占空比,进而调整目标风扇的风扇转速,以提高内存分配单元的散热效果。示例性的,可以基于内存分配单元对应的温度信息以及目标温度,确定需要调整的转速差值。再基于转速差值以及转速信息,生成第二目标信号,第二目标信号会通过调整占空比,实现目标风扇的转速调整。
本发明实施例中,通过内存管理单元,可以对目标风扇的转速进行调整,以确保内存分配单元的性能。
可选地,步骤102可以包括以下步骤:
步骤401、基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态。
本发明实施例中,基于资源分配系统中的内存分配单元,可以获取内存存储单元中各内存模块对应的内存分配状态。其中,内存分配状态可以包括已分配和待分配,相应的,内存模块可以分为已分配内存模块以及待分配内存模块。内存分配状态可以包括已分配内存模块对应的主机信息(包括主机标识等)、带宽信息以及设备接口连接状态,以及,待分配内存模块对应的空闲内存大小。可以理解的是,内存分配状态可以根据用户需求获取不同的信息,本发明实施例对内存分配状态不做限制。
可选地,所述内存管理单元基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连。
步骤401可以包括以下步骤:
步骤4011、基于所述内存资源接口,实时获取各所述内存模块对应的内存分配状态。
本发明实施例中,高速串行计算机扩展总线可以是PCIe Gen1 x2总线,也即,内存管理单元可以通过一组PCIe Gen1 x2总线接到内存分配单元中的内存资源接口,以实时获取内存资源的使用状况(包括内存模块对应的内存分配状态)。从而当目标主机发送内存获取请求信号时,内存管理单元会基于内存分配单元中的内存资源接口获取内存设备对应的内存分配状态,以将闲置的内存资源分配给目标主机。
步骤402、基于各所述内存模块对应的内存分配状态,确定待分配内存模块以及所述待分配内存模块对应的空闲内存大小。
本发明实施例中,基于获取到的各内存模块对应的内存分配状态,确定当前空闲的待分配内存模块以及各待分配内存模块对应的空闲内存大小。
步骤403、在所述待分配内存模块中第一内存模块的空闲内存大小大于等于所述内存需求容量的情况下,将所述第一内存模块确定为所述目标内存模块。
本发明实施例中,在待分配内存模块中存在一第一内存模块的空闲内存大小大于等于内存需求容量的情况下,表征目标内存模块能够提供满足主机需求的内存大小,则可以直接将第一内存模块确定为目标内存模块。可以理解的是,在待分配内存模块中存在多个第一内存模块的情况下,可以基于各第一内存模块的实际容量与内存需求容量的第一差值,将最小第一差值对应的第一内存模块确定为目标内存模块。
步骤404、在任一所述待分配内存模块的内存大小均小于所述内存需求容量的情况下,将指定内存模块确定为所述目标内存模块;所述指定内存模块包括至少两个待分配内存模块。
本发明实施例中,在任一待分配内存模块的内存大小均小于内存需求容量的情况下,表征不存在满足内存需求容量的单一待分配内存模块,单一待分配内存模块无法向主机提供足够的内存大小,可以基于至少两个待分配内存块进行组合分配,以满足主机需要的内存需求容量。具体的,可以选择内存大小之和大于等于内存需求容量的至少两个待分配内存模块,即指定内存模块,确定为目标内存模块。
本发明实施例中,通过选择大于等于内存需求容量的待分配内存模块作为目标内存模块,可以在避免资源浪费的前提下,选择匹配的内存模块作为目标内存模块。并且,在单一待分配内存模块的内存大小均小于内存需求容量的情况下,通过组合待分配内存模块确定目标内存模块,使得资源分配系统中资源分配方式更加灵活,资源分配更加多样化。
可选地,所述内存管理单元通过两线式串行总线(I2C)与所述内存分配单元中的配置接口相连。
本发明实施例中,内存分配单元中的配置接口用于控制内存分配单元的初始化,内存地址的统一编址以及内存地址的路由。配置接口可以与内存分配单元中的初始化单元相连,以控制初始化单元对内存分配单元进行初始化。配置接口还可以与内存分配单元中的内存地址分配单元相连,以控制内存地址分配单元对至少两个内存模块进行统一编址。配置接口还可以与内存分配单元中的内存地址路由器相连,以控制内存地址路由器利用内存地址分配与内存地址路由的相互配合,将指定的目标内存模块分配给目标主机。
本发明实施例可以包括以下步骤:
步骤501、基于所述配置接口对所述至少两个内存模块进行统一编址。
本发明实施例中,内存管理单元通过两线式串行总线控制配置接口,进而通过配置接口控制内存分配单元中的内存地址分配单元为内存存储单元中的至少两个内存模块进行统一编址。示例性的,假设内存存储单元中包括两个内存模块,均为64GB,则内存模块1对应的内存地址范围为0x0-0x107fffffff,内存模块2的地址范围为0x1080000000-0x207fffffff。
本发明实施例中,通过配置接口对至少两个内存模块进行统一编址,便于资源分配系统对至少两个内存模块进行资源分配。
可选地,步骤103可以包括以下步骤:
步骤601、获取所述目标内存模块对应的初始起始地址、初始终止地址以及目标内存大小。
本发明实施例中,在确定目标内存模块后,获取目标内存模块对应的初始起始地址,初始终止地址以及目标内存大小。其中,目标内存模块对应的初始起始地址以及初始终止地址可以是经统一编址后的目标内存模块对应的地址信息。目标内存大小为目标内存模块对应的实际可用内存容量大小。
步骤602、通过所述内存地址路由器基于所述目标内存大小以及所述内存起始地址,确定目标终止地址。
步骤603、将所述初始起始地址转换为所述内存起始地址,并将所述初始终止地址转换为所述目标终止地址。
本发明实施例中,通过内存地址路由器对目标内存模块进行地址转换,具体的,可以基于目标内存大小以及内存起始地址,确定目标终止地址。目标终止地址为地址转换后目标内存模块对应的终止地址。示例性的,可以在内存起始地址的基础上,结合目标内存模块对应的目标内存模块的大小确定目标内存模块对应的目标终止内存。将目标内存模块对应的初始起始地址转换为内存起始地址,并将目标内存模块对应的初始终止地址转换为目标终止地址,也即,地址转换后的目标内存模块对应的内存地址范围为内存起始地址至目标终止地址。
本发明实施例中,通过内存地址路由器实现目标内存模块的地址转换,可以快速实现内存资源的分配。
可选地,步骤103可以包括以下步骤:
步骤701、基于所述主机标识,从所述内存分配单元中的至少两个主机内存接口中确定与所述目标主机相连的目标主机内存接口。
本发明实施例中,资源分配系统中的至少两个主机各自对应唯一的主机标识,在内存分配单元确定需要分配至目标主机的目标内存模块后,需要将目标内存模块基于内存分配单元中的至少两个主机内存接口分配给对应的目标主机。获取内存管理单元接收到的内存获取请求中携带的主机标识,内存分配单元可以基于该主机标识,从至少两个主机内存接口中确定与目标主机相连的目标主机内存接口。
步骤702、在所述内存地址路由器完成对所述目标内存模块的地址转换的情况下,由所述内存地址路由器将所述内存起始地址以及所述目标终止地址发送至所述目标主机内存接口。
本发明实施例中,在内存分配单元中的内存地址路由器完成对目标内存模块的地址转换的情况下,表征可以将目标内存模块分配给对应的目标主机,因此,可以由内存地址路由器将地址转换后的内存起始地址以及目标终止地址发送至目标主机内存接口,以实现对目标主机的内存资源分配。
本发明实施例中,通过内存地址路由器对目标内存模块进行地址转换,再通过目标主机对应的目标主机内存接口将地址转换后的目标内存模块分配至目标主机,使得目标主机的内存地址保持连续。
可选地,本发明实施例可以包括以下步骤:
步骤801、基于所述配置接口,控制所述内存分配单元中的初始化单元根据存储芯片中的信息进行初始化配置。
本发明实施例中,内存分配单元中的配置接口可以控制内存分配单元中的初始化单元对内存分配单元进行初始化配置。基于配置接口,控制初始化单元获取存储芯片中存储的初始化信息,并基于初始化信息对内存分配单元进行初始化配置。其中,存储芯片可以为FLASH芯片,初始化信息可以是预先存储在存储芯片中的初始化内容。示例性的,初始化单元可以基于串行外设接口(Serial Peripheral Interface,SPI)与存储芯片相连。
可选地,步骤801可以包括以下步骤:
步骤8011、在所述内存分配单元上电完成的情况下,基于所述配置接口控制所述初始化单元从所述存储芯片中获取初始化信息。
本发明实施例中,在内存分配单元上电完成的情况下,初始化单元从存储芯片中获取初始化信息。其中,初始化信息中可以包括内存分配单元对应的参数配置信息以及接口使能信息等。
步骤8012、基于所述初始化信息,使能所述内存分配单元中的主机内存接口以及内存设备接口,并对传输带宽信息、传输速率信息进行设定。
本发明实施例中,基于初始化信息,完成对内存分配单元中的各主机内存接口以及各内存设备接口的使能,并对内存分配单元的传输带宽信息以及传输速率信息进行初始化设定。
本发明实施例中,内存管理单元通过内存分配单元的配置接口控制初始化单元对内存分配单元进行初始化设置,确保了内存分配单元的性能。
示例性的,图2示出了一种资源分配系统的架构示意图,如图2所示,资源分配系统中包括4个主机、交换机、内存管理单元、内存分配单元以及内存存储单元。4个主机分别基于CXL与4个主机内存接口一一对应连接,每个主机连接有一个存储模块以及目标芯片。其中,主机与存储模块基于DDR连接,主机与目标芯片基于I2C连接。每个主机基于网络与交换机相连,并通过网络向交换机发送内存获取请求,再由交换机将内存获取请求通过网络发送至内存管理单元。内存管理单元可以基于UART与状态获取接口相连,基于PCIe Gen1 x2总线与内存资源接口相连,基于I2C与配置接口和逻辑单元相连。内存管理单元响应于内存获取请求,基于内存资源接口获取内存模块对应的内存分配状态;内存管理单元基于状态获取接口获取内存分配单元对应的温度信息,并且可以基于逻辑单元控制目标风扇的转速,以调整内存分配单元的温度。内存管理单元能够基于配置接口控制初始化单元基于存储芯片中存储的初始化信息对内存分配单元进行初始化配置;能够基于配置接口控制内存地址分配单元对4个内存模块的内存地址进行统一编址;还能够基于配置接口控制内存地址路由器对目标内存模块的地址进行地址转换。内存分配单元中的4个内存设备接口分别基于CXL与内存存储单元中的内存扩展控制器一一对应连接,且每个内存扩展控制器连接有一个内存模块。内存地址路由器向上连接主机内存接口,向下接收来自内存地址分配单元的内存地址信息,从而,可利用内存地址分配与内存地址路由的相互配合,将指定的内存模块分配给指定的主机。
进一步地,图3示出了一种服务器整机柜的架构示意图,如图3所示,整机柜中包括交换机、内存分配单元和内存管理单元以及内存存储单元。其中,交换机与主机基于网络总线相连,交换机与内存分配单元和内存管理单元基于网络总线相连,主机与内存分配单元和内存管理单元基于计算高速链路(CXL)总线相连,内存分配单元和内存管理单元与内存存储单元基于计算高速链路(CXL)总线相连。
示例性的,图4示出了一种资源分配方法的具体步骤流程图,如图4所示,内存管理单元控制内存分配单元完成初始化配置,基于内存地址分配单元对至少两个内存模块进行统一编址。在资源分配系统中的各主机开机上电后,从对应的目标芯片中获取主机标识并与自身主机进行绑定。在任一目标主机的存储模块不满足预设存储条件的情况下,向交换机发送内存获取请求。交换机转发内存获取请求至内存管理单元,内存管理单元获取内存模块对应的内存分配状态,并对确定的目标内存模块进行地址转换,进而将地址转换后的目标内存模块发送至目标主机,以实现内存资源的动态分配。
图5是本发明实施例提供的一种资源分配装置的结构示意图,如图5所示,应用于资源分配系统中的内存管理单元,该装置具体可以包括:
第一获取模块901,用于响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的;
第一选择模块902,用于基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块;
第一分配模块903,用于基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机。
本发明实施例提供了一种资源分配装置,通过资源分配系统中的内存管理单元响应于经资源分配系统中的交换机转发的目标主机发送的内存获取请求,获取内存获取请求携带的内存需求容量以及内存起始地址,基于资源分配系统中的内存分配单元,从资源分配系统中的至少两个内存模块中选择与内存需求容量匹配的目标内存模块,并基于内存分配单元中的内存地址路由器以及内存起始地址,对目标内存模块进行地址转换,并将地址转换后的目标内存模块分配给目标主机,以实现对目标主机的动态资源分配。这样,通过资源分配系统中内存管理单元以及内存分配单元之间的交互,能够确保系统中空闲的内存模块的快速分配。并且,可以基于目标主机的实际内存需求,为目标主机确定与内存需求容量匹配的目标内存模块,并将目标内存模块分配至目标主机,实现资源分配系统中内存资源的动态分配的同时,提高了资源分配系统中的内存资源利用率,降低了内存资源的使用成本。
可选地,所述内存管理单元基于通用异步收发器与所述内存分配单元中的状态获取接口相连;该装置具体还可以包括:
第二获取模块,用于基于所述状态获取接口,获取所述内存分配单元对应的温度信息。
可选地,该装置具体还可以包括:
第一发送模块,用于在所述温度信息满足预设温度条件的情况下,基于资源分配系统中的逻辑单元向所述资源分配系统中的目标风扇发送第一目标信号;所述第一目标信号用于获取所述目标风扇对应的转速信息;
第二发送模块,用于基于所述转速信息以及所述温度信息,向所述目标风扇发送第二目标信号;所述第二目标信号用于调整所述目标风扇的转速。
可选地,第一选择模块902包括:
第一获取子模块,用于基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态;
第一确定模块,用于基于各所述内存模块对应的内存分配状态,确定待分配内存模块以及所述待分配内存模块对应的空闲内存大小;
第二确定模块,用于在所述待分配内存模块中第一内存模块的空闲内存大小大于等于所述内存需求容量的情况下,将所述第一内存模块确定为所述目标内存模块。
可选地,第一选择模块902包括:
第三确定模块,用于在任一所述待分配内存模块的内存大小均小于所述内存需求容量的情况下,将指定内存模块确定为所述目标内存模块;所述指定内存模块包括至少两个待分配内存模块。
可选地,第一分配模块903包括:
第二获取子模块,用于获取所述目标内存模块对应的初始起始地址、初始终止地址以及目标内存大小;
第一确定子模块,用于通过所述内存地址路由器基于所述目标内存大小以及所述内存起始地址,确定目标终止地址;
第一转换模块,用于将所述初始起始地址转换为所述内存起始地址,并将所述初始终止地址转换为所述目标终止地址。
可选地,所述内存获取请求携带有主机标识;第一分配模块903包括:
第二确定子模块,用于基于所述主机标识,从所述内存分配单元中的至少两个主机内存接口中确定与所述目标主机相连的目标主机内存接口;
第三发送模块,用于在所述内存地址路由器完成对所述目标内存模块的地址转换的情况下,由所述内存地址路由器将所述内存起始地址以及所述目标终止地址发送至所述目标主机内存接口。
可选地,所述内存管理单元通过两线式串行总线与所述内存分配单元中的配置接口相连;该装置具体还可以包括:
第一编址模块,用于基于所述配置接口对所述至少两个内存模块进行统一编址。
可选地,该装置具体还可以包括:
第一配置模块,用于基于所述配置接口,控制所述内存分配单元中的初始化单元根据存储芯片中的信息进行初始化配置。
可选地,所述内存管理单元基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连;第一获取子模块包括:
第三获取子模块,用于基于所述内存资源接口,实时获取各所述内存模块对应的内存分配状态。
可选地,第一配置模块包括:
第四获取子模块,用于在所述内存分配单元上电完成的情况下,基于所述配置接口控制所述初始化单元从所述存储芯片中获取初始化信息;
第一配置子模块,用于基于所述初始化信息,使能所述内存分配单元中的主机内存接口以及内存设备接口,并对传输带宽信息、传输速率信息进行设定。
本发明实施例还提供一种资源分配系统,所述资源分配系统包括内存管理单元、内存分配单元、内存存储单元、交换机以及至少两个主机;
所述至少两个主机基于网络与所述交换机相连,所述至少两个主机还分别基于计算高速链路总线与所述内存分配单元中的至少两个主机内存接口一一对应相连;
所述内存分配单元中的内存设备接口基于计算高速链路总线与所述内存存储单元相连;
所述内存管理单元基于网络与所述交换机相连;所述内存管理单元基于通用异步收发器与所述内存分配单元中的状态获取接口相连,所述内存管理单元还基于两线式串行总线与所述内存分配单元中的配置接口相连,所述内存管理单元还基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连。
示例性的,本发明实施例中的资源分配系统的相关架构图可以参考图2,图2对应的资源分配系统的具体架构说明可以参照前述实施例,本发明实施例在此不再赘述。
本发明还提供了一种电子设备,参见图6,包括:处理器1001、存储器1002以及存储在所述存储器上并可在所述处理器上运行的计算机程序10021,所述处理器执行所述程序时实现前述实施例的资源分配方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的资源分配方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要指出的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种资源分配方法,其特征在于,应用于资源分配系统中的内存管理单元,所述方法包括:
响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的;
基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块;
基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机;
所述基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块,包括:
基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态;
基于各所述内存模块对应的内存分配状态,确定待分配内存模块以及所述待分配内存模块对应的空闲内存大小;
在所述待分配内存模块中第一内存模块的空闲内存大小大于等于所述内存需求容量的情况下,将所述第一内存模块确定为所述目标内存模块;
所述基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块,还包括:
在任一所述待分配内存模块的内存大小均小于所述内存需求容量的情况下,将指定内存模块确定为所述目标内存模块;所述指定内存模块包括至少两个待分配内存模块;
所述基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,包括:
获取所述目标内存模块对应的初始起始地址、初始终止地址以及目标内存大小;
通过所述内存地址路由器基于所述目标内存大小以及所述内存起始地址,确定目标终止地址;
将所述初始起始地址转换为所述内存起始地址,并将所述初始终止地址转换为所述目标终止地址。
2.根据权利要求1所述的资源分配方法,其特征在于,所述至少两个主机分别基于计算高速链路总线与所述内存分配单元中的至少两个主机内存接口一一对应相连;所述内存分配单元中的内存设备接口基于计算高速链路总线与所述资源分配系统中的内存存储单元相连。
3.根据权利要求2所述的资源分配方法,其特征在于,所述内存存储单元包括至少两个内存模块以及至少两个内存扩展控制器芯片,所述至少两个内存扩展控制器芯片与所述至少两个内存模块一一对应连接,所述内存扩展控制器芯片用于对所述内存模块进行内存扩展。
4.根据权利要求1所述的资源分配方法,其特征在于,所述内存管理单元基于通用异步收发器与所述内存分配单元中的状态获取接口相连;所述方法还包括:
基于所述状态获取接口,获取所述内存分配单元对应的温度信息。
5.根据权利要求4所述的资源分配方法,其特征在于,所述方法还包括:
在所述温度信息满足预设温度条件的情况下,基于资源分配系统中的逻辑单元向所述资源分配系统中的目标风扇发送第一目标信号;所述第一目标信号用于获取所述目标风扇对应的转速信息;
基于所述转速信息以及所述温度信息,向所述目标风扇发送第二目标信号;所述第二目标信号用于调整所述目标风扇的转速。
6.根据权利要求1所述的资源分配方法,其特征在于,所述内存获取请求携带有主机标识;所述将地址转换后的所述目标内存模块分配给所述目标主机,包括:
基于所述主机标识,从所述内存分配单元中的至少两个主机内存接口中确定与所述目标主机相连的目标主机内存接口;
在所述内存地址路由器完成对所述目标内存模块的地址转换的情况下,由所述内存地址路由器将所述内存起始地址以及所述目标终止地址发送至所述目标主机内存接口。
7.根据权利要求1所述的资源分配方法,其特征在于,所述资源分配系统中的各所述主机通过两线式串行总线分别与一目标芯片相连,所述目标芯片中存储有与所述目标芯片连接的主机对应的主机标识。
8.根据权利要求1所述的资源分配方法,其特征在于,所述内存管理单元通过两线式串行总线与所述内存分配单元中的配置接口相连;所述方法还包括:
基于所述配置接口对所述至少两个内存模块进行统一编址。
9.根据权利要求8所述的资源分配方法,其特征在于,所述方法还包括:
基于所述配置接口,控制所述内存分配单元中的初始化单元根据存储芯片中的信息进行初始化配置。
10.根据权利要求1所述的资源分配方法,其特征在于,所述内存管理单元基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连;所述基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态,包括:
基于所述内存资源接口,实时获取各所述内存模块对应的内存分配状态。
11.根据权利要求10所述的资源分配方法,其特征在于,所述内存分配状态包括已分配内存模块对应的主机信息、带宽信息以及设备接口连接状态,以及,待分配内存模块对应的空闲内存大小。
12.根据权利要求1所述的资源分配方法,其特征在于,所述目标主机用于在所述目标主机对应的存储模块不满足预设存储条件的情况下,向所述交换机发送所述内存获取请求。
13.根据权利要求9所述的资源分配方法,其特征在于,所述基于所述配置接口,控制所述内存分配单元中的初始化单元根据存储芯片中的信息进行初始化配置,包括:
在所述内存分配单元上电完成的情况下,基于所述配置接口控制所述初始化单元从所述存储芯片中获取初始化信息;
基于所述初始化信息,使能所述内存分配单元中的主机内存接口以及内存设备接口,并对传输带宽信息、传输速率信息进行设定。
14.根据权利要求1所述的资源分配方法,其特征在于,所述内存起始地址是基于所述目标主机对应的存储模块的存储大小确定的。
15.一种资源分配装置,其特征在于,应用于资源分配系统中的内存管理单元,所述装置包括:
第一获取模块,用于响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的;
第一选择模块,用于基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块;
第一分配模块,用于基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机;
所述第一选择模块,包括:
第一获取子模块,用于基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态;
第一确定模块,用于基于各所述内存模块对应的内存分配状态,确定待分配内存模块以及所述待分配内存模块对应的空闲内存大小;
第二确定模块,用于在所述待分配内存模块中第一内存模块的空闲内存大小大于等于所述内存需求容量的情况下,将所述第一内存模块确定为所述目标内存模块;
所述第一选择模块,还包括:
第三确定模块,用于在任一所述待分配内存模块的内存大小均小于所述内存需求容量的情况下,将指定内存模块确定为所述目标内存模块;所述指定内存模块包括至少两个待分配内存模块;
所述第一分配模块,包括:
第二获取子模块,用于获取所述目标内存模块对应的初始起始地址、初始终止地址以及目标内存大小;
第一确定子模块,用于通过所述内存地址路由器基于所述目标内存大小以及所述内存起始地址,确定目标终止地址;
第一转换模块,用于将所述初始起始地址转换为所述内存起始地址,并将所述初始终止地址转换为所述目标终止地址。
16.一种资源分配系统,其特征在于,所述资源分配系统包括内存管理单元、内存分配单元、内存存储单元、交换机以及至少两个主机;
所述至少两个主机基于网络与所述交换机相连,所述至少两个主机还分别基于计算高速链路总线与所述内存分配单元中的至少两个主机内存接口一一对应相连;
所述内存分配单元中的内存设备接口基于计算高速链路总线与所述内存存储单元相连;
所述内存管理单元基于网络与所述交换机相连;所述内存管理单元基于通用异步收发器与所述内存分配单元中的状态获取接口相连,所述内存管理单元还基于两线式串行总线与所述内存分配单元中的配置接口相连,所述内存管理单元还基于高速串行计算机扩展总线与所述内存分配单元中的内存资源接口相连;
所述内存管理单元用于响应于经所述资源分配系统中的交换机转发的内存获取请求,获取所述内存获取请求携带的内存需求容量以及内存起始地址;所述内存获取请求是由所述资源分配系统中包括的至少两个主机中的任一目标主机发送至所述交换机的;
所述内存管理单元还用于基于所述资源分配系统中的内存分配单元,从所述资源分配系统中的至少两个内存模块中选择与所述内存需求容量匹配的目标内存模块;
所述内存管理单元还用于基于所述内存分配单元中的内存地址路由器以及所述内存起始地址,对所述目标内存模块进行地址转换,并将地址转换后的所述目标内存模块分配给所述目标主机;
所述内存管理单元还用于:
基于所述资源分配系统中的内存分配单元,获取所述资源分配系统中各所述内存模块对应的内存分配状态;
基于各所述内存模块对应的内存分配状态,确定待分配内存模块以及所述待分配内存模块对应的空闲内存大小;
在所述待分配内存模块中第一内存模块的空闲内存大小大于等于所述内存需求容量的情况下,将所述第一内存模块确定为所述目标内存模块;
所述内存管理单元还用于:
在任一所述待分配内存模块的内存大小均小于所述内存需求容量的情况下,将指定内存模块确定为所述目标内存模块;所述指定内存模块包括至少两个待分配内存模块;
所述内存管理单元还用于:
获取所述目标内存模块对应的初始起始地址、初始终止地址以及目标内存大小;
通过所述内存地址路由器基于所述目标内存大小以及所述内存起始地址,确定目标终止地址;
将所述初始起始地址转换为所述内存起始地址,并将所述初始终止地址转换为所述目标终止地址。
17.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-14中任一所述的资源分配方法。
18.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-14中任一所述的资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410281682.1A CN117873738B (zh) | 2024-03-12 | 2024-03-12 | 资源分配方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410281682.1A CN117873738B (zh) | 2024-03-12 | 2024-03-12 | 资源分配方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117873738A CN117873738A (zh) | 2024-04-12 |
CN117873738B true CN117873738B (zh) | 2024-05-24 |
Family
ID=90590473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410281682.1A Active CN117873738B (zh) | 2024-03-12 | 2024-03-12 | 资源分配方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873738B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118245228A (zh) * | 2024-05-22 | 2024-06-25 | 苏州元脑智能科技有限公司 | Cxl交换板卡、cxl内存分配系统、分配方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017113074A1 (zh) * | 2015-12-28 | 2017-07-06 | 华为技术有限公司 | 一种资源的分配方法、装置和系统 |
WO2017181853A1 (zh) * | 2016-04-20 | 2017-10-26 | 阿里巴巴集团控股有限公司 | 动态分配内存的方法、装置及系统 |
CN110209490A (zh) * | 2018-04-27 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种内存管理方法及相关设备 |
CN117170882A (zh) * | 2023-11-01 | 2023-12-05 | 新华三信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
-
2024
- 2024-03-12 CN CN202410281682.1A patent/CN117873738B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017113074A1 (zh) * | 2015-12-28 | 2017-07-06 | 华为技术有限公司 | 一种资源的分配方法、装置和系统 |
WO2017181853A1 (zh) * | 2016-04-20 | 2017-10-26 | 阿里巴巴集团控股有限公司 | 动态分配内存的方法、装置及系统 |
CN110209490A (zh) * | 2018-04-27 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种内存管理方法及相关设备 |
CN117170882A (zh) * | 2023-11-01 | 2023-12-05 | 新华三信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
一种多核DSP的动态存储器分配设计方法;孟思远;刘建;奚杰;陈杰;;微电子学与计算机;20081105(第11期);全文 * |
云计算资源容量评估与调度方法研究;高秋生;张志;曹明;陈明;王立玮;刘汝坤;;大众用电;20171230(第S1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117873738A (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117873738B (zh) | 资源分配方法、装置、电子设备以及存储介质 | |
CN107005495B (zh) | 用于转发数据包的方法、网卡、主机设备和计算机系统 | |
US5729683A (en) | Programming memory devices through the parallel port of a computer system | |
US8417848B2 (en) | Method and apparatus for implementing multiple service processing functions | |
CN110908770A (zh) | 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台 | |
US20150195246A1 (en) | Micro server, method of allocating mac address, and computer readable recording medium | |
CN114172905B (zh) | 一种集群网络组网的方法、装置、计算机设备及存储介质 | |
CN111901164A (zh) | Ocp nic网卡的适配控制方法、装置、设备及系统 | |
CN112860605A (zh) | 一种接口扩展方法及接口扩展模块 | |
WO2021247113A1 (en) | System and method for scheduling sharable pcie endpoint devices | |
KR20210005653A (ko) | 단말 애플리케이션 활성화 방법, 장치 및 시스템 | |
CN116166434A (zh) | 处理器分配方法及系统、装置、存储介质、电子设备 | |
CN115658586A (zh) | 资源管理芯片、方法、电子设备及可读存储介质 | |
CN101479711B (zh) | 供装置在总线上共享公共地址的设备、方法和系统 | |
CN104123188A (zh) | 一种资源分配方法及相关装置 | |
CN103853135A (zh) | 调节对从设备的访问 | |
US6598105B1 (en) | Interrupt arbiter for a computing system | |
US7827333B1 (en) | System and method for determining a bus address on an add-in card | |
CN116578316A (zh) | 设备的固件更新方法、装置、服务器及存储介质 | |
US11580060B2 (en) | Policy driven latency control applied to a vehicular real time network apparatus | |
CN110362523B (zh) | 一种基于virtio协议的接口及数据处理方法 | |
CN116418848A (zh) | 网络节点的配置和访问请求的处理方法、装置 | |
EP3258643A1 (en) | A method and apparatus for performing resource management | |
CN113961497A (zh) | 通信电路系统、方法、芯片以及存储介质 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 |
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 |