Multi-backend disaggregated memory system and optimization control method therefor
By using a multi-backend separate memory system and intelligent control methods, the problem of insufficient multiple remote memory access paths in existing remote memory systems is solved, realizing multi-path parallel access and dynamic control, thereby improving data throughput and memory resource utilization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SHANGHAI JIAOTONG UNIV
- Filing Date
- 2025-10-12
- Publication Date
- 2026-04-23
AI Technical Summary
Existing remote memory systems only support a single memory swap backend and lack multiple remote memory access paths, resulting in low data throughput and a lack of parallelism. Furthermore, they do not support intelligent remote memory access path control and management, and thus cannot leverage the performance advantages of heterogeneous remote memory devices.
It adopts a multi-backend separate memory system, including an intelligent remote memory multi-backend management and control module and a multi-backend remote memory switcher, which supports multiple heterogeneous remote memory exchanges. Through intelligent analysis and parameter adjustment, it realizes parallel access to multiple remote memory paths and supports real-time switching and dynamic control of multiple memory exchange backends.
It improves data parallelism, reduces the overhead of switching to remote memory backends, optimizes remote memory data exchange performance, increases the number of tasks running and overall task throughput, and improves memory resource utilization.
Smart Images

Figure CN2025127166_23042026_PF_FP_ABST
Abstract
Description
Multi-backend split memory system and its optimization control method Technical Field
[0001] This invention relates to a technology in the field of computing resource optimization and allocation, specifically a multi-backend split memory system and its optimization control method. Background Technology
[0002] With the rapid growth of application data processing volumes, applications are increasingly consuming memory resources, leading to severe memory shortages in traditional data centers. To alleviate this pressure, a decoupled composable architecture has been proposed in recent years, allowing tasks on compute nodes to flexibly access heterogeneous memory nodes or fast storage devices—a concept known as "remote memory." Typically, data is swapped between local and remote memory, offloading it to remote memory and loading it back into local memory as needed. However, existing remote memory systems remain inefficient. Firstly, current remote memory access architectures only support data swapping between local memory and a single remote memory backend, lacking support for multiple memory swapping backends and multiple remote memory data access paths, resulting in low data throughput and a lack of parallelism. Secondly, existing remote memory systems do not support intelligent control and management methods for remote memory access paths, failing to leverage the performance advantages of heterogeneous remote memory devices and lacking dynamic control and management strategies. Summary of the Invention
[0003] This invention addresses the data throughput issues caused by the lack of support for multiple remote memory access paths in existing technologies, as well as the system efficiency problems caused by the lack of dynamic adjustment and control for multiple remote memory access paths. It proposes a multi-backend discrete memory system and its optimized control method. By supporting a memory swapping strategy and system architecture that supports multiple heterogeneous remote discrete memory backends, it achieves parallel access to multiple remote memory paths to improve data throughput. At the same time, it analyzes application characteristics and realizes intelligent backend switching and data swapping parameter adjustment. It can realize parallel access of multiple memory swapping backend devices, fine-grained parameter configuration of remote memory data access paths, real-time switching of multiple memory swapping backends, and intelligent control and management methods for remote memory access paths.
[0004] This invention is achieved through the following technical solution:
[0005] This invention relates to a multi-backend discrete memory system, comprising: an intelligent remote memory multi-backend management and control module and a multi-backend remote memory switcher, wherein: the intelligent remote memory multi-backend management and control module analyzes and processes calls that trigger page swapping due to page faults, and obtains switching instruction information and parameter adjustment instruction information; the multi-backend remote memory switcher receives and executes the switching instruction information and parameter adjustment instruction information, runs applications on the discrete memory architecture and the multi-backend remote memory software system, and releases resources after the operation is completed.
[0006] The aforementioned split memory refers to memory nodes that are physically separated, where computing tasks performed by computing units or servers that perform logical computations can access remote memory devices or servers across nodes via a bus or network.
[0007] The aforementioned multi-backend split memory system refers to a system that, in addition to using the local memory of the compute nodes, has multiple heterogeneous additional virtual or physical memory nodes. This system allows applications to access these additional memory spaces, including but not limited to accessing remote memory spaces via the network, accessing local additional memory devices, and accessing local fast storage devices. Beneficial effects
[0008] This invention overcomes the limitation of existing remote memory systems that only support a single memory swap backend. It increases the number of memory swapping paths, improves data parallelism, reduces the overhead of remote memory backend switching, and optimizes the performance of remote memory data swapping. By triggering more memory data offloading, the number of running tasks is increased, thus improving overall task throughput and the overall memory resource utilization of the data center. Compared with existing technologies, this invention can allocate the optimal memory swap backend according to application characteristics, configure high-performance remote memory access parameters for it, and provide transparent access to applications. It also supports the isolation of memory backends between different applications, enabling them to execute in parallel without affecting each other. Attached Figure Description
[0009] Figure 1 is a schematic diagram of the system of the present invention;
[0010] Figure 2 is a flowchart of the present invention;
[0011] Figure 3 is a schematic diagram of the switching decision process of the remote memory data exchange backend of the present invention;
[0012] Figure 4 is a schematic diagram of the process of applying offline analysis of lifecycle access characteristics and online control of multi-dimensional parameters of remote memory exchange path in this invention;
[0013] Figure 5 is a schematic diagram of a multi-back-end remote memory switch structure;
[0014] Figure 6 is a flowchart of the lightweight memory switching execution process based on the principle of warm boot;
[0015] Figure 7 is a schematic diagram of the implementation scenario of this embodiment;
[0016] Figure 8 shows the comparison results of memory backend switching time;
[0017] Figure 9 shows the results of the improved overall task throughput in the embodiment. The best embodiment of the present invention
[0018] As shown in Figures 1 and 2, this embodiment illustrates a multi-backend split memory system, comprising: an intelligent remote memory multi-backend management and control module and a multi-backend remote memory exchanger. The intelligent remote memory multi-backend management and control module analyzes and processes calls that trigger page swapping due to page faults. Based on the memory efficiency improvement value recording module of the remote memory exchange path operation data, it records the application's MEI value and performs multi-dimensional offline analysis on the application's lifecycle and page access characteristics to obtain instruction information for switching remote memory data exchange backends and instruction information for multi-dimensional parameter control of the remote memory exchange path. Subsequently, the multi-backend remote memory switch receives and executes switching and parameter adjustment instructions, connecting to various ready-to-use remote memory backends that support heterogeneous multi-pathing, including RDMA-like remote memory backends, CXL-like remote memory backends, and disk-based remote memory backends. Based on the instructions from the intelligent remote memory multi-backend management and control module, it implements specific backend switching. Then, based on the principle of hot-start, a lightweight memory switching configuration strategy analyzes the current resource usage and task deployment status of the server, prioritizing the deployment of tasks to the already configured computing units, ultimately enabling the application to run on the discrete memory architecture and multi-backend remote memory software system.
[0019] The intelligent remote memory multi-backend management and control module includes: a memory efficiency improvement (MEI) value recording unit based on remote memory exchange path operation data, a remote memory data exchange backend switching strategy decision unit, a remote memory exchange path parameter adjustment unit, and a multi-dimensional offline analysis unit for application lifecycle and page access characteristics. Specifically, the memory efficiency improvement value recording unit records the application's MEI value and transmits it to the switching strategy decision unit and the adjustment unit, while simultaneously performing multi-dimensional offline analysis of the application's lifecycle and page access characteristics, outputting the analysis results to the online adjustment unit for multi-dimensional parameters of the remote memory data exchange path.
[0020] The multi-backend remote memory switch includes: a memory switching front-end supporting dynamic back-end switching, a remote memory back-end supporting heterogeneous multi-path, and a lightweight memory switching configuration unit based on the hot-start principle. Specifically: the memory switching front-end receives back-end switching instructions and connects to different memory switching back-ends; the remote memory back-end processes data from RDMA-like remote memory back-ends, CXL-like remote memory back-ends, and disk-like remote memory back-ends; the lightweight memory switching configuration unit implements specific back-end switching based on the instruction information from the intelligent remote memory multi-backend management and control module, and analyzes the current resource usage and task deployment status of the server based on the hot-start principle's lightweight memory switching configuration strategy, prioritizing the deployment of tasks to the already configured computing units.
[0021] The remote memory exchange path operation data refers to: the number of page faults, kernel layer runtime, and overall runtime data for different applications under different remote memory access paths and local memory ratio conditions.
[0022] The application memory efficiency improvement value refers to the reciprocal of the application's execution performance (i.e., overall runtime latency) and backend cost. This step first requires statistical analysis of the execution time and cost of each application in execution units configured with different memory backends, calculating the MEI value for different applications and different memory backends. Multiple sets of parameter data for multiple tasks and their corresponding MEI values constitute the MEI data table.
[0023] The back-end switching includes switching between three types of back-ends: a PCIe-connected CXL-like remote memory back-end, a PCIe-connected remote node DRAM memory back-end based on a remote direct data access (RDMA) network card, and a PCIe-connected disk-type remote memory back-end.
[0024] As shown in Figure 3, the switching strategy decision for remote memory data exchange backends refers to: analyzing the data distribution of known applications, measuring the memory efficiency improvement (MEI) value of applications with different data distributions on different backends; based on the application's MEI value data analysis, sorting different remote memory backends according to their MEI values and adding them to a priority queue for backend selection; and comparing the current available remaining resources, placing unavailable backends at the tail of the priority queue. A mapping table between data distribution and backend preferences is constructed, and application lifecycle memory access characteristics are extracted to guide the data exchange configuration for different backends.
[0025] The aforementioned multidimensional offline analysis refers to: offline collection of application page information and calculation analysis to obtain application memory access characteristics, including data fragmentation ratio characteristics, load-to-store ratio characteristics, and hot-and-cold data ratio characteristics. Specifically, during the offline collection phase, when the application is executed in the computing unit, access information of all memory pages during the application's execution is obtained, including page ID, timestamp, page type, and page operations. This information is recorded in a list, and page access characteristics are calculated and extracted based on the list, followed by feature fusion. The ratio of the number of pages with non-contiguous addresses to the total number of pages is used as the application's data fragmentation ratio characteristic; the ratio of page load operations L and storage operations S to the total number of page operations is used as the load-to-store ratio characteristic; and the ratio of the number of pages accessed more than C times (where C is a customizable threshold) to the total number of pages is used as the hot-and-cold data ratio characteristic.
[0026] As shown in Figure 4, the multi-dimensional parameter control of the remote memory exchange path refers to adjusting the parameters of the memory exchange path of the application execution unit during the online control phase. The specific adjustment process is as follows: First, establish a mapping relationship between the application memory access characteristics obtained above and the selection of the remote memory backend and the adjustment of backend parameters. This mapping relationship will guide the adjustment of specific parameters. Specifically, the data fragmentation ratio characteristic guides the adjustment of data exchange granularity parameters, including page size and data block size; the load storage ratio characteristic guides the adjustment of I / O bandwidth parameters, including the number of data transfer processes and network paths; and the hot and cold data ratio characteristic guides the adjustment of data distribution parameters, including the number of NUMA nodes and the proportion of local memory. After this step forms a preliminary parameter adjustment scheme, guided by the application's Memory Efficiency Improvement (MEI) value, collect the application execution performance and its local memory usage under different parameters, and then select the parameters corresponding to the optimal MEI value to form the final remote memory parameter adjustment scheme.
[0027] As shown in Figure 5, the memory swapping front-end modifies the data unloading and data acquisition interfaces in the unloading and reclamation of memory error pages, mapping the back-end of the remote memory swapping module to the data unloading and data acquisition interfaces of different back-ends. By calling the data unloading modules and interfaces corresponding to different remote memory back-ends, the front-end can access the actual remote memory, thereby calling the ready heterogeneous remote memory back-ends. Multiple remote memory back-ends, including CXL-like remote memory back-ends, RDMA-based remote node DRAM memory back-ends, and disk-based remote memory back-ends, are built on storage and data transmission media. They utilize their respective hardware drivers, driver call semantics, memory swapping semantics, and data transmission methods supported by the programming framework to define the implementation of memory swapping on specific back-ends. This ensures that the operating system prioritizes using predefined specific back-ends to store unloaded memory page data during data swapping. This implements different memory access paths for different operating system kernels, allowing multiple virtual machines and operating systems with different remote memory back-ends to be deployed on a single server, achieving parallel multi-heterogeneous remote memory access paths at the system level. The memory backend module can use hardware drivers to call memory storage and transmission media, and provide an interface for the upper layer to call the memory media. The memory exchange semantics utilize the memory media to call the interface to complete the data exchange between local memory and the memory backend.
[0028] The aforementioned RDMA-like remote memory backend refers to the use of SR-IOV (Single Root I / O Virtualization) technology to create multiple VFs (Virtualization Functions) for RDMA network cards connected via PCIe. This provides network card virtualization for virtual machines, enabling them to transmit data with the host machine through the VFs and connect to the RDMA network, which in turn connects to a remote memory space for data exchange. The RDMA remote memory node pre-allocates a block of free memory for memory services. When the RDMA network card receives a memory request from a compute node, it utilizes the DRAM memory of the remote memory node to cache the data.
[0029] The aforementioned CXL-like remote memory backend refers to a DRAM memory device backend that supports the CXL (Computer Express Link) high-speed interconnect protocol PCIe connection, which allocates swap space on the CXL memory device by calling the NUMA control tool.
[0030] The aforementioned disk-type remote memory backend refers to a remote memory backend that connects to a storage device that supports PCIe, NVMe, or other I / O interfaces, and serves as a remote memory space for offloading memory data by setting up a swap file on the storage space.
[0031] As shown in Figure 6, the memory switching configuration refers to the following: when an application has specified a corresponding remote memory backend, the optimal memory swap backend is first queried, followed by a check to see if a corresponding execution unit exists. If it does, the application is directly assigned to the corresponding execution unit; otherwise, it is first assigned to an idle execution unit before switching the execution unit's backend. Finally, the parameters of the remote memory path are adjusted.
[0032] Figure 2 shows the optimized control method for the multi-backend split memory system based on the above system in this embodiment, including:
[0033] Step 1: Based on the remote memory page swapping call records of the task to be processed, and the application memory efficiency improvement value based on the remote memory swapping path running data, combined with multi-dimensional offline analysis based on the application lifecycle and page access characteristics, generate instruction information for switching the remote memory data swapping backend through the switching decision of the remote memory data swapping backend; generate instruction information for multi-dimensional parameter control of the remote memory swapping path through the multi-dimensional parameter control unit of the remote memory swapping path.
[0034] Step 2: The multi-backend remote memory switch receives and executes switching instruction information and parameter adjustment instruction information, connects to various ready remote memory backends that support heterogeneous multi-path, including RDMA-like remote memory backends, CXL-like remote memory backends and disk-like remote memory backends, and establishes and connects the multi-backend remote memory path.
[0035] Step 3: Analyze the current resource usage and task deployment status of the server, and generate lightweight memory switching and configuration instructions based on the principle of hot start;
[0036] On the remote memory access path established in step 2, based on the backend switching instruction information generated in step 1 and the lightweight memory switching and configuration instruction obtained in step 3, specific backend switching is implemented on the three types of memory backends for the current task.
[0037] Step 4: Run the current task on the split memory architecture and multi-backend remote memory software system, and release resources after the task is completed.
[0038] The aforementioned multi-back-end remote memory exchange includes:
[0039] i) The computing node receives the computing task;
[0040] ii) The compute node queries the optimal memory swap backend based on the characteristics of the compute task, the current system resource allocation status, and the memory backend allocation status.
[0041] iii) If a corresponding backend execution unit exists, the application will be assigned to that execution unit for execution;
[0042] iv) If there is no corresponding backend execution unit, the application will be assigned to an idle execution unit for execution, and then the memory backend of that execution unit will be switched to the optimal memory swap backend corresponding to that backend.
[0043] v) The application is already in the execution unit of its corresponding optimal memory swap backend. Under the control of the parameter adjustment module, the execution unit queries the optimal memory swap parameters corresponding to the application under the memory swap backend and adjusts the memory swap backend parameters according to the parameters.
[0044] vi) The application executes under the optimal memory swap backend and optimal memory swap backend path parameters and returns.
[0045] Different computing tasks are assigned to virtual machines corresponding to different memory backends and then executed.
[0046] vii) During application execution, insufficient local memory triggers a page fault, which in turn generates a memory swapping request. In the virtual machine, memory swapping prioritizes the pre-configured memory backend's corresponding data read / write semantics, automatically triggering these semantics to complete the memory backend read / write.
[0047] viii) Multiple applications simultaneously generate page faults, resulting in memory swapping. Virtual Machine 1 uses a solid-state drive backend for memory swapping, Virtual Machine 2 uses a DRAM backend, and Virtual Machine 3 uses an RDMA backend. These three memory swapping methods are isolated and executed in parallel.
[0048] ix) Each application continuously triggers memory swapping, completes execution within limited local memory, and then returns the execution result.
[0049] Through specific practical experiments, remote DRAM connected via RDMA was used as the remote memory medium, local DRAM connected via PCIe was used as the local memory medium, and local SSD connected via PCIe was used as the local memory exchange medium. This embodiment uses two servers equipped with two 20-core Intel(R) Xeon(R) Gold 6148 CPUs, 256 GB of memory, a 2TB hard drive, and a dual-channel Mellanox ConnectX-5 RDMA network card. One server serves as the compute node, and the other as the RDMA-connected DRAM remote memory access node. The compute node contains both solid-state drives and DRAM memory media. The remote memory node contains DRAM memory media. Both the compute node and the remote memory node contain RDMA network cards, and they are connected via RDMA network cables. This embodiment runs multiple virtual machines on top of the above streamlined server, and each virtual machine is equipped with an independent Linux operating system kernel and the multi-backend separated memory system and its intelligent management method of this invention, deploying the corresponding remote memory backends according to task requirements. In this embodiment, three basic virtual machines are pre-built in the compute node: Virtual Machine 1, Virtual Machine 2, and Virtual Machine 3. The hardware and virtual machine test system architecture used is shown in Figure 7.
[0050] Under the above hardware environment settings, the remote memory switching backend time of this system and the comparison system was tested using DRAM, SSD, and RDMA backends, as shown in Figure 8. This embodiment of the work details the switching overhead for each switching condition between SSD, DRAM, and RDMA. The results show that this method can support multiple remote memory backends, and its backend switching time is up to 2.6 times faster than existing technologies. Compared with existing technologies, the improvement in backend switching performance of this method mainly comes from the design of the multi-backend remote memory switch in this method, which can support virtual machine-level kernel modifications and fast restarts.
[0051] Under the above hardware environment settings, this embodiment tested the memory exchange latency comparison between this system and the comparison system with parameters of local memory ratio of 0.5-1. As shown in Table 1, it is a comparison chart of memory exchange performance of backend selection and parameter tuning of multi-backend remote memory system in this embodiment.
[0052] Table 1 shows the results of the improved memory swapping performance in this system.
[0053]
[0054] This embodiment measured the following real-world data center computing tasks, including standard benchmarks Linpack, Stream, and Spark for general computing applications and graph processing algorithms such as graph traversal, page sorting, subgraph search, and inference tasks for classic open-source AI models like ResNet, BERT, Clip, and Chatglm. This example tested the average memory swapping time for each task across different remote memory backends under parameters limiting local memory size from 0.5 to 1, and compared the results. Under the above hardware environment settings, this embodiment further tested the task throughput of this system and a comparison system under different task type distributions, with a Service Level Target (SLO) (the percentage increase in latency allowed on top of the original workload latency) ranging from 1 to 2, as shown in Figure 9. Calculations show that this system design delivers up to a 2.16x speedup on the SSD backend; up to a 2.43x speedup on the DRAM backend; and up to a 3.89x speedup on the RDMA backend. Compared to existing technologies, this method, through the design of a remote memory multi-backend management and control module, can support the activation of higher-performance remote memory backends and the configuration of higher-performance remote memory parameters.
[0055] Compared to existing technologies, this system allows for intelligent switching and configuration of remote memory backend designs, supports higher performance and higher data bandwidth memory swapping, and can deliver up to 5 times the throughput improvement.
[0056] The above-described specific implementations can be partially adjusted by those skilled in the art in different ways without departing from the principles and purpose of the present invention. The scope of protection of the present invention is defined by the claims and is not limited to the above-described specific implementations. All implementation schemes within the scope of the claims are bound by the present invention.
Claims
1. A multi-backend disaggregated memory system, comprising: include: The intelligent remote memory multi-backend management and control module and the multi-backend remote memory switcher, wherein: the intelligent remote memory multi-backend management and control module analyzes and processes the call that triggers page swapping when a page fault occurs, and obtains switching instruction information and parameter adjustment instruction information; The multi-backend remote memory switch receives and executes switching instructions and parameter adjustment instructions, runs applications on the discrete memory architecture and multi-backend remote memory software system, and releases resources after execution.
2. The multi-backend split memory system of claim 1, wherein, The intelligent remote memory multi-backend management and control module includes: a memory efficiency improvement (MEI) value recording unit based on remote memory exchange path operation data, a remote memory data exchange backend switching strategy decision unit, a remote memory exchange path parameter adjustment unit, and a multi-dimensional offline analysis unit for application lifecycle and page access characteristics. The memory efficiency improvement value recording unit records the application's MEI value and transmits it to the switching strategy decision unit and the adjustment unit respectively. At the same time, the memory efficiency improvement value recording unit performs multi-dimensional offline analysis on the application's lifecycle and page access characteristics and outputs the analysis results to the online adjustment unit for multi-dimensional parameters of the remote memory data exchange path. The aforementioned remote memory access path operation data refers to: page fault counts, kernel layer runtime, and overall runtime data for different applications under different remote memory access paths and local memory ratio conditions; The aforementioned application memory efficiency improvement value refers to the application's execution performance, which is the reciprocal of the overall running latency and backend price cost. This step first requires statistical analysis of the execution time and cost of each application in execution units configured with different memory backends, and then calculating the MEI value corresponding to different applications and different memory backends. Multiple sets of parameter data for multiple tasks and their corresponding MEI values constitute the MEI data table.
3. The multi-backend split memory system of claim 1, wherein, The multi-backend remote memory switch includes: a memory switching front-end supporting dynamic back-end switching, a remote memory back-end supporting heterogeneous multi-path, and a lightweight memory switching configuration unit based on the hot-start principle. Specifically: the memory switching front-end receives back-end switching instructions and connects to different memory switching back-ends; the remote memory back-end processes data from RDMA-like remote memory back-ends, CXL-like remote memory back-ends, and disk-like remote memory back-ends; the lightweight memory switching configuration unit implements specific back-end switching based on the instruction information from the intelligent remote memory multi-backend management and control module, and analyzes the current server resource usage and task deployment status using a lightweight memory switching configuration strategy based on the hot-start principle, prioritizing the deployment of tasks to the already configured computing units. The back-end switching includes switching between three types of back-ends: a PCIe-connected CXL-like remote memory back-end, a PCIe-connected remote node DRAM memory back-end based on a remote direct data access (RDMA) network card, and a PCIe-connected disk-type remote memory back-end.
4. The multi-backend disassociated memory system of any of claims 1-3, wherein, The parameter adjustment mentioned above refers to adjusting the parameters of the memory swapping path of the application execution unit during the online control phase, specifically including: i) Establish a mapping relationship between the application memory access characteristics obtained above and the selection of remote memory backends and the adjustment of backend parameters to guide the adjustment of specific parameters; ii) Load storage ratio characteristics guide I / O bandwidth parameter adjustment; hot and cold data ratio characteristics guide data distribution parameter adjustment, so as to form a preliminary parameter adjustment plan; iii) Guided by the application's Memory Efficiency Improvement (MEI) value, collect the application's execution performance and local memory usage under different parameters, and then select the parameters corresponding to the optimal MEI value to form the final remote memory parameter adjustment scheme.
5. The multi-backend split memory system of claim 2, wherein, The aforementioned remote memory data exchange backend switching strategy decision refers to: analyzing the data distribution of known applications, measuring the memory efficiency improvement (MEI) value of applications with different data distributions on different backends; based on the application's MEI value data analysis, sorting different remote memory backends according to the MEI value and adding them to the backend selection priority queue; comparing the current available remaining resources, placing unavailable backends at the tail of the priority queue, constructing a correspondence table between data distribution and backend preferences, and extracting application lifecycle memory access characteristics to guide the data exchange configuration of different backends.
6. The multi-backend disassociated memory system of claim 2, wherein, The aforementioned multidimensional offline analysis refers to: offline collection of application page information and calculation analysis to obtain application memory access characteristics. Specifically, during the offline collection phase, when the application is executed in the computing unit, the access information of all memory pages during the execution of the application is obtained, including the page ID, timestamp, page type, and page operation, and recorded into a list. The page access characteristics are calculated and extracted based on the list, and feature fusion is performed. The ratio of the number of pages with non-contiguous addresses to the total number of pages is used as the data fragmentation ratio characteristic of the application. The load-to-store ratio is defined by dividing the number of page load operations (L) and storage operations (S) by the total number of page operations. The number of pages with more than a threshold number of page visits is divided by the total number of pages to determine the ratio of hot to cold data.
7. The multi-backend segregated memory system of claim 3, wherein, The memory swapping front end modifies the data unloading and data acquisition interfaces in the unloading and recycling of memory error pages to map the back end of the remote memory swapping module to the data unloading and data acquisition interfaces of different back end. By calling the data unloading modules and interfaces corresponding to different remote memory back end, the front end can call the actual remote memory access, thereby calling the heterogeneous remote memory back end that is ready. Multiple remote memory backends, including CXL-like remote memory backends, RDMA-based remote node DRAM memory backends, and disk-based remote memory backends, are built on storage and data transfer media. They utilize their respective hardware drivers, driver call semantics, memory swap semantics, and data transfer methods supported by the programming framework. Memory swapping is implemented on specific backends, allowing the operating system to prioritize the use of predefined backends to store unloaded memory page data during data exchange. This enables different memory access paths for different operating system kernels, allowing multiple virtual machines and operating systems with different remote memory backends to be deployed on a single server. This achieves parallel, multi-heterogeneous remote memory access paths at the system level. The memory backend module can use hardware drivers to call memory storage and transfer media and provides interfaces for upper layers to call memory media. Memory swap semantics utilize memory media call interfaces to complete data exchange between local memory and the memory backend.
8. The multi-backend segregated memory system of claim 3, wherein, The aforementioned RDMA-like remote memory backend refers to: using SR-IOV (Single Root I / O Virtualization) technology, creating multiple VFs (Virtualization Functions) for RDMA network cards connected via PCIe to provide network card virtualization for virtual machines to use, enabling virtual machines to transmit data with the host machine through VFs and then connect to the RDMA network, and then connect to the remote memory space as a remote memory space for data exchange; RDMA remote memory nodes pre-allocate a free memory block for memory services; when the RDMA network card receives a memory request from the compute node, it uses the DRAM memory of the remote memory node to cache the data. The aforementioned CXL-like remote memory backend refers to a DRAM memory device backend that supports PCIe connection of the CXL (Computer Express Link) high-speed interconnect protocol, which allocates swap space on the CXL memory device by calling the NUMA control tool; The aforementioned disk-type remote memory backend refers to a remote memory backend that connects to a storage device that supports PCIe, NVMe, or other I / O interfaces, and serves as a remote memory space for offloading memory data by setting up a swap file on the storage space.
9. The multi-backend split memory system of claim 3, wherein, The memory switching configuration refers to the following: when an application has specified a corresponding remote memory backend, first query the best memory swap backend, then query whether there is an execution unit with the corresponding backend. If it exists, the application is directly assigned to the corresponding execution unit; otherwise, it is first assigned to an idle execution unit, then the backend of the execution unit is switched, and finally the parameters of the remote memory path are adjusted.
Citation Information
Patent Citations
Hybrid remote memory scheduling method under separated memory architecture
CN115495246A
Cross-device memory exchange method of mobile device
CN117349195A
Multi-rear-end separated memory system and optimization control method thereof
CN119415253A
Dynamically switching between different types of concurrency control techniques to provide an adaptive access strategy for a parallel file system
US6826570B1