Cloud memory pool priority flow control method and system based on RDMA

By adopting the RDMA-based priority flow control method in cloud memory pool technology, the memory allocation and priority allocation bandwidth are dynamically regulated, and the difficulty of traffic control and the shortcomings of network congestion control in the existing technology are solved, and efficient memory utilization and rapid processing of important transactions are achieved.

CN119583579APending Publication Date: 2025-03-07SHANDONG COMP SCI CENTNAT SUPERCOMP CENT IN JINAN
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411716592.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

The existing cloud memory pooling technology has problems such as difficulty in setting thresholds, lack of flexibility and poor overall performance in traffic control, especially in priority classification and network congestion control, which have problems with low priority task hunger and management complexity.

Method used

The cloud memory pool priority flow control method based on RDMA is adopted to realize network congestion control through priority scheduling, dynamically regulate the cloud memory pool to allocate memory space for each local node, and allocate network bandwidth according to the node priority table to ensure high-speed and stable data transmission of high-priority nodes.

Benefits of technology

While ensuring network throughput, it provides high-speed and stable data transmission and remote memory access for high-priority nodes, improves memory utilization and ensures the processing speed of important transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119583579A_ABST
    Figure CN119583579A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of RDMA and cloud memory pooling, and provides a cloud memory pool priority flow control method and system based on RDMA, a cloud server is used as a cloud cloud memory pool of a plurality of local nodes, the local nodes read and write memories in a cloud memory pool server through RDMA, the memory capacity of the local nodes is logically expanded, and the priority flow control of the cloud memory pool is realized. The memory demand and the memory utilization rate of each local node on the cloud memory pool are monitored through a dynamic regulation and control algorithm, the memory capacity allocated to each local node by the cloud memory pool is dynamically regulated and controlled, the memory utilization rate is improved, and meanwhile, by maintaining a table containing the priority of each local node, when network congestion occurs, the network congestion rate is improved through priority scheduling. Network congestion control is realized, high-speed and stable data transmission and remote memory access are provided for high-priority nodes while the network throughput is ensured, and the processing speed of important transactions is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of RDMA and cloud memory pooling, and in particular relates to a cloud memory pool priority flow control method and system based on RDMA. Background Art

