CN110209490A - 一种内存管理方法及相关设备 - Google Patents

一种内存管理方法及相关设备 Download PDF

Info

Publication number
CN110209490A
CN110209490A CN201810396160.0A CN201810396160A CN110209490A CN 110209490 A CN110209490 A CN 110209490A CN 201810396160 A CN201810396160 A CN 201810396160A CN 110209490 A CN110209490 A CN 110209490A
Authority
CN
China
Prior art keywords
memory
target
resource
memory block
capacity
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
Application number
CN201810396160.0A
Other languages
English (en)
Other versions
CN110209490B (zh
Inventor
李嘉昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810396160.0A priority Critical patent/CN110209490B/zh
Publication of CN110209490A publication Critical patent/CN110209490A/zh
Application granted granted Critical
Publication of CN110209490B publication Critical patent/CN110209490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种内存管理的方法及相关设备。本申请实施例方法包括:接收用户设备发送的内存资源的使用申请,所述使用申请包括需要使用的内存资源大小;获取内存资源池,所述内存资源池包括所述多台现场可编程门阵列FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的容量;确定在多个所述空闲内存资源中容量与所述需要使用的内存资源大小相匹配的目标内存资源;通过硬件接口配置所述目标内存资源对应的目标云服务器完成对所述目标内存资源的分配。本申请实施例中还提供了一种服务器,用于提高云服务器的内存资源利用率。

Description

一种内存管理方法及相关设备
技术领域
本发明涉及计算机领域,尤其涉及一种内存管理方法及相关设备。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,缩写:FPGA)云服务器包含静态区和动态区两个区域,静态区是基本系统框架,动态区对应的是用户设计。在动态区不同的用户可以共享内存资源,当前FPGA云服务器对内存的管理方式大多采用固定内存分配方式。
固定内存分配方式是根据云服务器总的内存容量为每个用户固定分配内存大小,该方式为各个用户分配固定大小的存储区域,该区域大小一经确定就不可改变。由于区域大小是固定的,也就限制了一个FPGA云系统允许接入的用户总数,无形中限制了某个用户允许使用的空间的大小。例如,一个内存大小为2GB的空间供4个用户同时访问,每个用户分配的空间大小是512MB。用户1的应用只使用100MB的空间,用户2的应用则使用了350MB的内存,而用户3的应用因为需要使用800MB的内存,所以占用了2个512MB的空间,剩余部分的存储空间虽然有近800MB空间却无法被新用户使用。
综上,固定内存分配的方式可能造成大部分内存资源的浪费,并且限制使用内存的用户的数量。
发明内容
本发明实施例提供了一种内存管理的方法,用于提高云服务器的内存资源的利用率。
第一方面,本申请实施例提供了一种内存管理的方法,所述方法包括:
接收用户设备发送的内存资源的使用申请,所述使用申请包括需要使用的内存资源大小;
获取内存资源池,所述内存资源池包括所述多台现场可编程门阵列FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的容量;
确定在多个所述空闲内存资源中容量与所述需要使用的内存资源大小相匹配的目标内存资源;
确定所述目标内存资源对应的目标云服务器;
通过硬件接口配置所述目标云服务器完成对所述目标内存资源的分配。
第二方面,本申请实施例提供了一种内存管理的方法,包括:
接收现场可编程门阵列FPGA管理服务器发送的内存请求;
根据所述内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小;以使所述FPGA管理服务器确定在多个所述空闲内存资源中存储容量与所述需要使用的内存资源大小相匹配的目标内存资源及所述目标内存资源对应的目标云服务器;
对所述目标内存资源进行分配管理。
第三方面,本申请实施例提供了一种服务器,包括:
接收模块,用于接收用户设备发送的内存资源的使用申请,所述使用申请包括需要使用的内存资源大小;
获取模块,用于获取内存资源池,所述内存资源池包括所述多台现场可编程门阵列FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的容量;
第一确定模块,用于确定在所述获取模块获取的多个所述空闲内存资源中容量与所述接收模块接收的所述需要使用的内存资源大小相匹配的目标内存资源;
内存资源分配模块,通过硬件接口配置所述第一确定模块确定的所述目标内存资源对应的目标云服务器完成对所述目标内存资源的分配。
第四方面,本申请实施例提供了一种服务器,包括:
接收模块,用于接收FPGA管理服务器发送的内存请求;
发送模块,用于根据所述接收模块接收的所述内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小;以使所述FPGA管理服务器确定在多个所述空闲内存资源中存储容量与所述需要使用的内存资源大小相匹配的目标内存资源及所述目标内存资源对应的目标云服务器;
分配管理模块,用于通过硬件接口对所述目标内存资源的进行分配管理。
第五方面,本申请实施例提供了一种服务器,包括:处理器,该处理器用于使该服务器执行上述第一方面或第二方面所执行的方法。
第六方面,本申请实施例提供了一种计算机存储介质,用于储存服务器所用的计算机软件指令,其包含用于执行如上述第一方面所述的方法,或者,执行如上述第二方面所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本申请实施例中,可以系统层次的对多个云服务器进行统一调度,从而实现对内存资源的弹性调度,对内存资源灵活分配。本示例中,管理服务器用于接收用户设备发送的内存资源的使用申请,例如,一个用户需要将应用存储在云服务器中,管理服务器接收用户设备发送的内存资源的使用申请该使用申请包括需要使用的内存资源大小,例如,存储应用所需要使用的内存资源的大小;获取多台云服务器中每台云服务器当前的空闲内存资源的大小;该管理服务器确定在多个空闲内存资源中容量与需要使用的内存资源大小相匹配的目标内存资源;确定目标内存资源对应的目标云服务器;管理服务器可以通过硬件接口配置目标云服务器完成对目标内存资源的分配。从而可以弹性的按照需求分配云服务器中的内存资源供不同的用户使用,可以极大的提高FPGA云服务器的资源利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中FPGA云系统的架构示意图;
图2为本申请实施例中一种内存管理的方法的一个实施例的步骤流程示意图;
图3为本申请实施例中一种内存管理的方法的一个场景示意图;
图4为本申请实施例中一种内存管理的方法的另一个实施例的示意图;
图5为本申请实施例中FPGA云系统的架构示意图;
图6为本申请实施例中内存管理模块的结构示意图;
图7为本申请实施例中内存块地址管理的示意图;
图8为本申请实施例中虚拟地址和物理地址映射示意图;
图9为本申请实施例中一种服务器的一个实施例的结构示意图;
图10为本申请实施例中一种服务器的另一个实施例的结构示意图;
图11为本申请实施例中一种服务器的另一个实施例的结构示意图。
具体实施方式
本发明实施例提供了一种内存管理的方法及相关设备,用于提高云服务器的内存资源的利用率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。“多个”指两个及以上。
本申请实施例中提供了一种内存管理的方法,该方法应用于现场可编程门阵列(Field-Programmable Gate Array,FPGA)云系统,请参阅图1所示,图1为该云系统的架构场景示意图,该FPGA云系统包括FPGA管理服务器101(以下也可以简称“管理服务器”)和多个FPGA云服务器102(以下也可以简称“云服务器”),其中,管理服务器101与多个FPGA云服务器102中的每个云服务器连接,该管理服务器可以与云服务器集成,或者,该管理服务器也可以与云服务器进行集成部署。可以理解的是,该管理服务器和云服务器可以为结构相同的服务器,从功能上的划分为管理服务器和云服务器,该管理服务器也可以为多个云服务器中的任一个云服务器,或者,该管理服务器也可以为该多个云服务器中指定的一个服务器。该多个云服务器可以集成设置,或者,该多个云服务器也可以分开部署,在具体的实现中,对于FPGA管理服务器及多个FPGA云服务器的具体部署形态本申请中并不限定。
本申请实施例中,可以系统层次的对多个云服务器进行统一调度,从而实现对内存资源的弹性调度,对内存资源灵活分配。本示例中,管理服务器用于接收用户设备发送的内存资源的使用申请,例如,一个用户需要将应用存储在云服务器中,管理服务器接收用户设备发送的内存资源的使用申请。该使用申请包括需要使用的内存资源大小,例如,存储应用所需要使用的内存资源的大小;获取多台云服务器中每台FPGA云服务器当前的空闲内存资源的大小;该管理服务器确定在多个空闲内存资源中容量与需要使用的内存资源大小相匹配的目标内存资源;确定目标内存资源对应的目标云服务器;管理服务器可以通过硬件接口配置目标云服务器完成对目标内存资源的分配。从而可以弹性的按照需求分配云服务器中的内存资源供不同的用户使用,可以极大的提高FPGA云服务器的资源利用率。
请参阅图2所示,图2为本申请实施例中一种内存管理的方法的一个实施例,本实施例中以管理服务器为执行主体进行说明。
步骤201、接收用户设备发送的内存资源的使用申请,使用申请包括需要使用的内存资源大小。
管理服务器接收用户设备发送的内存资源的使用申请,该使用申请包括用户需要使用的内存资源大小(如,记为“R”),例如,该用户需要使用的内存资源(也可以称为内存空间)为64MB。
步骤202、获取内存资源池,内存资源池包括多台FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的大小。
首先,请参阅图3所示,图3为场景示意图,管理服务器查询当前线上所有正常工作的FPGA云服务器,记录各个云服务器相关硬件信息,例如,该硬件信息包括但不限定于硬件设备ID和版本号等信息。该硬件设备ID和版本号等信息用于管理服务器识别不同的云服务器。当某个用户启动了新业务并提交了对内存空间的申请时,管理服务器通过硬件接口向每个云服务器发出请求,该阶段属于内存的预申请。该请求用于请求每个云服务器允许创建的内存资源的大小。
然后,管理服务器接收每个FPGA云服务器反馈申请结果,该申请结果用于指示是否允许创建该内存空间,例如,在一种情况中,其中,1台云服务器不允许创建该内存空间,申请结果的其中一个字段为“0”,即表示该申请结果指示不允许创建内存空间;在另一种情况中,用于指示是否允许创建内存空间的字段指示为“1”,即表示该申请结果指示允许创建内存空间,该申请结果携带允许创建的内存空间的大小,即可以理解为,当前此台云服务器的空闲内存资源的大小。
假设第1台FPGA云服务器允许创建该内存空间,且对应的空闲内存资源大小为“Size_1”;第2台FPGA云服务器允许创建该内存空间,且对应的空闲内存资源为“Size_2”;依次类推到,第n台FPGA云服务器对应的空闲内存资源为“Size_n”;则n台云服务器当前的空闲内存资源可以组成一个可供弹性调度的内存资源池。本示例中,该内存资源池中的内存资源为当前空闲的内存资源,可以进行统一调度,即可以根据每个云服务器当前的实际存储能力进行调度。
步骤203、确定在多个空闲内存资源中存储容量与需要使用的内存资源大小相匹配的目标内存资源。
在一种可能实现的方式中,采用最小适配算法,从内存资源池中选择第一存储资源的集合,第一存储资源的集合中的每个存储资源的存储容量均大于或者等于需要使用的内存资源大小;然后从第一内存资源的集合中选择目标内存资源,目标内存资源的存储容量为第一内存资源的集合中所有的空闲内存资源的存储容量的最小值。
例如,当前内存资源池中的内存资源大小分别为:Size_1,size_2,....Size_i....Size_n;
管理服务器调度的FPGA云服务器的编号以及对应内存大小通过以下方程给出:
Size_actual=min(Size_1,Size_2,....Size_i....Size_n);
Number=index(min(Size_1,Size_2,....Size_i....Size_n));
其中,min函数是取各个输入数值的最小值;index函数则是获取当前对应最小值的云服务编号。
最后,得到配置的FPGA云服务的编号以及需要分配的内存大小,通过硬件接口配置目标云服务器完成对用户内存的分配。
(这部分需要更新,应该是一台FPGA云服务器下寻找最佳内存块组合,不是多台,上次表述不对,需更正。)在第二种可能实现的方式中,在第一种可能实现的方式的基础上,即确定了目标云服务器之后,进一步的,确定目标云服务器中目标内存资源是由哪些空闲的内存块组成的,目标内存资源可以包括多个空闲的内存块,在目标云服务器中确定最佳的内存块组合。
对多个空闲的内存块对应的存储容量进行排列组合,得到多个内存块组合,内存块组合中包括至少两个内存块;从内存块组合中选择目标内存块组合,目标内存块组合包括至少两个内存块;目标内存块组合对应的存储容量与需要使用的内存资源大小相匹配。
具体的,按照内存块的存储容量从小到大的顺序记录内存块及对应的存储容量,得到内存块矩阵;将配置矩阵和内存块矩阵相乘,得到多个内存块组合,配置矩阵包括多个列,多个列中的每个列用于指示一台FPGA云服务器中的各个空闲的内存块。
具体的,按照从小到大的顺序存储了各个空闲的内存块标识(如标号、编码等)及每个内存块对应的存储容量。例如,按照从小到大的顺序记为size 0,size 1,size 2,...size i-1,size i。
配置矩阵与内存块矩阵进行相乘,得到各种可能候选内存块组合,最终结果记为mem 0,mem 1,...mem i-1,mem i;
在上述结果中,mem 0,mem 1,...mem i-1,mem i,每一个结果为可以的内存块的组合,例如,mem 0为内存块(#1)、内存块(#5)和内存块(#6)的组合,其他的结果类似,此处不一一赘述,需要说明的是,上述结果中的内存块可以为同一个云服务器中的内存块,也可以为不同的云服务器中的内存块。
选择在上述结果中选择与用户需要使用的内存空间最接近的内存块组合,记为result_mem,例如,result_mem=mem 0,即mem 0为最接近R的内存块组合,本示例中最接近的含义为内存块组合所指示的内存资源的容量与R的差值小于一个目标值(如X),即result_mem-R<X,该目标值可以为一个预设值,或者,该目标值也可以为根据实际情况进行调整的值,即当内存块组合所指示的内存资源的容量与R的差值小于目标值时,即认为内存块组合接近R。例如,内存块组合对应的目标内存块分别为:内存块(#1))、内存块(#5)、内存块(#6)。
步骤204、通过硬件接口配置目标内存资源对应的目标云服务器完成对目标内存资源的分配。
本示例中管理服务器通过硬件接口配置目标云服务器(如1号服务器)对内存块(#1))、内存块(#5)、内存块(#6)进行调度。
同理,当管理服务器同时为多个用户分配内存资源时,管理服务器通过硬件接口配置目标云服务器,从而使目标云服务器完成对目标内存资源的分配管理。例如,通过硬件接口对1号云服务器配置10MB,对2号云服务器配置20MB,对3号云服务器配置25MB,从而使得1号云服务器,2号云服务器和3号云服务器完成对内存块的分配和管理。
在一个应用场景中,当用户开启一个新业务时,用户需要使用FPGA云系统的内存空间,用户设备向FPGA管理服务器发送内存资源的使用申请,该使用申请包括需要使用的内存资源大小如64MB,FPGA管理服务器已经查询了在FPGA云系统中所包括的FPGA云服务器的编号及版本号等信息,FPGA管理服务器向每个云服务器查询当前的空闲内存资源的大小,每台云服务器向FPGA管理服务器反馈自身的空闲内存资源(空闲的内存块的标号)及对应的容量,这些空闲内存资源组成内存资源池,该内存资源池中的空闲内存资源可供FPGA管理服务器根据用户需求进行统一调度,管理服务器可以根据最小适配算法确定当前1号云服务器空闲内存资源为70MB,然后,通过硬件接口配置1号云服务器,从而使1号云服务器分配该70MB的内存资源给用户使用。本示例中,可以极大的提高内存资源的利用率,增加用户的数量。
需要说明的是,本申请实施例中对于内存资源的大小和内存块的容量均为举例说明,并不造成对本申请的限定性说明。
本申请实施例中,可以系统层次的对多个云服务器进行统一调度,从而实现对内存资源的弹性调度,对内存资源灵活分配。本示例中,管理服务器用于接收用户设备发送的内存资源的使用申请,例如,一个用户需要将应用存储在云服务器中,管理服务器接收用户设备发送的内存资源的使用申请该使用申请包括需要使用的内存资源大小,例如,存储应用所需要使用的内存资源的大小;获取多台云服务器中每台FPGA云服务器当前的空闲内存资源的大小;该管理服务器确定在多个空闲内存资源中容量与需要使用的内存资源大小相匹配的目标内存资源;确定目标内存资源对应的目标云服务器;管理服务器可以通过硬件接口配置目标云服务器完成对目标内存资源的分配。从而可以弹性的按照需求分配云服务器中的内存资源供不同的用户使用,可以极大的提高FPGA云服务器的资源利用率。
本申请实施例中,还提供了一种内存管理的方法的另一个实施例,在该实施例中,在本申请实施例中,每个FPGA云服务器的结构和功能相同,本示例中,以FPGA云系统中的目标FPGA云服务器为执行主体进行说明。
请参阅图4所示,图4为本申请实施例中一种内存管理的方法的一个实施例的示意图。请参阅图5所示,图5为本申请实施例中FPGA云系统的架构示意图,在FPGA云系统中包括静态区和动态区,其中,FPGA云系统静态区中的增加了一个内存管理模块,该内存管理模块实现了多用户内存的弹性调度。请参阅图6所示,图6为内存管理模块的结构示意图。内存管理模块内存分配模块,内存回收模块和内存地址管理三大模块。
步骤401、接收FPGA管理服务器发送的内存请求;
云服务器接收FPGA管理服务器发送的内存请求,该内存请求包括用户需要使用的内存空间的大小。
步骤402、根据内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小;以使FPGA管理服务器确定在多个空闲内存资源中存储容量与需要使用的内存资源大小相匹配的目标内存资源及目标内存资源对应的目标云服务器。
云服务器中的内存分配模块根据内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小
步骤403、对目标内存资源的进行分配管理。
内存分配模块对目标内存资源的进行分配管理的具体功能可以包括:
1、内存分配模块对目标内存资源进行分配,保证需要多少内存资源分配多少内存资源。
云服务器中包括多个空闲的内存资源,云服务器可以确定哪些内存块的组合为最佳的内存块组合。即对所述多个内存块对应的存储容量进行排列组合,得到多个内存块组合,所述内存块组合中包括至少两个内存块;从所述多个内存块组合中选择目标内存块组合,所述目标内存块组合对应的存储容量与所述需要使用的内存资源大小相匹配。
具体的,按照内存块的存储容量从小到大的顺序记录内存块的标号及对应的存储容量,得到内存块矩阵;将配置矩阵和内存块矩阵相乘,得到多个内存块组合,所述配置矩阵包括多个列,所述多个列中的每个列用于指示一台FPGA云服务器中的各个空闲内存块。
2、目标内存块组合至少一个目标内存块,记录并更新需要调度的目标内存块的标号及存储容量;并管理目标内存块的物理地址。
例如,空闲的内存块的标号为“#1”,及该内存块的存储容量为64MB,此时确定目标内存块为“#1”内存块,则该云服务器需要记录并更新调度的目标内存块的标号及存储容量(即#1,64MB),并可以记录该目标内存块的起始地址和结束地址。
可选的,在一个可能的示例中,该云服务器中内存回收模块的还可以通过地址回收算法实现对内存碎片进行合并处理。当第一目标内存块需要释放时,查询第一目标内存块和其他的空闲内存块的起始地址和结束地址;根据每个内存块的起始地址和结束地址将第一目标内存块和其他空闲的内存块中的第二内存块合并,第一内存块的起始地址对应第二内存块的结束地址。
具体的,每一个回收项(即回收内存块)存储了内存块的起始地址和结束地址。例如,回收内存块的大小为8MB,起始地址为从0开始,起始地址为:0x0,结束地址为:0x7FFFFF;当有一个内存块释放的时候,内存回收模块首先依次查询各个回收项的初始地址,然后通过排序定位到对应该内存块需要保存的位置,再获取对应上一个回收项的结束地址。如果上一个回收项的结束地址等于当前回收地址的起始地址,则两个内存块进行合并,通过这种机制实现内存碎片的有效回收和合并,把时间上离散空间上连续的的内存小块重整为一个连续的内存块。最大限度的提高了内存使用率。内存回收模块记录回收的内存块的标号及大小。
可选的,在另一示例中,云服务器可以通过对内存块地址的管理,保证不同用户的内存空间相互独立和有效隔离。请参阅图7所示,图7为内存块地址管理的示意图,首先获取用户内存地址访问策略,该用户内存访问策略为:根据用户的申请,为用户分配的实际的各云服务器分配的具体的内存资源信息,该内存资源信息包括但不限定于内存资源的大小,起始地址和结束地址等信息,该访问策略作为对应地址译码的依据,访问策略包括了用户允许访问的各内存块对应的起始地址和结束地址。用户的访问地址经过用户地址译码器后最终译码得到访问内存的物理地址。请参阅图8所示,图8为虚拟地址和物理地址映射示意图,地址译码器还可以实现从内存资源的虚拟地址到内存块的物理地址映射。相比于传统的方法,本示例中提供了一种映射手段,支持把内存的离散地址块映射成一个连续的地址块,即从用户角度看到是一个连续的地址块。通过这种方式,可以有效把各内存碎片进行有效利用,提高内存的整体利用率。
即当云服务器接收用户的访问地址,访问地址用于访问目标内存资源,访问地址为虚拟地址;云服务器将访问地址映射到物理地址;根据物理地址访问目标内存资源对应的多个离散的内存块。
本申请实施例还提供了一种内存管理的方法,该方法应用于FPGA云系统,该FPGA云系统如图1中的架构所示,本示例中,从管理服务器及目标云服务器交互进行说明。管理服务器接收用户设备发送的内存资源的使用申请,使用申请包括需要使用的内存资源大小。管理服务器查询当前线上所有正常工作的FPGA云服务器,向每个FPGA云服务器发送请求,每个FPGA云服务器向管理服务器反馈允许创建的内存资源的大小,管理服务器进一步的根据用户需要使用的内存资源的大小,确定在多个空闲内存资源中存储容量与需要使用的内存资源大小相匹配的目标内存资源。管理服务器确定目标内存资源对应的目标云服务器。然后管理服务器通过硬件接口配置目标云服务器。目标云服务器可以进一步确定具体的哪些目标内存块与R最匹配,目标云服务器完成对目标内存资源的分配管理。
请参阅图9所示,本申请实施例提供了一种服务器900,该服务器包括用于执行上述方法实施例中的执行模块,各个执行模块用于执行上述方法实施例中各步骤。在一个示例中:
接收模块901,用于接收用户设备发送的内存资源的使用申请,所述使用申请包括需要使用的内存资源大小;
获取模块902,用于获取内存资源池,所述内存资源池包括所述多台现场可编程门阵列FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的容量;
第一确定模块903,用于确定在所述获取模块902获取的多个所述空闲内存资源中容量与所述接收模块901接收的所述需要使用的内存资源大小相匹配的目标内存资源;
第二确定模块904,用于确定所述第一确定模块703确定的所述目标内存资源对应的目标云服务器;
内存管理模块905,通过硬件接口配置所述第二确定模块904确定的所述目标云服务器完成对所述目标内存资源的分配。
在一种可能的实现方式中,所述第一确定模块903,还用于从所述内存资源池中选择第一存储资源的集合,所述第一存储资源的集合中的每个存储资源的存储容量均大于或者等于所述需要使用的内存资源大小;从所述第一内存资源的集合中选择目标内存资源,所述目标内存资源的存储容量为所述第一内存资源的集合中所有的空闲内存资源的存储容量的最小值。
在一种可能的实现方式中,所述第一确定模块903,还用于对所述内存块对应的存储容量进行排列组合,得到多个内存块组合,所述内存块组合中包括至少两个内存块;从所述内存块组合中选择目标内存块组合,所述目标内存块组合包括至少两个内存块;所述目标内存块组合对应的存储容量与所述需要使用的内存资源大小相匹配。
在一种可能的实现方式中,所述第一确定模块903,还用于按照内存块的存储容量从小到大的顺序记录内存块及对应的存储容量,得到内存块矩阵;
将配置矩阵和内存块矩阵相乘,得到多个内存块组合,所述配置矩阵包括多个列,所述多个列中的每个列用于指示一台FPGA云服务器中各个空闲的内存块。
从所述配置矩阵中选择所述目标内存块组合对应的目标列,确定所述目标列对应的所述目标内存块。
在一种可能的实现方式中,所述获取模块902,还用于向多个所述FPGA云服务器中的每个FPGA云服务器发送请求,所述请求用于查询FPGA云服务器的内存资源的大小;接收所述每个FPGA云服务器反馈的空闲内存资源的大小。
请参阅图10所示,图10为本申请实施例中提供的一种服务器的结构示意图,本申请实施例中,该服务器包括多个执行模块,该多个执行模块用于执行上述方法实施例中FPGA云服务器1000所实际执行的方法步骤。在一个示例中:
接收模块1001,用于接收FPGA管理服务器发送的内存请求;
发送模块1002,用于根据所述接收模块1001接收的所述内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小;以使所述FPGA管理服务器确定在多个所述空闲内存资源中存储容量与所述需要使用的内存资源大小相匹配的目标内存资源及所述目标内存资源对应的目标云服务器;
内存分配模块1003,用于通过硬件接口对所述目标内存资源的进行分配管理。
在一个可能的实现例中,内存分配模块1003,还用于对所述多个内存块对应的存储容量进行排列组合,得到多个内存块组合,所述内存块组合中包括至少两个内存块;
从所述多个内存块组合中选择目标内存块组合,所述目标内存块组合对应的存储容量与所述需要使用的内存资源大小相匹配。
内存分配模块1003,还用于按照内存块的存储容量从小到大的顺序记录内存块的标号及对应的存储容量,得到内存块矩阵;
将配置矩阵和内存块矩阵相乘,得到多个内存块组合,所述配置矩阵包括多个列,所述多个列中的每个列用于指示一台FPGA云服务器中的各个空闲内存块。
在一个可能的实施例中,所述目标内存资源包括至少一个目标内存块,该内存分配模块1003,还用于记录并更新需要调度的目标内存块的标号及存储容量;管理所述目标内存块的物理地址。
在一个可能的实施例中,本申请实施例还提供了服务器的另一个实施例,该服务器还包括内存回收模块1004;
内存回收模块1004,用于当第一目标内存块需要释放时,查询所述第一目标内存块和其他的空闲内存块的起始地址和结束地址;根据所述每个内存块的起始地址和结束地址将所述第一目标内存块和所述其他空闲的内存块中的第二内存块合并,所述第一内存块的起始地址对应所述第二内存块的结束地址。
在一个可能实现的方式中,还包括内存地址管理模块1005;
接收模块1001,用于接收用户的访问地址,所述访问地址用于访问所述目标内存资源,所述访问地址为虚拟地址;
内存地址管理模块1005,还用于将所述访问地址映射到物理地址;
内存地址管理模块1005,还用于根据所述物理地址访问所述目标内存资源对应的多个离散的内存块。
请参阅图11所示,图11提供了一种服务器的结构的另一个实施例,本实施例是FPGA服务器硬件实现,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和FPGA板1123、内存组1124和总线系统(如高速串行计算机扩展总线(peripheralcomponent interconnect express,PCIE)),本示例中的FPGA具有非常丰富的片上资源,它可以集成多个高速收发器和多个存储块(blocks),具有很高的内存容量。该FPGA板包括内存分配模块,该内存分配模块用于对内存组中的内存进行分配和管理,该FPGA板还包括内存回收模块,该内存回收模块用于当内存块释放时,将小的碎片的内存合并为整个的内存资源,该FPGA板还包括内存地址管理模块,该内存地址管理模块用于对内存资源的虚拟地址与物理地址的映射管理。所述内存组1124包括多个内存块,所述内存组用于存储多个用户的应用。
本示例中处理器读取FPGA板中的数据用于使服务器执行上述方法实施例中的管理服务器所执行的方法步骤,或者,在图11的结构的基础上,根据FPGA板配置的不同,该处理器可以使服务器执行上述方法实施例中的云服务器所执行的方法步骤。需要说明的是,本示例中只是对FPGA服务器的示例性说明,并不造成对本申请实施例中FPGA服务器的结构的限定性说明。
本发明实施例还提供了一种计算机存储介质,用于储存为上述图11所示的服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以可极大的提高FPGA云服务器的资源利用率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种内存管理的方法,其特征在于,所述方法包括:
接收用户设备发送的内存资源的使用申请,所述使用申请包括需要使用的内存资源大小;
获取内存资源池,所述内存资源池包括所述多台现场可编程门阵列FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的容量;
确定在多个所述空闲内存资源中容量与所述需要使用的内存资源大小相匹配的目标内存资源;
通过硬件接口配置所述目标内存资源对应的目标云服务器完成对所述目标内存资源的分配。
2.根据权利要求1所述的方法,其特征在于,所述确定在多个所述空闲内存资源中存储容量与所述需要使用的内存资源大小相匹配的目标内存资源,包括:
从所述内存资源池中选择第一存储资源的集合,所述第一存储资源的集合中的每个存储资源的存储容量均大于或者等于所述需要使用的内存资源大小;
从所述第一内存资源的集合中选择目标内存资源,所述目标内存资源的存储容量为所述第一内存资源的集合中所有的空闲内存资源的存储容量的最小值。
3.根据权利要求1所述的方法,其特征在于,所述目标云服务器的空闲内存资源包括多个内存块;所述方法还包括:
对所述多个内存块对应的存储容量进行排列组合,得到多个内存块组合,所述内存块组合中包括至少两个内存块;
从所述内存块组合中选择目标内存块组合,所述目标内存块组合对应的存储容量与所述需要使用的内存资源大小相匹配。
4.根据权利要求3所述的方法,其特征在于,所述对所述多个内存块对应的存储容量进行排列组合,包括:
按照内存块的存储容量从小到大的顺序记录所述多个内存块的标号及对应的存储容量,得到内存块矩阵;
将配置矩阵和内存块矩阵相乘,得到多个内存块组合,所述配置矩阵包括多个列,所述多个列中的每个列用于指示一台FPGA云服务器中各个空闲的内存块;
从所述配置矩阵中选择所述目标内存块组合对应的目标列;
确定所述目标列对应的所述目标内存块。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取内存资源池,包括:
向多个所述FPGA云服务器中的每个FPGA云服务器发送请求,所述请求用于查询FPGA云服务器的内存资源的大小;
接收所述每个FPGA云服务器反馈的空闲内存资源的大小。
6.一种内存管理的方法,其特征在于,包括:
接收现场可编程门阵列FPGA管理服务器发送的内存请求;
根据所述内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小;以使所述FPGA管理服务器确定在多个所述空闲内存资源中存储容量与所述需要使用的内存资源大小相匹配的目标内存资源;
对所述目标内存资源进行分配管理。
7.根据权利要求6所述的方法,其特征在于,所述空闲内存资源包括多个内存块,所述对所述目标内存资源的进行分配管理,包括:
对所述多个内存块对应的存储容量进行排列组合,得到多个内存块组合,所述内存块组合中包括至少两个内存块;
从所述多个内存块组合中选择目标内存块组合,所述目标内存块组合对应的存储容量与所述需要使用的内存资源大小相匹配。
8.根据权利要求7所述的方法,其特征在于,所述对所述内存块对应的存储容量进行排列组合,包括:
按照内存块的存储容量从小到大的顺序记录内存块的标号及对应的存储容量,得到内存块矩阵;
将配置矩阵和内存块矩阵相乘,得到多个内存块组合,所述配置矩阵包括多个列,所述多个列中的每个列用于指示一台FPGA云服务器中的各个空闲内存块。
9.根据权利要求6所述的方法,其特征在于,所述目标内存资源包括至少一个目标内存块,所述对所述目标内存资源的分配管理,包括:
记录并更新需要调度的目标内存块的标号及存储容量;
管理所述目标内存块的物理地址。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当第一目标内存块需要释放时,查询所述第一目标内存块和其他的空闲内存块的起始地址和结束地址;
根据所述每个内存块的起始地址和结束地址将所述第一目标内存块和所述其他空闲的内存块中的第二内存块合并,所述第一内存块的起始地址对应所述第二内存块的结束地址。
11.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收用户的访问地址,所述访问地址用于访问所述目标内存资源,所述访问地址为虚拟地址;
将所述访问地址映射到物理地址;
根据所述物理地址访问所述目标内存资源对应的多个离散的内存块。
12.一种服务器,其特征在于,包括:
接收模块,用于接收用户设备发送的内存资源的使用申请,所述使用申请包括需要使用的内存资源大小;
获取模块,用于获取内存资源池,所述内存资源池包括所述多台现场可编程门阵列FPGA云服务器中每台FPGA云服务器当前的空闲内存资源的容量;
第一确定模块,用于确定在所述获取模块获取的多个所述空闲内存资源中容量与所述接收模块接收的所述需要使用的内存资源大小相匹配的目标内存资源;
内存资源分配模块,通过硬件接口配置所述第一确定模块确定目标内存资源对应的目标云服务器完成对所述目标内存资源的分配。
13.一种服务器,其特征在于,包括:
接收模块,用于接收FPGA管理服务器发送的内存请求;
发送模块,用于根据所述接收模块接收的所述内存请求向FPGA管理服务器反馈当前的空闲内存资源的大小;以使所述FPGA管理服务器确定在多个所述空闲内存资源中存储容量与所述需要使用的内存资源大小相匹配的目标内存资源及所述目标内存资源对应的目标云服务器;
分配管理模块,用于通过硬件接口对所述目标内存资源的进行分配管理。
14.一种服务器,其特征在于,包括:处理器,该处理器用于使该服务器执行如权利要求1-5中任一项所述的方法,或者,执行如权利要求6-11中任一项所述的方法。
15.一种计算机存储介质,其特征在于,用于储存服务器所用的计算机软件指令,其包含用于执行如权利要求1-5中任一项所述的方法,或者,执行如权利要求6-11中任一项所述的方法。
CN201810396160.0A 2018-04-27 2018-04-27 一种内存管理方法及相关设备 Active CN110209490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810396160.0A CN110209490B (zh) 2018-04-27 2018-04-27 一种内存管理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810396160.0A CN110209490B (zh) 2018-04-27 2018-04-27 一种内存管理方法及相关设备

Publications (2)

Publication Number Publication Date
CN110209490A true CN110209490A (zh) 2019-09-06
CN110209490B CN110209490B (zh) 2023-07-14

Family

ID=67778762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810396160.0A Active CN110209490B (zh) 2018-04-27 2018-04-27 一种内存管理方法及相关设备

Country Status (1)

Country Link
CN (1) CN110209490B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781129A (zh) * 2019-09-12 2020-02-11 苏州浪潮智能科技有限公司 一种fpga异构加速卡集群中的资源调度方法、设备及介质
CN111767148A (zh) * 2020-06-29 2020-10-13 中国电子科技集团公司第五十四研究所 一种基于多核dsp的嵌入式系统资源管理方法
CN111831451A (zh) * 2020-07-21 2020-10-27 平安科技(深圳)有限公司 云主机内存分配方法及云主机、设备及存储介质
CN112685333A (zh) * 2020-12-28 2021-04-20 上海创功通讯技术有限公司 一种堆内存管理方法及装置
CN113010457A (zh) * 2021-03-24 2021-06-22 北京百度网讯科技有限公司 资源管理方法、装置及移动终端
CN113726741A (zh) * 2021-07-28 2021-11-30 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置
CN113849311A (zh) * 2021-09-28 2021-12-28 苏州浪潮智能科技有限公司 内存空间管理方法、装置、计算机设备和存储介质
CN114579198A (zh) * 2022-01-20 2022-06-03 飞腾信息技术有限公司 内存芯片的启动方法、装置、计算机设备及存储介质
CN115225565A (zh) * 2022-07-25 2022-10-21 科东(广州)软件科技有限公司 数据包收发配置、收取、发送方法及装置、电子设备
CN117493025A (zh) * 2023-12-29 2024-02-02 腾讯科技(深圳)有限公司 资源分配方法、装置、设备及存储介质
CN117873738A (zh) * 2024-03-12 2024-04-12 苏州元脑智能科技有限公司 资源分配方法、装置、电子设备以及存储介质
CN112685333B (zh) * 2020-12-28 2024-06-07 上海创功通讯技术有限公司 一种堆内存管理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853210A (zh) * 2010-05-25 2010-10-06 惠州华阳通用电子有限公司 一种内存管理方法及装置
CN104125293A (zh) * 2014-08-06 2014-10-29 曙光信息产业(北京)有限公司 一种云服务器及其使用方法
CN107534583A (zh) * 2015-04-30 2018-01-02 华为技术有限公司 具有多资源可调度单元(mrsu)的数据中心的应用驱动和自适应统一资源管理
CN107729126A (zh) * 2016-08-12 2018-02-23 中国移动通信集团浙江有限公司 一种容器云的任务调度方法和装置
CN107766153A (zh) * 2017-10-17 2018-03-06 华为技术有限公司 一种内存管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853210A (zh) * 2010-05-25 2010-10-06 惠州华阳通用电子有限公司 一种内存管理方法及装置
CN104125293A (zh) * 2014-08-06 2014-10-29 曙光信息产业(北京)有限公司 一种云服务器及其使用方法
CN107534583A (zh) * 2015-04-30 2018-01-02 华为技术有限公司 具有多资源可调度单元(mrsu)的数据中心的应用驱动和自适应统一资源管理
CN107729126A (zh) * 2016-08-12 2018-02-23 中国移动通信集团浙江有限公司 一种容器云的任务调度方法和装置
CN107766153A (zh) * 2017-10-17 2018-03-06 华为技术有限公司 一种内存管理方法及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781129B (zh) * 2019-09-12 2022-02-22 苏州浪潮智能科技有限公司 一种fpga异构加速卡集群中的资源调度方法、设备及介质
CN110781129A (zh) * 2019-09-12 2020-02-11 苏州浪潮智能科技有限公司 一种fpga异构加速卡集群中的资源调度方法、设备及介质
CN111767148A (zh) * 2020-06-29 2020-10-13 中国电子科技集团公司第五十四研究所 一种基于多核dsp的嵌入式系统资源管理方法
CN111831451A (zh) * 2020-07-21 2020-10-27 平安科技(深圳)有限公司 云主机内存分配方法及云主机、设备及存储介质
WO2021120843A1 (zh) * 2020-07-21 2021-06-24 平安科技(深圳)有限公司 云主机内存分配方法及云主机、设备及存储介质
CN112685333A (zh) * 2020-12-28 2021-04-20 上海创功通讯技术有限公司 一种堆内存管理方法及装置
CN112685333B (zh) * 2020-12-28 2024-06-07 上海创功通讯技术有限公司 一种堆内存管理方法及装置
CN113010457A (zh) * 2021-03-24 2021-06-22 北京百度网讯科技有限公司 资源管理方法、装置及移动终端
CN113726741B (zh) * 2021-07-28 2024-01-19 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置
CN113726741A (zh) * 2021-07-28 2021-11-30 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置
CN113849311A (zh) * 2021-09-28 2021-12-28 苏州浪潮智能科技有限公司 内存空间管理方法、装置、计算机设备和存储介质
CN113849311B (zh) * 2021-09-28 2023-11-17 苏州浪潮智能科技有限公司 内存空间管理方法、装置、计算机设备和存储介质
CN114579198A (zh) * 2022-01-20 2022-06-03 飞腾信息技术有限公司 内存芯片的启动方法、装置、计算机设备及存储介质
CN114579198B (zh) * 2022-01-20 2024-02-20 飞腾信息技术有限公司 内存芯片的启动方法、装置、计算机设备及存储介质
CN115225565A (zh) * 2022-07-25 2022-10-21 科东(广州)软件科技有限公司 数据包收发配置、收取、发送方法及装置、电子设备
CN115225565B (zh) * 2022-07-25 2023-12-15 科东(广州)软件科技有限公司 数据包收发配置、收取、发送方法及装置、电子设备
CN117493025A (zh) * 2023-12-29 2024-02-02 腾讯科技(深圳)有限公司 资源分配方法、装置、设备及存储介质
CN117873738A (zh) * 2024-03-12 2024-04-12 苏州元脑智能科技有限公司 资源分配方法、装置、电子设备以及存储介质
CN117873738B (zh) * 2024-03-12 2024-05-24 苏州元脑智能科技有限公司 资源分配方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN110209490B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
CN110209490A (zh) 一种内存管理方法及相关设备
US11816505B2 (en) Configurable logic platform with reconfigurable processing circuitry
CN107659433B (zh) 一种云资源调度方法及设备
CN102929787B (zh) 用于存储装置组的分配策略
CN104881325B (zh) 一种资源调度方法和资源调度系统
CN102971724B (zh) 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置
CN103902467B (zh) 压缩内存访问控制方法、装置及系统
CN103197979B (zh) 一种用于实现在进程间进行数据交互访问的方法及其装置
CN103023963B (zh) 一种用于云存储资源优化分配的方法
CN111105006B (zh) 一种深度学习网络训练系统及方法
CN107864211B (zh) 集群资源调度方法及系统
CN109684074A (zh) 物理机资源分配方法及终端设备
CN109710175A (zh) 用于数据存储管理的设备和方法
CN110688230B (zh) 一种同步训练方法、装置、计算机设备和存储介质
CN103593229A (zh) 异构云操作系统的集成与统一调度框架及调度方法
WO2023000673A1 (zh) 硬件加速器设备管理方法、装置及电子设备和存储介质
CN110727517A (zh) 一种基于分区设计的内存分配方法和装置
CN113419846A (zh) 资源配置方法和装置、电子设备及计算机可读存储介质
CN110503593A (zh) 多个图形处理单元的调度
CN108399102A (zh) 一种资源分配方法和装置
CN104077266B (zh) 多内核操作系统实现方法和实现装置及系统
CN104156663B (zh) 一种硬件虚拟端口及处理器系统
CN107870871A (zh) 分配缓存的方法和装置
CN107992351B (zh) 一种硬件资源分配方法及装置、电子设备
EP4185963A1 (en) Zone hints for zoned namespace storage devices

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