CN117170882A - 一种资源分配方法、装置、电子设备及存储介质 - Google Patents
一种资源分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117170882A CN117170882A CN202311448251.1A CN202311448251A CN117170882A CN 117170882 A CN117170882 A CN 117170882A CN 202311448251 A CN202311448251 A CN 202311448251A CN 117170882 A CN117170882 A CN 117170882A
- Authority
- CN
- China
- Prior art keywords
- memory
- cxl
- host
- logic blocks
- memory logic
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013468 resource allocation Methods 0.000 title claims abstract description 20
- 238000007726 management method Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种资源分配方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:在第一主机的内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块;从CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;通过CXL交换机为第一主机分配目标CXL内存逻辑块的内存资源。解决了对CXL内存资源池管理复杂的问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源分配方法、装置、电子设备及存储介质。
背景技术
计算高速链路(Compute Express Link,CXL)是为内存扩展、异构计算和系统资源分解而设计的互连技术,使用CXL能够提供高效的资源共享和池化。如图1所示,主机与CXL交换机连接,CXL交换机与CXL内存资源池连接。网络管理器(Fabric Management,FM)负责系统组合和资源分配,能够管理主机、交换机以及CXL内存资源池,可以将CXL内存资源池中的内存分配给主机。
目前,FM能够提供网络用户界面(Website User Interface,WEB UI)。内存管理人员可以统筹和规划各主机对CXL内存资源的需求,然后根据各主机的需求,通过WEB UI为各个主机分配CXL资源池中的内存资源。并且,还需人工观察主机需求的变化,并通过WEB UI更改为各个主机分配的CXL内存资源。但是人工分别为每台主机规划CXL内存资源的难度较大,导致对CXL内存资源池管理较为复杂。
发明内容
本申请实施例的目的在于提供一种资源分配方法、装置、电子设备及存储介质,以解决对CXL内存资源池管理复杂的问题。具体技术方案如下:
第一方面,本申请实施例提供一种资源分配方法,应用于CXL网络管理器,所述方法包括:
在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块;
从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
通过CXL交换机为所述第一主机分配所述目标CXL内存逻辑块的内存资源。
在一种可能的实现方式中,所述CXL网络管理器存储有自身管理的各主机的内存空闲容量以及内存剩余容量阈值;在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块,包括:
针对每台主机,判断该主机的内存空闲容量是否小于该主机对应的内存容量阈值;
若存在第一主机的内存容量小于所述第一主机对应的内存容量阈值,则确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
在一种可能的实现方式中,所述在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块,包括:
接收所述第一主机通过所述CXL交换机发送的内存资源请求;所述内存资源请求是所述第一主机的内存管理组件确定内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下发送的,或者所述内存资源请求是所述第一主机的操作系统确定无足够的可用内存的情况下发送的;
响应于所述内存资源请求,确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
在一种可能的实现方式中,所述从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,包括:
按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
在一种可能的实现方式中,所述从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,包括:
获取所述第一主机在预设时长内占用的内存资源量的增量;
若所述增量大于等于预设增量阈值,则按照所述增量从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
若所述增量小于所述预设增量阈值,则按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
在一种可能的实现方式中,所述内存资源请求中携带所述第一主机的需求资源量;所述从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,包括:
从所述CXL资源池中未被分配的CXL内存逻辑块中,选择满足所述需求资源量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
第二方面,本申请实施例提供一种资源分配装置,应用于CXL网络管理器,所述装置包括:
确定模块,用于在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块;
选择模块,用于从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
分配模块,用于通过CXL交换机为所述第一主机分配所述目标CXL内存逻辑块的内存资源。
在一种可能的实现方式中,所述CXL网络管理器存储有自身管理的各主机的内存空闲容量以及内存剩余容量阈值;所述确定模块,具体用于:
针对每台主机,判断该主机的内存空闲容量是否小于该主机对应的内存容量阈值;
若存在第一主机的内存容量小于所述第一主机对应的内存容量阈值,则确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
在一种可能的实现方式中,所述确定模块,具体用于:
接收所述第一主机通过所述CXL交换机发送的内存资源请求;所述内存资源请求是所述第一主机的内存管理组件确定内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下发送的,或者所述内存资源请求是所述第一主机的操作系统确定无足够的可用内存的情况下发送的;
响应于所述内存资源请求,确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
在一种可能的实现方式中,所述选择模块,具体用于:
按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
在一种可能的实现方式中,所述选择模块,具体用于:
获取所述第一主机在预设时长内占用的内存资源量的增量;
若所述增量大于等于预设增量阈值,则按照所述增量从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
若所述增量小于所述预设增量阈值,则按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
在一种可能的实现方式中,所述内存资源请求中携带所述第一主机的需求资源量;
所述选择模块,具体用于从所述CXL资源池中未被分配的CXL内存逻辑块中,选择满足所述需求资源量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
采用该上述技术方案,在第一主机的内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下,CXL网络管理器确定CXL内存资源池中未被分配的CXL内存逻辑块,并从中选择目标CXL内存逻辑块,通过CXL交换机为第一主机分配目标CXL内存逻辑块的内存资源。可见,在第一主机的内存资源可能不足时,CXL网络管理器能够及时自动为第一主机分配CXL网络管理器,实现了内存资源的动态按需分配。无需人工分别为每台主机规划CXL内存资源,解决了对CXL内存资源池管理复杂的问题。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为相关技术中的一种CXL内存系统架构图;
图2为本申请实施例提供的一种CXL内存系统架构图;
图3为本申请实施例提供的一种资源分配方法的流程图;
图4为本申请实施例提供的内存不足情况下的处理机制的示例性示意图;
图5为本申请实施例提供的一种资源分配装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,首先对本申请实施例涉及的CXL内存系统架构进行介绍。如图2所示,该系统包括主机、CXL交换机(Switch)、CXL内存资源池(Memory Pool)以及CXL网络网络管理器(FM)。
其中,图2中示例性地示出了四台主机,分别为服务器主机H1、H2、H3和H4。H1运行有虚拟机(Virtual Machine,VM)1和VM2,H2运行有虚拟机VM3和VM4,H3运行有虚拟机VM5和VM6,H4运行有虚拟机VM7和VM8。H1至H4中均具有内存管理组件(memory-management,MemMgt)。
图2中示例性地示出了的CXL交换机内部创建的4个虚拟交换机,分别为VS1、VS2、VS3和VS4,每个虚拟交换机对应一个CXL交换机通过上游端口连接的一台主机。例如,VS1对应于H1,VS2对应于H2,VS3对应于H3,VS4对应于H4。虚拟交换机用于建立主机和CXL内存设备的绑定关系。
CXL内存资源池中包括多个CXL内存设备,CXL内存的控制器支持将一个CXL内存设备划分为多个CXL内存逻辑块。图2中实例性示出了CXL内存设备M1、M2、M3和M4。每个CXL内存设备可以包括多个CXL内存逻辑块。
例如,M1包括的内存逻辑块有M1-LD1、M1-LD2……M1-LD16。
M2包括的内存逻辑块有M2-LD1,M2-LD2,……,M2-LD16。
M3包括的内存逻辑块有M3-LD1,M3-LD2,……,M3-LD16。
M4包括的内存逻辑块有M4-LD1,M4-LD2,……,M4-LD16。
作为示例,M1-LD1和M1-LD2已被分配给H1,M2-LD1和M2-LD16已被分配给H2,其他CXL内存逻辑块为暂未被分配。
本申请实施例在FM中新增了Auto(自动)引擎,FM通过Auto引擎调用CXL交换机从而在CXL交换机中创建对应于各主机的虚拟交换机,并且FM通过Auto引擎实现本申请实施例的资源分配方法。
以下对本申请实施例提供的资源分配方法进行详细介绍。
如图3所示,本申请实施例提供一种资源分配方法,该方法应用于CXL网络管理器,即图3中的FM,该方法包括:
S301、在第一主机的内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块。
其中,每台主机被预先配置了内存剩余容量阈值,不同主机被配置的内存剩余容量阈值相同或不同。
第一主机为FM管理的任意一台主机,即若任意一台主机的内存剩余容量小于对应的内存剩余容量阈值,则可触发为该主机分配CXL内存逻辑块的流程。
CXL内存池中未被分配的CXL内存逻辑块是指当前还未被分配给主机的CXL内存逻辑块。
S302、从CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块。
S303、通过CXL交换机为第一主机分配目标CXL内存逻辑块的内存资源。
其中,FM选择目标CXL内存逻辑块后,向CXL交换机发送目标CXL内存逻辑块的标识信息,进而CXL交换机能够建立目标CXL内存逻辑块与第一主机的绑定关系,使得第一主机能够使用目标CXL内存逻辑块的内存资源。
可选地,第一主机被分配内存资源后,还可以通过CXL交换机向CXL网络管理器上报自身的剩余内存资源,以使得CXL网络管理器确定内存资源分配成功。
采用该方法,在第一主机的内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下,CXL网络管理器确定CXL内存资源池中未被分配的CXL内存逻辑块,并从中选择目标CXL内存逻辑块,通过CXL交换机为第一主机分配目标CXL内存逻辑块的内存资源。可见,在第一主机的内存资源可能不足时,CXL网络管理器能够及时自动为第一主机分配CXL网络管理器,实现了内存资源的动态按需分配。无需人工分别为每台主机规划CXL内存资源,解决了对CXL内存资源池管理复杂的问题。
在本申请实施例的一种实现方式中,可以由CXL网络管理器发起对第一主机的内存资源分配。CXL网络管理器存储有自身管理的各主机的内存空闲容量以及内存剩余容量阈值。各主机可以周期性向CXL网络管理器上报自身的内存空闲容量。
在此基础上,上述S101、在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块,具体可以实现为:
针对每台主机,判断该主机的内存空闲容量是否小于该主机对应的内存容量阈值;若存在第一主机的内存容量小于第一主机对应的内存容量阈值,则确定CXL内存资源池中未被分配的CXL内存逻辑块。
作为示例,CXL网络管理器可以维护各主机的内存使用情况表,该内存使用情况表中包括各主机的内存剩余容量阈值和各主机的内存空闲容量。
其中,一台主机的内存空闲容量可以包括该主机的本地内存空闲容量和CXL内存空闲容量的和值,内存使用情况表中可以包括该和值。或者,内存使用情况表中可以分别包括各主机的本地内存空闲容量、CXL内存使用容量和CXL内存已分配容量,CXL内存已分配容量和CXL内存已使用容量的差值即为CXL内存空闲容量。
作为示例,该内存使用情况表如表1所示。
表1
主机 | 内存剩余容量阈值 | 本地内存空闲容量 | CXL内存使用容量 | CXL内存已分配容量 |
主机1 | 20G | 512G | 0G | 0.5T |
主机2 | 20G | 512G | 0G | 0.5T |
主机3 | 20G | 10G | 0G | 0G |
从表1看出,主机3的内存剩余容量10G小于内存剩余容量阈值20G,则CXL网络管理器可确定CXL内存资源池中未被分配的CXL内存逻辑块。
CXL网络管理器还可以维护CXL内存空闲情况表,CXL内存空闲情况表中包括各CXL内存逻辑块的使用情况。
作为示例,CXL内存空闲情况表如表2所示,表2中示例性地示出了CXL内存设备M1和M2的CXL内存逻辑块的使用情况,实际实现中CXL内存空闲情况表中包括内存资源池中所有CXL内存逻辑块的使用情况。
表2
可以理解的是,CXL网络管理器可以从CXL内存空闲情况表中确定处于未分配状态的CXL内存逻辑块。
采用该方法,CXL网络管理器可以及时发现内存空闲容量不足的主机,并自动为主机分配内存资源,达到了弹性分配的效果,回归了主机使用CXL内存资源的原始需求,使得CXL内存资源管理更自动化和智能化,可以尽可能避免主机无可用内存的情况。
在本申请实施例的另一种实现方式中,主机可以主动请求CXL网络管理器进行内存资源分配。在此基础上,上述S101、在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块,具体可以实现为:
接收第一主机通过CXL交换机发送的内存资源请求;内存资源请求是第一主机的内存管理组件确定内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下发送的,或者内存资源请求是所述第一主机的操作系统确定无足够的可用内存的情况下发送的;
响应于内存资源请求,确定CXL内存资源池中未被分配的CXL内存逻辑块。
其中,每台主机均被预先配置了自身的内存剩余容量阈值。第一主机可以实时监控自身的内存剩余容量,若自身的内存剩余容量小于自身被配置的内存剩余容量阈值,即可向CXL网络管理器发送内存资源请求。如此,可以内存剩余容量小于内存剩余容量阈值的情况下,及时请求获取内存资源,避免后续无足够的内存可用,能够避免影响主机性能。
另外,第一主机也可在操作系统确定无足够的可用内存的情况下,向CXL网络管理器发送内存资源请求。
主机的操作系统可以通过各种已有的机制确定内存是否不足,如图4所示,在确定内存不足,即没有足够的物理内存可用时,操作系统会触发虚拟内存管理机制从而降低主机性能,以防止系统奔溃或冻结。通常会采用图4中的机制1或2。
机制1为触发内存溢出(Out Of Memory,OOM)错误终止进程,但采用机制1可能导致应用程序或虚拟机无法启动。
机制2包括减少内存分配、压缩内存或将内存页交换到磁盘等,但采用机制2会导致主机的性能降低。
本申请实施例可以采用机制3,即触发CXL网络管理器分配内存资源,如此可以使得主机尽快获取到更多的内存资源,避免主机出现长时间性能降低的问题。
在上述实施例的基础上,本申请实施例提供了两种选择目标CXL内存逻辑块的方式。
方式一、按照第一主机对应的单次分配粒度,从CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为目标CXL内存逻辑块。
其中,单次分配粒度是指单次分配的CXL内存逻辑块的数量,单次分配粒度是根据经验预先设置的。
在每次确定需要为第一主机分配内存资源后,可以按照单次分配粒度为第一主机分配内存资源,在为第一主机分配内存资源后,若第一主机的内存剩余容量仍小于自身对应的内存剩余容量阈值,则可再次按照单次分配粒度为第一主机分配内存资源,直至第一主机的内存剩余容量超过内存剩余容量阈值。如此,可以避免为一个主机分配过多的内存资源,能够提高CXL内存资源的整体利用率。
方式二、获取第一主机在预设时长内占用的内存资源量的增量,若该增量大于等于预设增量阈值,则按照该增量从CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块。
其中,预设时长和预设增量阈值均是预先根据经验确定的。
每个CXL内存逻辑块的内存资源量是固定的,CXL网络管理器可以按照该增量与单个内存逻辑块的内存资源量的商,确定选择的目标CXL内存逻辑块的数量。
若计算出的商为整数,则可将计算出的商作为目标CXL内存逻辑块的数量,若计算出的商不是整数,则可将计算出的商进行向上取整后,作为目标CXL内存逻辑块的数量。或者,可以将计算出的商向上取整后,再加上指定数值,作为目标CXL内存逻辑块的数量。
可以理解的是,若第一主机在预设时长内占用的内存资源量的增量大于等于预设增量阈值,说明第一主机短时间内的内存需求量大幅增加,且后续还有继续增加的可能,此时可按照该增量为第一主机分配内存资源,能够尽可能满足第一主机对内存资源的需求,避免第一主机出现内存不足的情况。
另外,若该增量小于预设增量阈值,则可按照方式一选择目标CXL内存逻辑块。
在本申请的一些实施例中,第一主机发送的内存资源请求中携带第一主机的需求资源量。相应地,上述S302、从CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,具体可以实现为:
从CXL资源池中未被分配的CXL内存逻辑块中,选择满足需求资源量的CXL内存逻辑块,作为目标CXL内存逻辑块。
这种情况下,CXL网络管理器可以获知第一主机的需求资源量,进而可以按照第一主机的需求为第一主机分配资源。
每个CXL内存逻辑块的内存资源量是固定的,CXL网络管理器可以按照需求资源量与单个内存逻辑块的内存资源量的商,确定选择的目标CXL内存逻辑块的数量。
若计算出的商为整数,则可将计算出的商作为目标CXL内存逻辑块的数量,若计算出的商不是整数,则可将计算出的商进行向上取整后,作为目标CXL内存逻辑块的数量。
或者,可以将计算出的商向上取整后,再加上指定数值,作为目标CXL内存逻辑块的数量。例如,计算出的商为2,即第一主机当前需要2个CXL内存逻辑块,则可以为第一主机分配3个CXL内存逻辑块,使得第一主机被分配内存资源后,仍有一定的余量,可以避免段时间内第一主机再次出现内存资源不足的问题。
对应于上述方法实施例,本申请实施例还提供一种资源分配装置,该装置应用于CXL网络管理器,如图5所示,该装置包括:
确定模块501,用于在第一主机的内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块;
选择模块502,用于从CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
分配模块503,用于通过CXL交换机为第一主机分配目标CXL内存逻辑块的内存资源。
可选地,CXL网络管理器存储有自身管理的各主机的内存空闲容量以及内存剩余容量阈值;确定模块501,具体用于:
针对每台主机,判断该主机的内存空闲容量是否小于该主机对应的内存容量阈值;
若存在第一主机的内存容量小于第一主机对应的内存容量阈值,则确定CXL内存资源池中未被分配的CXL内存逻辑块。
可选地,确定模块501,具体用于:
接收第一主机通过CXL交换机发送的内存资源请求;内存资源请求是第一主机的内存管理组件确定内存剩余容量小于第一主机对应的内存剩余容量阈值的情况下发送的,或者内存资源请求是第一主机的操作系统确定无足够的可用内存的情况下发送的;
响应于内存资源请求,确定CXL内存资源池中未被分配的CXL内存逻辑块。
可选地,选择模块502,具体用于:
按照第一主机对应的单次分配粒度,从CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为目标CXL内存逻辑块。
可选地,选择模块502,具体用于:
获取第一主机在预设时长内占用的内存资源量的增量;
若增量大于等于预设增量阈值,则按照增量从CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
若增量小于预设增量阈值,则按照第一主机对应的单次分配粒度,从CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为目标CXL内存逻辑块。
可选地,内存资源请求中携带第一主机的需求资源量;
选择模块502,具体用于从CXL资源池中未被分配的CXL内存逻辑块中,选择满足需求资源量的CXL内存逻辑块,作为目标CXL内存逻辑块。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述方法实施例中的资源分配的法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一资源分配方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一资源分配方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种资源分配方法,其特征在于,应用于CXL网络管理器,所述方法包括:
在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块;
从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
通过CXL交换机为所述第一主机分配所述目标CXL内存逻辑块的内存资源。
2.根据权利要求1所述的方法,其特征在于,所述CXL网络管理器存储有自身管理的各主机的内存空闲容量以及内存剩余容量阈值;在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块,包括:
针对每台主机,判断该主机的内存空闲容量是否小于该主机对应的内存容量阈值;
若存在第一主机的内存容量小于所述第一主机对应的内存容量阈值,则确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
3.根据权利要求2所述的方法,其特征在于,所述在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块,包括:
接收所述第一主机通过所述CXL交换机发送的内存资源请求;所述内存资源请求是所述第一主机的内存管理组件确定内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下发送的,或者所述内存资源请求是所述第一主机的操作系统确定无足够的可用内存的情况下发送的;
响应于所述内存资源请求,确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,包括:
按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,包括:
获取所述第一主机在预设时长内占用的内存资源量的增量;
若所述增量大于等于预设增量阈值,则按照所述增量从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
若所述增量小于所述预设增量阈值,则按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
6.根据权利要求3所述的方法,其特征在于,所述内存资源请求中携带所述第一主机的需求资源量;所述从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块,包括:
从所述CXL资源池中未被分配的CXL内存逻辑块中,选择满足所述需求资源量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
7.一种资源分配装置,其特征在于,应用于CXL网络管理器,所述装置包括:
确定模块,用于在第一主机的内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下,确定CXL内存资源池中未被分配的CXL内存逻辑块;
选择模块,用于从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
分配模块,用于通过CXL交换机为所述第一主机分配所述目标CXL内存逻辑块的内存资源。
8.根据权利要求7所述的装置,其特征在于,所述CXL网络管理器存储有自身管理的各主机的内存空闲容量以及内存剩余容量阈值;所述确定模块,具体用于:
针对每台主机,判断该主机的内存空闲容量是否小于该主机对应的内存容量阈值;
若存在第一主机的内存容量小于所述第一主机对应的内存容量阈值,则确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,具体用于:
接收所述第一主机通过所述CXL交换机发送的内存资源请求;所述内存资源请求是所述第一主机的内存管理组件确定内存剩余容量小于所述第一主机对应的内存剩余容量阈值的情况下发送的,或者所述内存资源请求是所述第一主机的操作系统确定无足够的可用内存的情况下发送的;
响应于所述内存资源请求,确定所述CXL内存资源池中未被分配的CXL内存逻辑块。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述选择模块,具体用于:
按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
11.根据权利要求7-9任一项所述的装置,其特征在于,所述选择模块,具体用于:
获取所述第一主机在预设时长内占用的内存资源量的增量;
若所述增量大于等于预设增量阈值,则按照所述增量从所述CXL资源池中未被分配的CXL内存逻辑块中,选择目标CXL内存逻辑块;
若所述增量小于所述预设增量阈值,则按照所述第一主机对应的单次分配粒度,从所述CXL资源池中未被分配的CXL内存逻辑块中选择预设数量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
12.根据权利要求9所述的装置,其特征在于,所述内存资源请求中携带所述第一主机的需求资源量;
所述选择模块,具体用于从所述CXL资源池中未被分配的CXL内存逻辑块中,选择满足所述需求资源量的CXL内存逻辑块,作为所述目标CXL内存逻辑块。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311448251.1A CN117170882B (zh) | 2023-11-01 | 2023-11-01 | 一种资源分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311448251.1A CN117170882B (zh) | 2023-11-01 | 2023-11-01 | 一种资源分配方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117170882A true CN117170882A (zh) | 2023-12-05 |
CN117170882B CN117170882B (zh) | 2024-02-23 |
Family
ID=88947255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311448251.1A Active CN117170882B (zh) | 2023-11-01 | 2023-11-01 | 一种资源分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170882B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785757A (zh) * | 2024-02-23 | 2024-03-29 | 北京超弦存储器研究院 | Cxl内存模组、内存页交换的方法、芯片、介质和系统 |
CN117873738A (zh) * | 2024-03-12 | 2024-04-12 | 苏州元脑智能科技有限公司 | 资源分配方法、装置、电子设备以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218574A1 (en) * | 2019-01-09 | 2020-07-09 | University Of Utah Research Foundation | Auto-scaling cloud-based memory-intensive applications |
CN112948073A (zh) * | 2021-01-29 | 2021-06-11 | 京东方科技集团股份有限公司 | 一种运行内存的优化方法、装置及存储介质 |
CN114356581A (zh) * | 2022-01-12 | 2022-04-15 | 平安消费金融有限公司 | 一种内存的清理方法及相关设备 |
CN115221156A (zh) * | 2021-04-19 | 2022-10-21 | 顺丰科技有限公司 | 数据库集群扩容方法、装置、计算机设备和存储介质 |
CN116069450A (zh) * | 2023-02-28 | 2023-05-05 | 济南浪潮数据技术有限公司 | 虚拟机热迁移的迁移模式决策方法、装置、设备及介质 |
CN116466879A (zh) * | 2023-03-17 | 2023-07-21 | 北京超弦存储器研究院 | 一种cxl内存模组、内存数据的置换方法及计算机系统 |
CN116932229A (zh) * | 2023-09-13 | 2023-10-24 | 新华三信息技术有限公司 | 一种内存分配方法、装置、网络管理器及存储介质 |
-
2023
- 2023-11-01 CN CN202311448251.1A patent/CN117170882B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218574A1 (en) * | 2019-01-09 | 2020-07-09 | University Of Utah Research Foundation | Auto-scaling cloud-based memory-intensive applications |
CN112948073A (zh) * | 2021-01-29 | 2021-06-11 | 京东方科技集团股份有限公司 | 一种运行内存的优化方法、装置及存储介质 |
CN115221156A (zh) * | 2021-04-19 | 2022-10-21 | 顺丰科技有限公司 | 数据库集群扩容方法、装置、计算机设备和存储介质 |
CN114356581A (zh) * | 2022-01-12 | 2022-04-15 | 平安消费金融有限公司 | 一种内存的清理方法及相关设备 |
CN116069450A (zh) * | 2023-02-28 | 2023-05-05 | 济南浪潮数据技术有限公司 | 虚拟机热迁移的迁移模式决策方法、装置、设备及介质 |
CN116466879A (zh) * | 2023-03-17 | 2023-07-21 | 北京超弦存储器研究院 | 一种cxl内存模组、内存数据的置换方法及计算机系统 |
CN116932229A (zh) * | 2023-09-13 | 2023-10-24 | 新华三信息技术有限公司 | 一种内存分配方法、装置、网络管理器及存储介质 |
Non-Patent Citations (2)
Title |
---|
BALESTRIERI, ELIO: "Shared resources between visual attention and visual working memory are allocated through rhythmic sampling", EUROPEAN JOURNAL OF NEUROSCIENCE VOLUME55 ISSUE11-12, pages 3040 - 3053 * |
苏日亚;王祯祥;学峰;安全;: "基于FusionCompute的IaaS云平台的构建与实现", 信息技术, no. 07, pages 74 - 77 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785757A (zh) * | 2024-02-23 | 2024-03-29 | 北京超弦存储器研究院 | Cxl内存模组、内存页交换的方法、芯片、介质和系统 |
CN117785757B (zh) * | 2024-02-23 | 2024-05-28 | 北京超弦存储器研究院 | Cxl内存模组、内存页交换的方法、芯片、介质和系统 |
CN117873738A (zh) * | 2024-03-12 | 2024-04-12 | 苏州元脑智能科技有限公司 | 资源分配方法、装置、电子设备以及存储介质 |
CN117873738B (zh) * | 2024-03-12 | 2024-05-24 | 苏州元脑智能科技有限公司 | 资源分配方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117170882B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117170882B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
US11194626B2 (en) | Dynamic resource allocation based on data transferring to a tiered storage | |
CN109936604B (zh) | 一种资源调度方法、装置和系统 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
WO2021121115A1 (zh) | 一种虚拟机的numa节点调度方法、装置、设备及介质 | |
US20140173620A1 (en) | Resource allocation method and resource management platform | |
CN107766145B (zh) | 双系统下的内存管理方法和装置 | |
WO2015101091A1 (zh) | 一种分布式资源调度方法及装置 | |
CN102027453A (zh) | 用于在虚拟环境中优化中断处理的系统和方法 | |
CN103744719A (zh) | 锁管理方法及系统、锁管理系统的配置方法及装置 | |
WO2016127291A1 (zh) | 内存管理装置和方法 | |
KR102469927B1 (ko) | 분할 메모리 관리장치 및 방법 | |
CN111309644B (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
US20160154676A1 (en) | Method of Resource Allocation in a Server System | |
CN111104208A (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
CN112241320A (zh) | 资源分配方法、存储设备和存储系统 | |
KR20220025746A (ko) | 컴퓨팅 자원의 동적 할당 | |
CN113254222B (zh) | 固态硬盘的任务分配方法、系统、电子设备及存储介质 | |
CN111190719A (zh) | 优化集群资源分配的方法、装置、介质及电子设备 | |
CN109388493A (zh) | 一种缓存分区容量调整的方法、装置及存储介质 | |
CN114448909B (zh) | 基于ovs的网卡队列轮询方法、装置、计算机设备及介质 | |
CN116401043A (zh) | 一种计算任务的执行方法和相关设备 | |
CN115794396A (zh) | 资源分配的方法、系统和电子设备 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
CN113849311A (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 |