[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.

[0003] Cloud memory pool is a technology that integrates the memory resources of multiple servers or computing nodes in a cloud computing environment to form a unified managed and allocated memory resource pool. It breaks the isolation of traditional server memory resources, can aggregate scattered memory on different physical servers, realize centralized management and sharing of memory resources, and improve the overall utilization of memory resources in the cloud computing environment.

[0004] At present, cloud memory pools are mainly implemented in two ways: software-defined and hardware-supported. The former mainly relies on TCP / IP communication, while the latter relies on specific hardware protocols (such as RDMA or CXL, etc.). Most of the two methods use flow control methods based on thresholds or priorities. The former mainly has problems such as difficulty in setting thresholds, lack of flexibility, and poor overall performance, while the latter mainly has problems such as difficulty in prioritization, starvation of low-priority tasks, and high management complexity. Summary of the invention

[0005] The present invention provides a cloud memory pool priority flow control method and system based on RDMA, which realizes network congestion control through priority scheduling, provides high-speed and stable data transmission and remote memory access for high-priority nodes while ensuring network throughput, and ensures the processing speed of important transactions.

[0006] In order to achieve the above object, the present invention adopts the following technical solution:

[0007] A first aspect of the present invention provides a cloud memory pool priority flow control method based on RDMA, which is applied to a server and includes the following steps:

[0008] Get the dynamic control cycle of the cloud memory pool defined by the local node;

[0009] Starting from the current cycle, analyze the memory requirements of each local node for the cloud memory pool in the previous cycle, and allocate memory space to each local node based on the memory requirements;

[0010] Send the address and operation permissions of the memory space to each local node;

[0011] Receive memory access requests from local nodes. When network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order of priority from high to low, until the remaining network bandwidth is allocated.

[0012] Furthermore, each local node access priority table includes multiple levels. The higher the priority level, the higher the allocated communication bandwidth. The upper limit of the allocation is the bandwidth and rate that meet the highest performance requirements of the corresponding node.

[0013] A second aspect of the present invention provides a cloud memory pool priority flow control method based on RDMA, which is applied to a local node and includes the following steps:

[0014] The receiving server allocates the address and operation permissions of the memory space according to the local node's memory demand for the cloud memory pool;

[0015] Map the address space of the cloud memory pool to a local virtual address;

[0016] Determine the remaining capacity of the local memory. If the remaining capacity is greater than the set threshold, the access request is transferred to the local memory for memory access. Otherwise, the memory access address is converted into the cloud memory pool address based on the virtual address.

[0017] Initiate a memory access request to the server based on the address and operation permissions of the cloud memory pool.

[0018] Furthermore, the address space of the cloud memory pool is mapped to a local virtual address through virtual memory management and connected to the local memory; the local node sends the memory access request to the virtual memory management, which forwards the memory access request and determines the remaining capacity of the local memory through the virtual memory management.

[0019] A third aspect of the present invention provides a cloud memory pool priority flow control method based on RDMA, comprising the following steps:

[0020] Define the dynamic control cycle of the cloud memory pool;

[0021] Starting from the current cycle, analyze the memory requirements of each local node for the cloud memory pool in the previous cycle, and allocate memory space to each local node based on the memory requirements;

[0022] Send the address and operation permissions of the memory space to each local node;

[0023] Map the address space of the cloud memory pool to a local virtual address;

[0024] Determine the remaining capacity of the local memory. If the remaining capacity is greater than the set threshold, the access request is transferred to the local memory for memory access. Otherwise, the memory access address is converted into the cloud memory pool address based on the virtual address.

[0025] Receive memory access requests from local nodes. When network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order of priority from high to low, until the remaining network bandwidth is allocated.

[0026] A fourth aspect of the present invention provides an RDMA-based cloud memory pool priority flow control system applied to a server, including:

[0027] The dynamic control module is configured to: obtain the dynamic control cycle of the cloud memory pool defined by the local node; start from the current cycle, analyze the memory demand of each local node for the cloud memory pool in the previous cycle, and allocate memory space to each local node according to the memory demand; send the address and operation permission of the memory space to each local node;

[0028] The priority flow control module is configured to: receive memory access requests from local nodes, and when network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order from high to low priority, until the remaining network bandwidth is allocated.

[0029] A fifth aspect of the present invention provides a cloud memory pool priority flow control system based on RDMA, which is applied to a local node and includes:

[0030] An allocation information receiving module, which is configured to receive the address and operation authority of the memory space allocated by the server according to the memory demand of the local node for the cloud memory pool;

[0031] An address mapping module configured to map the address space of the cloud memory pool to a local virtual address;

[0032] The access policy determination module is configured to determine the remaining capacity of the local memory. If the remaining capacity is greater than a set threshold, the access request is transferred to the local memory for memory access; otherwise, the memory access address is converted into a cloud memory pool address based on the virtual address; a memory access request is initiated to the server based on the address and operation authority of the cloud memory pool to access the cloud memory pool.

[0033] A sixth aspect of the present invention provides a cloud memory pool priority flow control system based on RDMA, comprising a server and a local node; the server comprises a dynamic control module, an address mapping module and a priority flow control module;

[0034] A dynamic control module is configured to define a dynamic control cycle of the cloud memory pool; starting from the current cycle, analyze the memory demand of each local node for the cloud memory pool in the previous cycle, allocate memory space to each local node according to the memory demand; and send the address and operation permission of the memory space to each local node;

[0035] An address mapping module configured to map the address space of the cloud memory pool to a local virtual address;

[0036] The local node is configured to determine the remaining capacity of the local memory. If the remaining capacity is greater than the set threshold, the access request is transferred to the local memory for memory access. Otherwise, the memory access address is converted into the cloud memory pool address based on the virtual address.

[0037] The priority flow control module is configured to: receive memory access requests from local nodes, and when network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order from high to low priority, until the remaining network bandwidth is allocated.

[0038] Furthermore, the server and the local node are connected via RNIC.

[0039] Furthermore, the local node is also configured to: map the address space of the cloud memory pool to a local virtual address through virtual memory management, and connect it with the local memory; the local node sends the memory access request to the virtual memory management, and the virtual memory management forwards the memory access request, and determines the remaining capacity of the local memory through the virtual memory management.

[0040] Compared with the prior art, the present invention has the following beneficial effects:

[0041] 1. The present invention realizes a cloud memory pool on the cloud side that can be dynamically regulated and has priority network congestion control based on RDMA, uses a cloud server as a cloud memory pool on the cloud side of multiple local nodes, and realizes the reading and writing of the memory in the cloud memory pool server by the local node through RDMA, thereby logically expanding the memory capacity of the local node; and monitors the memory demand and memory utilization of each local node on the cloud memory pool through a dynamic regulation algorithm, dynamically regulates the memory capacity allocated by the cloud memory pool to each local node, and improves the memory utilization.

[0042] 2. The present invention maintains a table containing the priority of each local node. When the network bandwidth and network rate are poor, network congestion control is achieved through priority scheduling. While ensuring network throughput, high-priority nodes are provided with high-speed and stable data transmission and remote memory access to ensure the processing speed of important transactions.

[0043] Advantages of additional aspects of the present invention will be given in part in the following description, and in part will become obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.

[0045] Figure 1 It is the overall architecture of the distributed database provided by the embodiment of the present invention;

[0046] Figure 2 It is a schematic diagram of the implementation and structure of the cloud memory pool provided by an embodiment of the present invention;

[0047] Figure 3 It is a schematic diagram of implementing priority flow control provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0048] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

