CN114253733A - 一种内存管理方法、装置、计算机设备和存储介质 - Google Patents
一种内存管理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114253733A CN114253733A CN202111601519.1A CN202111601519A CN114253733A CN 114253733 A CN114253733 A CN 114253733A CN 202111601519 A CN202111601519 A CN 202111601519A CN 114253733 A CN114253733 A CN 114253733A
- Authority
- CN
- China
- Prior art keywords
- node
- memory
- server
- message
- nodes
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 677
- 238000007726 management method Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000000977 initiatory effect Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 3
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 3
- 102100039558 Galectin-3 Human genes 0.000 description 3
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 3
- 101150115300 MAC1 gene Proteins 0.000 description 3
- 101150051246 MAC2 gene Proteins 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种内存管理方法、装置、计算机设备和存储介质。所述内存管理方法包括:获取服务器的节点的内存容量信息,将内存容量信息传输至节点对应的服务器,更新服务器的节点的内存容量信息;通过第一节点发起内存请求消息,将内存请求消息发送至服务器内的第二节点,获取第二节点的内存答复消息;将内存答复消息与预设的更新条件进行对比,获取对比结果,根据对比结果对服务器的节点的内存容量进行分配,并对服务器的节点的内存容量信息进行更新,以此解决内存管理过程中延时大、兼容性差等问题。
Description
技术领域
本发明涉及计算机内存技术领域,特别是涉及一种内存管理方法、装置、计算机设备和存储介质。
背景技术
随着云计算的快速发展,数据中心的中央处理单元、网络、内存等硬件资源消耗越来越大,因此,如何提高数据中心内各种硬件的资源利用率,合理分配负载计算任务以及如何对内存进行有效管理,显得尤为重要。目前,通常采用内存共享的方式,根据业务配置需求,将服务器内的各资源通过软件重新划分,实现各资源利用率的提高。然而,目前的内存共享技术在处理跨节点、跨服务器情况时,存在延时大、兼容性差等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种内存管理方法、装置、计算机设备和存储介质,改善内存共享性能低的问题。
一方面,提供一种内存管理方法,所述内存管理方法包括:
获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
在其中一个实施例中,获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息的步骤包括:
获取所述服务器的多个节点的内存容量信息;
对所述服务器的节点的位置进行编号,根据所述编号选取一个所述节点作为主节点,通过所述主节点将多个所述节点的内存容量信息周期性地传输至对应的所述服务器,更新至少一个所述服务器的节点的内存容量信息。
在其中一个实施例中,通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息的步骤包括:
判断所述节点是否存在内存容量不足的情况,若是,则将所述节点作为所述第一节点;
通过所述第一节点将所述内存请求消息发送至第一服务器的所述第二节点,其中,所述第一服务器包括:所述第一节点对应的服务器,所述内存请求消息包括:请求内存的容量;
判断所述第一服务器的节点的内存容量是否与所述请求内存的容量匹配,若是,则获取所述第一服务器的节点回复的所述内存闲置消息;
若否,则获取所述第一服务器的节点回复的所述内存饱和消息。
在其中一个实施例中,通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息的步骤还包括:
判断所述节点是否存在内存容量不足的情况,若是,则将所述节点作为所述第一节点;
通过所述第一节点将内存请求消息发送至第二服务器的所述第二节点,其中,所述服务器包括:所述第二服务器,所述内存请求消息包括:请求内存的容量;
判断所述第二服务器的节点的内存容量是否与所述请求内存的容量匹配,若是,则获取所述第二服务器的节点回复的所述内存闲置消息;
若否,则获取所述第二服务器的节点回复的所述内存饱和消息。
在其中一个实施例中,将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新的步骤包括:
若所述内存答复消息为所述内存饱和消息,则获取第一对比结果,继续获取所述内存答复消息,直到满足停止条件,所述停止条件至少包括以下之一:所述第一节点停止发送所述内存请求消息、持续获取所述内存答复消息所消耗的时间长度大于预设的时间阈值、获取到内存闲置消息;
若所述内存答复消息为所述内存闲置消息,则获取第二对比结果,将所述第二节点的内存容量分配至所述第一节点;
对所述服务器内多个所述节点的内存容量信息进行更新。
在其中一个实施例中,对所述服务器的节点的内存容量进行分配之前的步骤包括:
所述第一节点分别向主节点与共享节点发送内存使用消息,其中,所述主节点包括多个所述节点中编号为第一的所述节点,所述共享节点包括:回复所述内存闲置答复消息的所述第二节点。
另一方面,提供了一种内存管理装置,所述内存管理装置包括:
获取模块,用于获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
请求模块,用于通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
更新模块,用于将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
在其中一个实施例中,所述装置包括数据处理端,所述数据处理端用于获取、传输所述服务器的节点的内存容量信息。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
上述一种内存管理方法、装置、计算机设备和存储介质,通过获取服务器的节点的内存容量信息并将其传输至服务器,更新服务器的节点的内存容量信息,对于内存容量不足的节点,分别向同一服务器内的其他节点和/或其他服务器内的节点发送内存请求消息,并根据内存答复消息对多个节点的内存容量进行分配,最后对服务器的节点的内存容量信息进行更新,以此解决内存管理过程中延时大、兼容性差等问题。
附图说明
图1为一个实施例中一种内存管理方法的应用环境图;
图2为一个实施例中一种内存管理方法的流程示意图;
图3为一个实施例中更新服务器的节点的内存容量信息的流程示意图;
图4为一个实施例中获取第二节点的内存答复消息的流程示意图;
图5为一个实施例中获取第二节点的内存答复消息的流程示意图;
图6为另一个实施例中对服务器的节点的内存容量信息进行更新的流程示意图;
图7为一个实施例中对服务器的节点的内存容量进行分配之前的流程示意图;
图8为一个实施例中内存管理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种内存管理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。例如,本申请提供的一种内存管理方法可应用于对多个服务器以及多个节点的内存共享及管理,基于FPGA(Field ProgrammableGate Array,现场可编程逻辑门阵列),改善现有内存管理技术中对单个服务器节点内多CPU(Central Processing Unit,中央处理单元)内存进行管理时,存在内存资源无法跨节点共享,出现服务器CPU资源利用不平衡、内存资源利用低等问题,还可改善现有内存管理技术中对多个服务器以及多个节点间进行内存共享时存在总线设计复杂、兼容性差、时延性大等问题,进一步地,服务器包括机架式服务器,服务器的节点中包括数据处理端,数据处理端包括FPGA与SoC(System on Chip,片上系统),通过数据处理端获取服务器内多个节点的内存容量信息,并将其传输至对应的服务器,更新服务器的节点的内存容量信息;然后将因自身内存容量不足而需要从其他节点进行共享内存容量的节点作为第一节点,将第一节点对应的服务器的其他节点或者其他服务器的节点作为第二节点,通过第一节点的数据处理端发起内存请求消息至第二节点,获取第二节点的内存答复消息;最后根据内存答复消息与预设的更新条件进行对比,获取对比结果,根据对比结果对各节点的内存容量进行分配,并对服务器的节点的内存容量信息进行更新。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备或者子服务器,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或者云计算平台来实现。
在一个实施例中,如图2所示,提供了一种内存管理方法,包括以下步骤:
S1:获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
S2:通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
S3:将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
通过上述步骤,可改善对跨节点、跨服务器进行内存管理时存在性能差的问题。
对服务器的节点进行内存容量共享分配之前,需要对各节点的内存容量使用状态进行统一管理,获取每一个服务器内所有节点的内存容量信息,在步骤S1中,示例性地说明,获取多个节点的内存容量信息,将内存容量信息传输至对应的服务器,更新服务器的节点的内存容量信息,例如,服务器内的各节点通过数据处理端获取各自对应节点的内存容量信息,同一服务器内的各节点相互之间共享各自节点的内存容量信息,然后通过交换机将各节点的内存容量信息传输至服务器的RMMP(Remote Memory Management Platform,远程内存管理平台),更新各服务器各节点的内存容量信息,以使RMMP周期性获取各节点的内存容量信息并进行统一管理,便于后续对内存资源进行分配,代替主机端对内存进行管理和虚拟化的任务,减少对主机端CPU及内存资源的占用,同时节点之间通过数据处理端的连接端口进行通信,可提升不同设备的兼容性。
当一个节点因自身内存容量不足,需要从其他节点获取内存容量进行共享时,需要发起内存请求指令,并获取其他节点的内存容量是否可以进行共享的答复信息,在步骤S2中,示例性地说明,选取一个节点作为第一节点,通过第一节点的数据处理端发起内存请求消息至当前服务器或其他服务器的节点,并获取内存答复消息,例如,当一个服务器内的某一个节点因自身内存容量不足,需要借助其他节点的内存容量时,将该节点作为第一节点,将除了第一节点之外的节点作为第二节点,第一节点可与同一服务器内相邻的第二节点通过MAC(Medium Access Control,介质访问控制)直接通信,将内存请求消息发送至第二节点,并获取第二节点的内存答复消息,在一些实施过程中,还可通过交换机将内存请求消息发送至其他服务器内的第二节点,获取其他服务器内的第二节点的内存答复消息,以便后续根据内存答复消息对第一节点的内存进行更新,并且第一节点到第二节点的转发级数可以通过寄存器进行配置,解决因跨级过多存在内存请求消息转发延时大的问题。
获取第二节点的内存答复消息后,需要判断第二节点的内存容量是否可用于进行共享,并对多个节点的内存容量进行分配,对多个节点的内存容量信息进行相应更新,在步骤S3中,示例性地说明,根据内存答复消息,对多个节点的内存容量进行分配,并更新多个节点的内存容量信息,例如,第一点获取同一服务器内第二节点的内存答复消息,将内存答复消息与预设的更新条件进行对比,若同一服务器内其他某一个节点的内存容量可以进行共享,则将该节点作为共享节点,将共享节点的内存容量分配至第一节点,供第一节点进行使用,并更新第一节点和共享节点的内存容量信息,在一些实施过程中,若同一服务器内其他所有节点的内存容量都处于饱和状态无法进行共享,则还可将数据请求消息通过交换机发送至其他服务器的第二节点,获取其他服务器的第二节点的内存答复消息,若在其他服务器中寻找到共享节点,则将共享节点的内存容量分配至第一节点,供第一节点进行使用,并更新第一节点和共享节点的内存容量信息,以此实现多服务器多节点的内存管理与共享。
在对多服务器多节点的内存容量状态进行统一管理之前,需要获取各节点的内存容量信息并进行同步和传输,如图3所示,获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息的步骤包括:
S11:获取所述服务器的多个节点的内存容量信息;
S12:对所述服务器的节点的位置进行编号,根据所述编号选取一个所述节点作为主节点,通过所述主节点将多个所述节点的内存容量信息周期性地传输至对应的所述服务器,更新至少一个所述服务器的节点的内存容量信息。
如图3所示,在步骤S11中,示例性地说明,获取所述服务器的多个节点的内存容量信息,例如,在服务器内每个节点中建立数据处理端,数据处理端包括SoC与FPGA,SoC中还包括LMMU(Local Memory Management Unit本地内存管理单元),通过LMMU获取服务器内多个节点的内存容量信息,便于后续对服务器的节点的内存容量信息进行更新。
如图3所示,在步骤S12中,示例性地说明,从每一个服务器内的多个节点中选取主节点,并通过主节点将同一服务器内多个节点的内存容量信息周期性地传输至对应的服务器,例如,对于同一服务器内的多个节点,根据多个节点的位置信息进行编号,在一些实施过程中,可选取编号为第一的节点作为主节点,通过主节点的数据处理端中的FPGA的网络光口,使用MAC与同一服务器内多个节点进行直接通信,获取其他节点的内存容量使用信息发送,并通过交换机将该内存容量信息周期性地发送至对应的服务器的RMMP,以此更新对应服务器的节点的内存容量信息,对于存在多个服务器的情况,则依次对每一个服务器进行上述操作,在一些实施过程中,FPGA、SoC与主机端之间可采用PCIe Gen5(PeripheralComponent Interconnect Express Generation 5,第5代高速串行计算机扩展总线标准)标准以支持CXL2.0(Compute Express Link,计算快速连接)协议和兼容低于PCIe Gen5的接口协议,通过SoC与FPGA代替主机端进行内存管理,以此减少主机端CPU内核以及内存的资源消耗,同时实现对多服务器多节点的内存资源进行管理和对节点间的内存数据进行传输。
当一个节点因自身内存容量不足,需要共享其他节点的内存容量时,需要将该节点对内存容量的需求发送至其他节点,如图4所示,通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息的步骤包括:
S21:判断所述节点是否存在内存容量不足的情况,若是,则将所述节点作为所述第一节点;
S22:通过所述第一节点将所述内存请求消息发送至第一服务器的所述第二节点,其中,所述第一服务器包括:所述第一节点对应的服务器,所述内存请求消息包括:请求内存的容量;
S23:判断所述第一服务器的第二节点的内存容量是否与所述请求内存的容量匹配,若是,则获取所述第一服务器的第二节点回复的所述内存闲置消息;
S24:若否,则获取所述第一服务器的第二节点回复的所述内存饱和消息。
通过上述步骤,可将因自身内存容量不足的节点的内存请求消息直接传输至同一服务器内的其他节点,获取其他节点的内存回复消息,降低内存管理的延时性。
如图4所示,在步骤S21中,示例性地说明,根据节点是否存在内存容量不足的情况,选取第一节点,例如,对于同一个服务器内的多个节点,当其中节点因自身内存容量不足从而需要共享其他节点的内存容量时,将该节点作为第一节点,在一些实施过程中,同一个服务器内的多个节点中只有一个节点需要共享其他节点的内存容量,则将该一个节点作为第一节点,在另一些实施过程中,同一个服务器内的多个节点中存在N个节点需要共享其他节点的内存容量,则将该N个节点作为第一节点,还可将该N个节点根据各自需要的内存容量或者各自任务的重要程度进行排序,其中,N为正整数并且小于该服务器内所有节点的数量,通过该方式,可将服务器内需要共享其他节点的内存容量的节点进行区分,便于后续对各节点的内存容量进行管理和分配。
如图4所示,在步骤S22中,示例性地说明,通过第一节点将内存请求消息发送至第一服务器的第二节点,例如,第一服务器为第一节点对应的服务器,第一服务器包括第一节点、第二节点,将第一节点需求的内存容量存储于内存请求消息,通过第一节点的数据处理端中FPGA板的网络光口,与第二节点的MAC口进行直接通信,将内存请求消息发送至第一服务器的第二节点,在一些实施过程中,第一节点还可通过交换机将内存请求消息发送至第二节点,在另一些实施过程中,对于存在多个第一节点的情况,则可根据每个第一节点所需求的内存容量进行排序并编号,获取容量编号,并将容量编号与需求的内存容量存储于内存请求消息,然后将内存请求消息发送至第一服务器的第二节点,在另一些实施过程中,还可以根据各节点的任务重要程度进行编号,获取权重编号,并将权重编号与需求的内存容量存储于内存请求消息,然后将内存请求消息发送至第一服务器第二节点,以便第二节点接收内存请求消息后判断是否可将内存容量进行共享。
如图4所示,在步骤S23中,示例性地说明,判断第一服务器的第二节点的内存容量是否与请求内存的容量匹配,例如,第一服务器中的第二节点接收第一节点发送的内存请求后,获取第一节点需要的内存容量,并与自身当前可用的内存容量进行比较,若当前可用的内存容量大于第一节点需要的内存容量,则将内存可用的信息存储于内存闲置消息,比如将内存闲置消息中的一个字节或者一个位的数据写为1,表示当前第二节点的内存容量可用于共享至第一节点,并将内存闲置消息传输至第一节点,在一些实施过程中,第二节点还可将自身当前的内存容量数值存储于内存闲置消息,并将内存闲置消息传输至第一节点,在另一些实施过程中,对于存在多个第一节点的内存请求消息的情况,则第二节点可根据多个第一节点的内存请求消息中的编号进行区分,不同的第二节点处理不同编号的内存请求消息。
如图4所示,在步骤S24中,示例性地说明,获取第一服务器的第二节点回复的内存饱和消息,例如,第一服务器中的第二节点接收第一节点发送的内存请求后,获取第一节点需要的内存容量,并与自身当前可用的内存容量进行比较,若当前可用的内存容量小于第一节点需要的内存容量,则将内存不可用的信息存储于内存饱和消息,比如将内存饱和消息中的一个字节或者一个位的数据写为0,表示当前第二节点的内存容量不可用于共享至第一节点,并将内存饱和消息传输至第一节点,在一些实施过程中,第二节点还可将自身当前的内存容量数值存储于内存饱和消息,并将内存饱和消息传输至第一节点,在另一些实施过程中,对于存在多个第一节点的内存请求消息的情况,则第二节点可根据多个第一节点的内存请求消息中的编号进行区分,不同的第二节点处理不同编号的内存请求消息。
当因业务需要,第一节点需要使用其他服务器的节点的内存容量,或者当第一服务器中的所有第二节点均处于内存饱和状态,从而不可将内存容量共享至第一节点的时候,第一节点将跨服务器获取其他节点的内存容量,如图5所示,通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息的步骤还包括:
S31:判断所述节点是否存在内存容量不足的情况,若是,则将所述节点作为所述第一节点;
S32:通过所述第一节点将所述内存请求消息发送至第二服务器的所述第二节点,其中,所述服务器包括:所述第二服务器,所述内存请求消息包括:请求内存的容量;
S33:判断所述第二服务器的第二节点的内存容量是否与所述请求内存的容量匹配,若是,则获取所述第二服务器的第二节点回复的所述内存闲置消息;
S34:若否,则获取所述第二服务器的第二节点回复的所述内存饱和消息。
通过上述步骤,可将因自身内存容量不足的节点的内存请求消息传输至其他服务器内的其他节点,获取其他节点的内存回复消息,内存请求消息的传输层级可进行控制,从而降低内存管理的延时性。
如图5所示,在步骤S31中,示例性地说明,根据节点是否存在内存容量不足的情况,选取第一节点,例如,对于某一个服务器内的多个节点,当其中节点因自身内存容量不足从而需要共享其他节点的内存容量时,将该节点作为第一节点,在一些实施过程中,某一个服务器内的多个节点中只有一个节点需要共享其他节点的内存容量,则将该一个节点作为第一节点,在另一些实施过程中,某一个服务器内的多个节点中存在N个节点需要共享其他节点的内存容量,则将该N个节点作为第一节点,还可将该N个节点根据各自需要的内存容量或者各自任务的重要程度进行排序,其中,N为正整数并且小于该节点对应服务器内所有节点的数量,通过该方式,可将服务器内需要共享其他节点的内存容量的节点进行区分,便于后续对各节点的内存容量进行管理和分配。
如图5所示,在步骤S32中,示例性地说明,通过第一节点将内存请求消息发送至第二服务器的第二节点,例如,服务器包括第一服务器与第二服务器,即第一服务器为第一节点对应的服务器,而第二服务器则为除了第一服务器之外的其他服务器;当第一节点对应的第一服务器中所有的第二节点的内存容量都无法进行内存共享时,或者当因业务需要,需要使用其他服务器的节点的内存容量进行数据存储时,可将第一节点需求的内存容量存储于内存请求消息,通过第一节点的数据处理端中的FPGA板,通过交换机将内存请求消息发送至第二服务器的第二节点,在一些实施过程中,对于存在多个第一节点的情况,则可根据每个第一节点所需求的内存容量进行排序并编号,获取容量编号,并将容量编号与需求的内存容量存储于内存请求消息,然后将内存请求消息发送至第二服务器的第二节点,在另一些实施过程中,还可以根据各节点的任务重要程度进行编号,获取权重编号,并将权重编号与需求的内存容量存储于内存请求消息,然后将内存请求消息发送至第二服务器第二节点,以便第二节点接收内存请求消息后判断是否可将内存容量进行共享。
如图5所示,在步骤S33中,示例性地说明,判断第二服务器的第二节点的内存容量是否与请求内存的容量匹配,例如,第二服务器中的第二节点接收第一节点发送的内存请求后,获取第一节点需要的内存容量,并与自身当前可用的内存容量进行比较,若当前可用的内存容量大于第一节点需要的内存容量,则将内存可用的信息存储于内存闲置消息,比如将内存闲置消息中的一个字节或者一个位的数据写为1,表示当前第二节点的内存容量可用于共享至第一节点,并将内存闲置消息传输至第一节点,在一些实施过程中,第二节点还可将自身当前的内存容量数值存储于内存闲置消息,并将内存闲置消息传输至第一节点,在另一些实施过程中,对于存在多个第一节点的内存请求消息的情况,则第二节点可根据多个第一节点的内存请求消息中的编号进行区分,不同的第二节点处理不同编号的内存请求消息。
如图5所示,在步骤S34中,示例性地说明,获取第二服务器的第二节点回复的内存饱和消息,例如,第二服务器中的第二节点接收第一节点发送的内存请求后,获取第一节点需要的内存容量,并与自身当前可用的内存容量进行比较,若当前可用的内存容量小于第一节点需要的内存容量,则将内存不可用的信息存储于内存饱和消息,比如将内存饱和消息中的一个字节或者一个位的数据写为0,表示当前第二节点的内存容量不可用于共享至第一节点,并将内存饱和消息传输至第一节点,在一些实施过程中,第二节点还可将自身当前的内存容量数值存储于内存饱和消息,并将内存饱和消息传输至第一节点,在另一些实施过程中,对于存在多个第一节点的内存请求消息的情况,则第二节点可根据多个第一节点的内存请求消息中的编号进行区分,不同的第二节点处理不同编号的内存请求消息。
当第一节点获取第二节点的内存答复消息后,需要判断第二节点是否可用于内存容量共享,如图6所示,将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新的步骤还包括:
S41:若所述内存答复消息为所述内存饱和消息,则获取第一对比结果,继续获取所述内存答复消息,直到满足停止条件,所述停止条件至少包括以下之一:所述第一节点停止发送所述内存请求消息、持续获取所述内存答复消息所消耗的时间长度大于预设的时间阈值、获取到内存闲置消息;
S42:若所述内存答复消息为所述内存闲置消息,则获取第二对比结果,将所述第二节点的内存容量分配至所述第一节点;
S43:对所述服务器内多个所述节点的内存容量信息进行更新。
通过上述步骤,可根据内存答复消息,将可用于内存容量共享的第二节点的内存容量分配至第一节点,同时根据第二节点所属的服务器类型,设置不同的通信层级,以此降低内存管理的延时性。
如图6所示,在步骤S41中,示例性地说明,若内存答复消息为内存饱和消息,则获取第一对比结果,继续获取内存答复消息,直到满足停止条件,例如,当第一节点获取的内存答复消息为内存饱和消息的时候,认为所有第二节点都处于内存饱和状态,即所有第二节点的内存容量都不可用于内存容量共享,并将该状态作为第一对比结果,其中,第二节点包括第一服务器中的第二节点与第二服务器中的第二节点,此时则继续获取内存答复消息,直到第一节点不再需要额外的共享内存容量,即第一节点不再发送内存求情消息时,停止获取内存答复消息,在一些实施过程中,当持续获取内存答复消息的等待时间大于设定的时间阈值时,也可停止获取内存答复消息,在另一些实施过程中,当第一节点在持续获取内存答复消息的期间获取了内存闲置消息,则停止持续获取内存答复消息,在一些实施过程中,存在多个第一节点的内存请求消息,则可同时或者依次获取多个内存答复消息,并根据第一节点的编号进行区分,以便后续根据内存闲置消息对多个节点的内存容量进行分配。
如图6所示,在步骤S42中,示例性地说明,当内存答复消息为内存闲置消息时,获取第二对比结果,并将第二节点的内存容量分配至第一节点,例如,当第一节点接收的内存答复消息为内存闲置消息时,表示第二节点中存在自身内存容量可用于内存共享的节点,并将该状态作为第二对比结果,此时可将该第二节点的内存容量分配至第一节点,即将第一节点需要存储的数据存储于该第二节点,在一些实施过程中,存在多个第一节点的内存请求消息,则可同时或者依次获取多个内存答复消息,对于每一个内存答复消息,当其为内存闲置消息时,按照上述操作依次对多个第一节点的内存容量和多个第二节点的内存容量进行分配。
如图6所示,在步骤S43中,示例性地说明,更新服务器内多个所述节点的内存容量信息,例如,当用于进行内存容量共享的第二节点属于第一服务器时,即该第二节点与第一节点处于同一个服务器,则直接通过第一节点的数据处理端将业务数据存储于该第二节点,当用于进行内存容量共享的第二节点属于第二服务器时,即该第二节点与第一节点处于不同的服务器,则通过第一节点的数据处理端,使用交换机将第一节点的业务数据存储于其他服务器的其他节点,在一些实施过程中,当存在多个第一节点时,则根据第一节点的编号依次将业务数据存储于相应的第二节点的内存中,同时各节点通过自身的数据处理端中的LMMU获取各节点当前的内存容量信息,并将该内存容量信息通过数据处理端传输至相邻节点,最后统一发送至RMMP,以此对多个服务器内多个节点的内存容量信息进行更新,便于对内存使用状态进行统一管理,并且不同服务器不同节点具有不同通信方式,可有效降低内存管理的延时性。
在获取内存闲置消息后以及对内存容量进行分配之前,第一节点还应向主节点与共享节点发送内存使用消息,如图7所示,对所述服务器的节点的内存容量进行分配之前的步骤包括:
S51:所述第一节点分别向主节点与共享节点发送内存使用消息,其中,所述主节点包括多个所述节点中编号为第一的所述节点,所述共享节点包括:回复所述内存闲置答复消息的所述第二节点。
通过上述步骤,第一节点获取内存闲置消息后,可将内存使用消息发送至主节点与共享节点,以使主节点与共享节点获取第一节点当前需要使用的内存共享的节点的信息,以便后续将共享节点的内存容量进行分配。
如图7所示,在步骤S51中,示例性地说明,第一节点分别向主节点与共享节点发送内存使用消息,例如,将发送内存闲置消息对应的第二节点作为共享节点,将第一节点对应的服务器内的所有节点按位置信息进行编号,可将编号为第一的节点作为主节点,从内存闲置消息中获取共享节点的位置信息,包括共享节点所述的服务器编号以及节点的位置编号,第一节点可将内存使用消息中的某一个字节或者某一位的数据写为1,并将共享节点的位置信息写入内存使用消息,将内存使用消息发送至主节点与共享节点,在一些实施过程中,对于存在多个第一节点的内存请求消息的情况,可根据第一节点的位置编号同时或者依次获取多个内存闲置消息,即获取多个共享节点的位置信息,并通过多个第一节点将内存使用消息发送各自对应的主节点与共享节点,便于后续对多个第一节点与共享节点的内存容量进行分配。
在一个实施例中,如图8所示,提供了一种内存管理装置,所述内存管理装置包括:
获取模块,用于获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
请求模块,用于通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
更新模块,用于将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
在获取模块中,对服务器的节点进行内存容量共享分配之前,需要对各节点的内存容量使用状态进行统一管理,周期性获取每一个服务器内所有节点的内存容量信息,示例性地说明,获取多个节点的内存容量信息,将内存容量信息传输至对应的服务器,更新服务器的节点的内存容量信息,例如,服务器内的各节点通过数据处理端中SoC的LMMU获取各自对应节点的内存容量信息,同一服务器内的各节点相互之间通过数据处理端中的FPGA板的MAC口共享各自节点的内存容量信息,即每一个节点的数据处理端的FPGA板中可存在三个MAC口,比如MAC1、MAC2、MAC3,其中,节点可使用MAC1通过交换机获取其他节点的内存容量信息,节点也可通过MAC2连接相邻节点的MAC3口获取相邻节点的内存容量信息,其中MAC的带宽可设置为50G或者100G,然后将各节点的内存容量信息传输至服务器的RMMP,更新各服务器各节点的内存容量信息,以使RMMP周期性获取各节点的内存容量信息并进行统一管理,FPGA、SoC与主机端之间可采用PCIe Gen5标准以支持CXL2.0协议和兼容低于PCIe Gen5的接口协议,通过SoC与FPGA代替主机端进行内存管理,以此减少主机端CPU内核以及内存的资源消耗,同时实现对多服务器多节点的内存资源进行管理和对节点间的内存数据进行传输,并且增强内存管理的兼容性。
在请求模块中,当一个节点因自身内存容量不足,需要从其他节点获取内存容量进行共享时,需要发起内存请求指令,并获取其他节点的内存容量是否可以进行共享的答复信息,示例性地说明,选取一个节点作为第一节点,通过第一节点的数据处理端发起内存请求消息至当前服务器或其他服务器的节点,并获取内存答复消息,例如,当一个服务器内的某一个节点因自身内存容量不足,需要借助其他节点的内存容量时,将该节点作为第一节点,将除了第一节点之外的节点作为第二节点,第一节点可与同一服务器内相邻的第二节点通过MAC2与MAC3直接通信,将内存请求消息发送至第二节点,并获取第二节点的内存答复消息,在一些实施过程中,还可使用MAC1通过交换机将内存请求消息发送至其他服务器内的第二节点,获取其他服务器内的第二节点的内存答复消息,以便后续根据内存答复消息对第一节点的内存进行更新,并且第一节点到第二节点的转发级数可以通过寄存器进行配置,解决因跨级过多存在内存请求消息转发延时大的问题,在另一些实施过程中,对于存在多个第一节点的内存请求消息的情况,则可根据每个第一节点所需求的内存容量进行排序并编号,获取容量编号,并将容量编号与需求的内存容量存储于内存请求消息,然后将内存请求消息发送至第一服务器的第二节点,在另一些实施过程中,还可以根据各节点的任务重要程度进行编号,获取权重编号,并将权重编号与需求的内存容量存储于内存请求消息,还可同时将容量编号与权重编号同时存储于内存请求消息,便于针对不同业务需求,根据多个第一节点不同的容量需求和任务重要程度对容量分配的顺序进行配置。
在更新模块中,获取第二节点的内存答复消息后,需要判断第二节点的内存容量是否可用于进行共享,并对多个节点的内存容量进行分配,对多个节点的内存容量信息进行相应更新,示例性地说明,根据内存答复消息,对多个节点的内存容量进行分配,并更新多个节点的内存容量信息,例如,第一点获取同一服务器内第二节点的内存答复消息,将内存答复消息与预设的更新条件进行对比,若同一服务器内其他某一个节点的内存容量可以进行共享,则将该节点作为共享节点,同时,第一节点将内存使用消息发送至主节点与共享节点,其中,内存使用消息可包括至少以下之一:第一节点的位置编号、共享节点的位置编号、需使用的内存容量数值,然后将共享节点的内存容量分配至第一节点,供第一节点进行使用,并更新第一节点和共享节点的内存容量信息,在一些实施过程中,若同一服务器内其他所有节点的内存容量都处于饱和状态无法进行共享,则还可将数据请求消息通过交换机发送至其他服务器的第二节点,获取其他服务器的第二节点的内存答复消息,若在其他服务器中寻找到共享节点,则将共享节点的内存容量分配至第一节点,供第一节点进行使用,并更新第一节点和共享节点的内存容量信息,以此实现多服务器多节点的内存管理与共享。
在一些实施过程中,内存管理装置包括数据处理端,即每个服务器的每个节点中都可设置数据处理端,数据处理端包括SoC与FPGA板,FPGA板、SoC与主机端之间可采用PCIeGen5标准以支持CXL2.0协议和兼容低于PCIe Gen5的接口协议,通过SoC与FPGA代替主机端进行内存管理及虚拟化任务,减少主机端CPU内核以及内存的资源消耗,对节点内的内存资源进行管理和对节点间的内存数据进行传输,提升内存管理中不同设备的兼容性,不同服务器之间的包转发可采用基于TCP(Transmission Control Protocol,传输控制协议)或者RDMA(Remote Direct Memory Access,远程直接数据存取)协议通过100G交换机发出,以此降低内存管理中的延时性。
关于内存管理装置的具体限定可以参见上文中对于数据驱动方法的限定,在此不再赘述。上述内存管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储内存管理的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种内存管理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种内存管理方法,其特征在于,包括:
获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
2.根据权利要求1所述的一种内存管理方法,其特征在于,获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息的步骤包括:
获取所述服务器的多个节点的内存容量信息;
对所述服务器的节点的位置进行编号,根据所述编号选取一个所述节点作为主节点,通过所述主节点将多个所述节点的内存容量信息周期性地传输至对应的所述服务器,更新至少一个所述服务器的节点的内存容量信息。
3.根据权利要求1所述的一种内存管理方法,其特征在于,通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息的步骤包括:
判断所述节点是否存在内存容量不足的情况,若是,则将所述节点作为所述第一节点;
通过所述第一节点将所述内存请求消息发送至第一服务器的所述第二节点,其中,所述第一服务器包括:所述第一节点对应的服务器,所述内存请求消息包括:请求内存的容量;
判断所述第一服务器的节点的内存容量是否与所述请求内存的容量匹配,若是,则获取所述第一服务器的节点回复的所述内存闲置消息;
若否,则获取所述第一服务器的节点回复的所述内存饱和消息。
4.根据权利要求1或3所述的一种内存管理方法,其特征在于,通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息的步骤还包括:
判断所述节点是否存在内存容量不足的情况,若是,则将所述节点作为所述第一节点;
通过所述第一节点将内存请求消息发送至第二服务器的所述第二节点,其中,所述服务器包括:所述第二服务器,所述内存请求消息包括:请求内存的容量;
判断所述第二服务器的节点的内存容量是否与所述请求内存的容量匹配,若是,则获取所述第二服务器的节点回复的所述内存闲置消息;
若否,则获取所述第二服务器的节点回复的所述内存饱和消息。
5.根据权利要求1所述的一种内存管理方法,其特征在于,将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新的步骤包括:
若所述内存答复消息为所述内存饱和消息,则获取第一对比结果,继续获取所述内存答复消息,直到满足停止条件,所述停止条件至少包括以下之一:所述第一节点停止发送所述内存请求消息、持续获取所述内存答复消息所消耗的时间长度大于预设的时间阈值、获取到内存闲置消息;
若所述内存答复消息为所述内存闲置消息,则获取第二对比结果,将所述第二节点的内存容量分配至所述第一节点;
对所述服务器内多个所述节点的内存容量信息进行更新。
6.根据权利要求5所述的一种内存管理方法,其特征在于,对所述服务器的节点的内存容量进行分配之前的步骤包括:
所述第一节点分别向主节点与共享节点发送内存使用消息,其中,所述主节点包括多个所述节点中编号为第一的所述节点,所述共享节点包括:回复所述内存闲置答复消息的所述第二节点。
7.一种内存管理装置,其特征在于,包括:
获取模块,用于获取服务器的节点的内存容量信息,将所述内存容量信息传输至所述节点对应的服务器,更新所述服务器的节点的内存容量信息;
请求模块,用于通过第一节点发起内存请求消息,将所述内存请求消息发送至所述服务器内的第二节点,获取所述第二节点的内存答复消息,其中,所述内存答复消息包括:内存闲置消息、内存饱和消息,所述服务器的节点包括:所述第一节点、所述第二节点;
更新模块,用于将所述内存答复消息与预设的更新条件进行对比,获取对比结果,根据所述对比结果对所述服务器的节点的内存容量进行分配,并对所述服务器的节点的内存容量信息进行更新。
8.根据权利要求7所述的一种内存管理装置,其特征在于,所述装置包括数据处理端,所述数据处理端用于获取、传输所述服务器的节点的内存容量信息。
9.计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述一种用于内存管理方法的步骤。
10.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述一种用于内存管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601519.1A CN114253733B (zh) | 2021-12-24 | 2021-12-24 | 一种内存管理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601519.1A CN114253733B (zh) | 2021-12-24 | 2021-12-24 | 一种内存管理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114253733A true CN114253733A (zh) | 2022-03-29 |
CN114253733B CN114253733B (zh) | 2024-01-12 |
Family
ID=80795033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111601519.1A Active CN114253733B (zh) | 2021-12-24 | 2021-12-24 | 一种内存管理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253733B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106959893A (zh) * | 2017-03-31 | 2017-07-18 | 联想(北京)有限公司 | 加速器、用于加速器的内存管理方法以及数据处理系统 |
US20170353418A1 (en) * | 2016-06-02 | 2017-12-07 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for managing shared memory in robot operating system |
CN108920272A (zh) * | 2018-06-08 | 2018-11-30 | 中国平安人寿保险股份有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN109325026A (zh) * | 2018-08-14 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 基于大数据平台的数据处理方法、装置、设备及介质 |
CN111273860A (zh) * | 2020-01-15 | 2020-06-12 | 华东师范大学 | 一种基于网络和页粒度管理的分布式内存管理方法 |
CN113485822A (zh) * | 2020-06-19 | 2021-10-08 | 中兴通讯股份有限公司 | 内存管理方法、系统、客户端、服务器及存储介质 |
-
2021
- 2021-12-24 CN CN202111601519.1A patent/CN114253733B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170353418A1 (en) * | 2016-06-02 | 2017-12-07 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for managing shared memory in robot operating system |
CN106959893A (zh) * | 2017-03-31 | 2017-07-18 | 联想(北京)有限公司 | 加速器、用于加速器的内存管理方法以及数据处理系统 |
CN108920272A (zh) * | 2018-06-08 | 2018-11-30 | 中国平安人寿保险股份有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN109325026A (zh) * | 2018-08-14 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 基于大数据平台的数据处理方法、装置、设备及介质 |
CN111273860A (zh) * | 2020-01-15 | 2020-06-12 | 华东师范大学 | 一种基于网络和页粒度管理的分布式内存管理方法 |
CN113485822A (zh) * | 2020-06-19 | 2021-10-08 | 中兴通讯股份有限公司 | 内存管理方法、系统、客户端、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114253733B (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11929927B2 (en) | Network interface for data transport in heterogeneous computing environments | |
CN107690622B (zh) | 实现硬件加速处理的方法、设备和系统 | |
US20220210073A1 (en) | Technologies for network device load balancers for accelerated functions as a service | |
WO2020019743A1 (zh) | 流量控制方法及装置 | |
CN109542814A (zh) | 通过pci-express的p2p连接在存储设备之间传输数据的方法和系统 | |
US20210373928A1 (en) | Method, system and apparatus for sharing of fpga board by multiple virtual machines | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
US11726938B2 (en) | Communications for field programmable gate array device | |
CN115964319A (zh) | 远程直接内存访问的数据处理方法及相关产品 | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
CN113886058A (zh) | 一种跨集群资源调度方法和装置 | |
CN117312229B (zh) | 一种数据传输装置、数据处理设备、系统、方法及介质 | |
WO2023125565A1 (zh) | 网络节点的配置和访问请求的处理方法、装置 | |
CN114253733B (zh) | 一种内存管理方法、装置、计算机设备和存储介质 | |
US20230205418A1 (en) | Data processing system and operating method thereof | |
CN115934624A (zh) | 多主机远程直接内存访问网络管理的方法、设备及介质 | |
CN114924888A (zh) | 资源配置方法、数据处理方法、装置、设备和存储介质 | |
CN114217956A (zh) | 容器集群的部署方法、装置及计算机设备 | |
US11451435B2 (en) | Technologies for providing multi-tenant support using one or more edge channels | |
CN105874757A (zh) | 一种数据处理方法及多核处理器系统 | |
CN111092817A (zh) | 一种数据传输方法及装置 | |
US20240143498A1 (en) | Methods, devices, and systems for allocating memory space | |
CN110138578B (zh) | 路由器的线卡设备的fic id的配置方法和装置 | |
CN117880281A (zh) | 一种数据传输的方法和计算设备 | |
CN117938849A (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 |