[0049] It should be noted that the following detailed descriptions are all illustrative and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present invention belongs.

[0050] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.

[0051] Explanation of terms

[0052] RDMA (Remote Direct Memory Access) is a new direct memory access technology. RDMA allows computers to directly access the memory of other computers without the need for processor processing. RDMA quickly moves data from one system to the memory of a remote system without any impact on the operating system. During RDMA communication, in sending and receiving, and read / write operations, the RNIC (RDMA-aware Network Interface Controller) directly transmits data to the registered memory area involved in the data transmission. It is fast and does not require CPU participation. The RDMA network card takes over the work of the CPU, and the saved resources can be used for other calculations and services.

[0053] RDMA Network Interface Controller: RNIC provides hardware support for RDMA data transmission. Through RNIC, data in user applications can be directly transmitted to the cloud server memory without passing through the local node and the cloud server operating system. The saved resources can be used for other calculations and services.

[0054] In view of the problem that the memory capacity of the local server is difficult to meet the needs of high-performance user applications, the present invention proposes a cloud memory pool priority flow control method for cloud management based on RDMA, a cloud memory pool on the cloud side for dynamic regulation and priority network congestion control, and a cloud server as a cloud memory pool on the cloud side for multiple local nodes. The local nodes read and write the memory in the cloud memory pool server through RDMA, and the memory capacity of the local nodes is logically expanded. The memory demand and memory utilization of each local node for the cloud memory pool are monitored through a dynamic regulation algorithm, and the memory capacity allocated to each local node by the cloud memory pool is dynamically regulated to improve the memory utilization. At the same time, by maintaining a table containing the priorities of each local node, when the network bandwidth and network rate are not good, network congestion control is achieved through priority scheduling, and while ensuring the network throughput, high-speed and stable data transmission and remote memory access are provided for high-priority nodes to ensure the processing speed of important transactions.

[0055] This embodiment provides a cloud memory pool priority flow control method based on RDMA, and the overall architecture of the corresponding system is as follows: Figure 1 As shown, it includes a cloud memory pool server, an RNIC, and multiple local nodes;

[0056] As the cloud memory pool of all local nodes, the cloud memory pool server provides memory expansion for each local node through RNIC, logically expands the memory capacity of each local node, and improves the performance of local nodes. In addition, the cloud server monitors the memory demand and memory utilization of each local node for the cloud memory pool through a dynamic control algorithm, dynamically controls the memory capacity allocated by the cloud memory pool to each local node, and improves memory utilization. At the same time, by maintaining a table containing the priority of each local node, when the network bandwidth and network rate are poor, priority scheduling is used to provide stable memory access and data transmission for high-priority local nodes.

[0057] RNIC provides hardware support for RDMA data transmission. Through RNIC, data in user applications can be transmitted directly to the cloud server memory without passing through the operating system of the local node and the cloud server. The saved resources can be used for other calculations and services.

[0058] The local node completes user tasks and accesses, connects to the cloud server through RNIC and the network, and when executing local tasks, when the local memory capacity is insufficient, it uses RDMA read and RAMA write to read and write the cloud memory pool server memory to achieve memory expansion.

[0059] The specific steps include:

[0060] Step 1: Use RDMA to enable the local node to read and write memory in the cloud memory pool server, logically expanding the memory capacity of the local node;

[0061] Step 2: Monitor the memory demand and memory utilization of each local node for the cloud memory pool through a dynamic control algorithm, dynamically control the memory capacity allocated by the cloud memory pool to each local node, and improve memory utilization;

[0062] like Figure 2 As shown, cloud servers and RDMA are used to implement cloud memory pool expansion for multiple local nodes. The memory demand and memory utilization of each local node on the cloud memory pool are monitored through a dynamic control algorithm. The memory capacity allocated by the cloud memory pool to each local node is dynamically controlled to improve memory utilization. At the same time, by maintaining a table containing the priority of each local node, when the network bandwidth and network rate are not good, stable memory access and data transmission are provided for high-priority local nodes through priority scheduling.

[0063] Among them, the specific methods of cloud-managed RDMA cloud memory pool include:

[0064] Users can customize the dynamic control cycle of the cloud memory pool, monitor the memory demand and memory utilization of each local node for the cloud memory pool during the current user-defined cycle, and dynamically adjust the memory space allocated to each local node by the cloud memory pool at the beginning of the next cycle through the dynamic control algorithm. If the utilization rate is low or the memory demand is small in the current cycle, the allocated memory capacity will be reduced in the next cycle. If the utilization rate is high or the memory demand is high in the current cycle, the allocated memory capacity will be increased in the next cycle to ensure that the memory demand of each local node is met and the performance of local nodes is improved.

[0065] Use VMM (Virtual Memory Manager) to implement the mapping of cloud memory pool memory to local memory and the connection and switching between cloud memory pool memory and local memory. At the beginning of the current control cycle, the cloud server allocates memory space from the cloud memory pool to each local node, and sends the address VA of the memory space and the operation permission key of this memory space to each local node. The local node maps the address VA of the cloud memory pool space to the local virtual address through VMM, and connects it with the local memory address. When the application accesses the memory, it gives priority to accessing the local memory. When the local memory space is insufficient, the local virtual address and the cloud memory pool memory address are converted through VMM to access the cloud memory pool memory.

[0066] The specific steps include:

[0067] Step 201: The current user-defined control cycle starts, and the dynamic control module analyzes the utilization rate and memory demand of each local node in the cloud memory pool in the previous cycle through a neural network algorithm;

[0068] Step 202: The dynamic control module allocates memory space to each local node from the cloud memory pool according to the analysis result;

[0069] Step 203: The cloud memory pool server sends the address VA and operation permission key key of each memory space to each local node;

[0070] Step 204: After receiving the address VA of the cloud memory pool storage space, the local node maps it to a local virtual address through the VMM and connects it with the local memory address;

[0071] Step 205: When a user application of the local PC needs to access memory, the application sends a memory access request to the VMM, and the VMM performs memory access forwarding;

[0072] Step 206: After receiving the memory access request, the VMM monitors the remaining capacity of the local memory and gives priority to accessing the local memory;

[0073] Step 207: If the remaining capacity of the local memory is sufficient, the VMM transfers the memory access request to the local memory for memory access; if the remaining capacity of the local memory is insufficient, the VMM converts the memory access address into the cloud memory pool address VA according to the address mapping;

[0074] Step 208: The VMM uses the cloud memory pool address VA and the operation permission key key to initiate an RDMA read or RDMA write to the cloud memory pool through the RNIC to implement remote memory access.

[0075] During the current user-defined control cycle, the dynamic control module monitors the memory utilization and memory demand of each local node on the cloud memory pool in the current cycle, and provides data for the dynamic control of the next cycle.

[0076] Step 3: Priority-based network congestion control method

[0077] In this embodiment, the cloud memory pool is implemented by RDMA, and the physical network card RNIC communicates with the cloud memory pool through the network, and network congestion will inevitably occur. The traditional congestion control method implements congestion control by reducing the network transmission rate, reducing the network transmission rate when congestion occurs, and increasing the transmission rate after the congestion is eliminated. This method can make the network run in the optimal state and maximize the network throughput, but it will reduce the transmission rate of some important nodes, affecting the processing of important transactions, and has limitations.

[0078] The cloud memory pool server of the priority-based network congestion control method maintains a local node access priority table for data path control during network congestion. The table stores the access priority of each local node, and the priority is determined by a comprehensive combination of factors such as the number of users of each local node, local data, and application importance. When network congestion occurs due to network problems or bandwidth problems, the priority flow control module performs congestion control according to the priority table. For local nodes with high priorities, the transmission rate and transmission bandwidth are maintained to ensure the stability of important transactions and important nodes. At the same time, the transmission rate and transmission bandwidth of nodes with low priority are limited. In this embodiment, priority flow control can provide high-priority nodes with high-speed and stable data transmission and remote memory access while ensuring network throughput, thereby ensuring the processing speed of important transactions. The implementation process is as follows: Figure 3 shown.

[0079] Figure 3 The priority of each local node is maintained in the node priority table, with L1 being the highest, L2 being the second, and so on. The higher the priority, the higher the communication bandwidth allocated to it, and the upper limit is the bandwidth and rate that meet the highest performance requirements of the node. In this example, the priority of local node 1 is L1, the highest priority, followed by node 2, followed by node n, and so on. The implementation process of priority flow control is as follows:

[0080] Step 301: When network congestion occurs, the priority flow control module first reserves the bandwidth that meets the minimum communication requirements of all nodes to ensure normal communication of all nodes.

[0081] Step 302: The priority flow control module allocates the remaining network bandwidth according to the node priority table.

[0082] Step 303: First, allocate network bandwidth to the node with the highest priority, that is, L1, local node 1, and allocate a communication bandwidth that meets the highest performance requirement of local node 1.

[0083] Step 304: Allocate the remaining communication bandwidth to the L2 level nodes, namely, the local node 2 and the local node 4, and the allocated amount is the communication bandwidth that meets the highest performance requirements of the local node 2 and the local node 4.

[0084] Step 305: This process is repeated in this way until the remaining communication bandwidth is 0, and the flow control process is completed.

[0085] Through the above scheme, a cloud memory pool with dynamic control and priority network congestion control is realized through RDMA, and a cloud server is used as a cloud memory pool of multiple local nodes to realize the reading and writing of local nodes to the memory in the cloud memory pool server, logically expand the memory capacity of local nodes, and monitor the memory demand and memory utilization of each local node for the cloud memory pool through a dynamic control algorithm, dynamically control the memory capacity allocated by the cloud memory pool to each local node, and improve the memory utilization. At the same time, by maintaining a table containing the priority of each local node, when network congestion occurs, network congestion control is realized through priority scheduling, while ensuring network throughput, providing high-speed and stable data transmission and remote memory access for high-priority nodes, ensuring the processing speed of important transactions.

[0086] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A cloud memory pool priority flow control method based on RDMA, characterized in that: Applied to the server, including the following steps: Get the dynamic control cycle of the cloud memory pool defined by the local node; Starting from the current cycle, analyze the memory requirements of each local node for the cloud memory pool in the previous cycle, and allocate memory space to each local node based on the memory requirements; Send the address and operation permissions of the memory space to each local node; Receive memory access requests from local nodes. When network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order of priority from high to low, until the remaining network bandwidth is allocated.

2. The RDMA-based cloud memory pool priority flow control method according to claim 1, characterized in that: Each local node access priority table includes multiple levels. The higher the priority level, the higher the allocated communication bandwidth. The upper limit of the allocation is the bandwidth and rate that meet the highest performance requirements of the corresponding node.

3. The RDMA-based cloud memory pool priority flow control method is applied to local nodes and is characterized by: The steps include: The receiving server allocates the address and operation permissions of the memory space according to the local node's memory demand for the cloud memory pool; Map the address space of the cloud memory pool to a local virtual address; Determine the remaining capacity of the local memory. If the remaining capacity is greater than the set threshold, the access request is transferred to the local memory for memory access. Otherwise, the memory access address is converted into the cloud memory pool address based on the virtual address. Initiate a memory access request to the server based on the address and operation permissions of the cloud memory pool.

4. The RDMA-based cloud memory pool priority flow control method according to claim 3, characterized in that: The address space of the cloud memory pool is mapped to a local virtual address through virtual memory management and connected to the local memory; the local node sends the memory access request to the virtual memory management, which forwards the memory access request and determines the remaining capacity of the local memory through the virtual memory management.

5. The cloud memory pool priority flow control method based on RDMA is characterized by: The steps include: Define the dynamic control cycle of the cloud memory pool; Starting from the current cycle, analyze the memory requirements of each local node for the cloud memory pool in the previous cycle, and allocate memory space to each local node based on the memory requirements; Send the address and operation permissions of the memory space to each local node; Map the address space of the cloud memory pool to a local virtual address; Determine the remaining capacity of the local memory. If the remaining capacity is greater than the set threshold, the access request is transferred to the local memory for memory access. Otherwise, the memory access address is converted into the cloud memory pool address based on the virtual address. Receive memory access requests from local nodes. When network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order of priority from high to low, until the remaining network bandwidth is allocated.

6. The cloud memory pool priority flow control system based on RDMA is characterized by: Applicable to servers, including: The dynamic control module is configured to: obtain the dynamic control cycle of the cloud memory pool defined by the local node; start from the current cycle, analyze the memory demand of each local node for the cloud memory pool in the previous cycle, and allocate memory space to each local node according to the memory demand; send the address and operation permission of the memory space to each local node; The priority flow control module is configured to: receive memory access requests from local nodes, and when network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order from high to low priority, until the remaining network bandwidth is allocated.

7. The cloud memory pool priority flow control system based on RDMA is characterized by: Applied to local nodes, including: An allocation information receiving module, which is configured to receive the address and operation authority of the memory space allocated by the server according to the memory demand of the local node for the cloud memory pool; An address mapping module configured to map the address space of the cloud memory pool to a local virtual address; The access policy determination module is configured to determine the remaining capacity of the local memory. If the remaining capacity is greater than a set threshold, the access request is transferred to the local memory for memory access; otherwise, the memory access address is converted into a cloud memory pool address based on the virtual address; a memory access request is initiated to the server based on the address and operation authority of the cloud memory pool to access the cloud memory pool.

8. The cloud memory pool priority flow control system based on RDMA is characterized by: It includes a server and a local node; the server includes a dynamic control module, an address mapping module and a priority flow control module; A dynamic control module is configured to define a dynamic control cycle of the cloud memory pool; starting from the current cycle, the memory demand of each local node for the cloud memory pool in the previous cycle is analyzed, and memory space is allocated to each local node according to the memory demand; Send the address and operation permissions of the memory space to each local node; An address mapping module configured to map the address space of the cloud memory pool to a local virtual address; The local node is configured to determine the remaining capacity of the local memory. If the remaining capacity is greater than the set threshold, the access request is transferred to the local memory for memory access. Otherwise, the memory access address is converted into the cloud memory pool address based on the virtual address. The priority flow control module is configured to: receive memory access requests from local nodes, and when network congestion occurs, reserve bandwidth that meets the minimum communication requirements of all nodes, and allocate the remaining network bandwidth according to the set access priority table of each local node, in order from high to low priority, until the remaining network bandwidth is allocated.

9. The RDMA-based cloud memory pool priority flow control system according to claim 8, characterized in that: The server and the local node are connected via RNIC.

10. The RDMA-based cloud memory pool priority flow control system according to claim 8, characterized in that: The local node is also configured to: map the address space of the cloud memory pool to a local virtual address through virtual memory management and connect it to the local memory; the local node sends a memory access request to the virtual memory management, which forwards the memory access request and determines the remaining capacity of the local memory through the virtual memory management.

Citation Information

Cited By

  • External device memory management method and system

    CN120386639A