Multi-rear-end separated memory system and optimization control method thereof

Through the multi-back-end separate memory system and intelligent management control module, the problems of insufficient parallelism and lack of intelligent control in existing remote memory systems are solved, and efficient remote memory data exchange and memory resource utilization are achieved. .

CN119415253APending Publication Date: 2025-02-11SHANGHAI JIAOTONG UNIV
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202411458241.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-18
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The existing remote memory system does not support multiple remote memory access paths, resulting in low data throughput, lack of parallelism, and does not support intelligent control and management methods of remote memory access paths, and cannot give full play to the performance advantages of heterogeneous remote memory devices.

Method used

A multi-back-end separate memory system is proposed. Through intelligent remote memory multi-back-end management control module and multi-back-end remote memory switch, it supports the memory switching strategy and system architecture of multiple heterogeneous remote separated memory back-ends. Implement multi-channel remote memory access parallelism, and realize intelligent back-end switching and data exchange parameter adjustment through intelligent control and management methods of remote memory access paths.

Benefits of technology

It improves data throughput, improves system efficiency, optimizes the performance of remote memory data exchange, enhances memory resource utilization, and supports isolated parallel execution of memory backends between different applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119415253A_ABST
    Figure CN119415253A_ABST
Patent Text Reader

Abstract

The invention relates to a multi-back-end separated memory system and an optimization control method thereof, the multi-back-end separated memory system comprises an intelligent far memory multi-back-end management control module and a multi-back-end far memory switch, the intelligent far memory multi-back-end management control module analyzes and processes calling of page errors and page switching triggering, and the multi-back-end far memory switch is used for switching the multi-back-end far memory switch. Switching instruction information and parameter regulation and control instruction information are obtained; and the multi-rear-end remote memory exchanger receives and executes the switching instruction information and the parameter regulation and control instruction information, runs applications on the separated memory architecture and the multi-rear-end remote memory software system, and releases resources after running is finished. By supporting a memory exchange strategy and a system architecture of a plurality of heterogeneous far-end separated memory rear ends, parallel access of a plurality of paths of far memories is realized to improve data throughput, application characteristics are analyzed, and intelligent rear end switching and data exchange parameter adjustment are realized; parallel access of a plurality of memory exchange back-end devices, fine-grained parameter configuration of a remote memory data access path, real-time switching of a plurality of memory exchange back-ends and an intelligent control and management method of the remote memory access path can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a technology in the field of computing resource optimization configuration, in particular to a multi-backend separated memory system and an optimization control method thereof. Background Art

[0002] With the rapid growth of the amount of data processed by applications, applications occupy more and more memory resources, and the memory resources in traditional data centers are very tight. In order to alleviate the pressure on memory resources, a separated and composable architecture has been proposed in recent years, allowing tasks on computing nodes to flexibly access the separated memory resources of heterogeneous memory nodes or fast storage devices, namely "far memory" resources. People usually use the method of exchanging data between local memory and far memory to unload data to the far memory space, and load it back to the local memory from the far memory space on demand. However, the existing far memory system is still not efficient enough. On the one hand, the existing far memory access architecture only supports data exchange between local memory and a single far memory backend, does not support multiple memory exchange backend devices, and does not support multiple far memory data access paths, so the data throughput is low and lacks parallelism. On the other hand, the existing far memory system does not support intelligent control and management methods for far memory access paths, cannot give full play to the performance advantages of heterogeneous far memory devices, and lacks dynamic regulation and management strategies. Summary of the invention

[0003] The present invention aims at the data throughput problem caused by the failure of the prior art to support multiple far memory access paths and the system efficiency problem caused by the failure to support dynamic adjustment control of multi-way far memory access. A multi-backend separated memory system and an optimization control method thereof are proposed. By supporting the memory exchange strategy and system architecture of multiple heterogeneous remote separated memory backends, multi-way far memory access parallelism is realized to improve data throughput. At the same time, application characteristics are analyzed and intelligent backend switching and data exchange parameter adjustment are realized. The system can realize parallel access of multiple memory exchange backend devices, fine-grained parameter configuration of far memory data access paths, real-time switching of multiple memory exchange backends, and intelligent control and management methods of far memory access paths.

[0004] The present invention is achieved through the following technical solutions:

[0005] The present invention relates to a multi-backend separated memory system, comprising: an intelligent far memory multi-backend management control module and a multi-backend far memory switch, wherein: the intelligent far memory multi-backend management control module analyzes and processes the call that occurs a page error and triggers a page switch, and obtains switching instruction information and parameter control instruction information; the multi-backend far memory switch receives and executes the switching instruction information and parameter control instruction information, runs applications on a separated memory architecture and a multi-backend far memory software system, and releases resources after the operation ends.

[0006] The separated memory refers to: separating the memory at the physical level, and the computing unit or server with logical computing function as the computing node (Compute Node) accesses the memory node (Memory Node) of the remote memory device or server across nodes through a bus or network.

[0007] The multi-backend separated memory system means that, based on the use of the local memory of the computing node, there are multiple heterogeneous additional virtual or physical memory nodes. The system can allow applications to access these additional memory spaces, including but not limited to network-based access to remote memory spaces, access based on local additional memory devices, and access based on local fast storage devices. Technical Effects

[0008] The present invention solves the limitation that the existing far memory system only supports a single memory exchange backend, increases the memory exchange path, improves data parallelism, and reduces the overhead of far memory backend switching, thereby optimizing the performance of far memory data exchange. By initiating more memory data unloading, the number of running tasks is increased, thereby improving the overall task throughput and the overall memory resource utilization of the data center. Compared with the prior art, the present invention can allocate the optimal memory exchange backend according to the application characteristics, configure high-performance far memory access parameters for it, and provide it to the application for transparent use, supporting the isolation of memory backends between different applications, so that they can be executed in parallel without affecting each other. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 It is a schematic diagram of the system of the present invention;

[0010] Figure 2 It is a flow chart of the present invention;

[0011] Figure 3 A schematic diagram of the switching decision process of the remote memory data exchange backend of the present invention;

[0012] Figure 4 A schematic diagram of the process of applying offline analysis of lifecycle access characteristics and online regulation of multi-dimensional parameters of a remote memory exchange path in the present invention;

[0013] Figure 5 It is a schematic diagram of the structure of a multi-backend far memory switch;

[0014] Figure 6 It is a flowchart for lightweight memory switching execution based on the hot start principle;

[0015] Figure 7 This is a schematic diagram of a scenario for implementing this embodiment;

[0016] Figure 8 This is a comparison chart of the memory backend switching time.

[0017] Fig. 9 A result graph showing the overall task throughput improved by the embodiment. DETAILED DESCRIPTION

[0018] like Figure 1 and Figure 2 As shown, a multi-backend separated memory system involved in this embodiment includes: an intelligent far memory multi-backend management and control module and a multi-backend far memory exchanger, wherein: the intelligent far memory multi-backend management and control module analyzes and processes the call that occurs a page error and triggers a page exchange, and the memory efficiency improvement value recording module based on the far memory exchange path operation data records the MEI value of the application and performs multi-dimensional offline analysis on the life cycle and page (Page) memory access characteristics of the application, and obtains the instruction information of switching the far memory data exchange backend and the instruction information of multi-dimensional parameter regulation of the far memory exchange path. Subsequently, the multi-backend far memory switch receives and executes the switching instruction information and parameter control instruction information, and connects to a variety of far memory backends that are ready to support heterogeneous multi-channels, including RDMA-like far memory backends, CXL-like far memory backends, and disk-like far memory backends, and implements specific backend switching according to the instruction information of the intelligent far memory multi-backend management and control module; subsequently, based on the lightweight memory switching configuration strategy of the hot start principle, the current resource usage and task deployment of the current server are analyzed, and the tasks are deployed preferentially to the configured computing units, and finally the application is completed to run the application on the separated memory architecture and multi-backend far memory software system.

[0019] The intelligent far memory multi-backend management and control module includes: a memory efficiency improvement (MEI) value recording unit based on far memory exchange path operation data, a switching strategy decision unit of the far memory data exchange backend, a far memory exchange path parameter control unit, and an application life cycle and page (Page) access characteristics multi-dimensional offline analysis unit, wherein: the memory efficiency improvement value recording unit records the MEI value of the application and transmits it to the switching strategy decision unit and the control unit respectively, while the memory efficiency improvement value recording unit performs multi-dimensional offline analysis on the application life cycle and page (Page) access characteristics, and outputs the analysis result to the online control unit of the multi-dimensional parameters of the far memory data exchange path.

[0020] The multi-backend far memory exchanger includes: a memory exchange front end supporting dynamic backend switching, a far memory back end supporting heterogeneous multi-channels, and a lightweight memory switching configuration unit based on the hot start principle, wherein: the memory exchange front end receives a backend switching instruction and connects to different memory exchange back ends; the far memory back end processes data of an RDMA-like far memory back end, a CXL-like far memory back end, and a disk-like far memory back end; the lightweight memory switching configuration unit implements specific backend switching according to instruction information of an intelligent far memory multi-backend management and control module, and analyzes the current resource usage and task deployment of the current server based on a lightweight memory switching configuration strategy based on the hot start principle, and preferentially deploys tasks to already configured computing units.

[0021] The far memory exchange path operation data refers to: the number of page faults, kernel layer operation time and overall operation time data of different applications, in different far memory access paths and local memory ratio conditions.

[0022] The application memory efficiency improvement value refers to: the execution performance of the application (i.e., the overall operation delay) and the inverse of the backend price cost. This step first requires statistics on the execution time of each application in the execution unit configured with different memory backends and the cost of using the corresponding memory backend, and calculates the MEI values ​​corresponding to different applications and different memory backends. Multiple sets of parameter data for multiple tasks and the corresponding MEI values ​​constitute the MEI data table.

[0023] The backend switching includes switching between three backends: a PCIe-connected CXL-like far memory backend, a PCIe-connected remote node DRAM memory backend based on a remote direct data access (RDMA) network card, and a PCIe-connected disk-like far memory backend.

[0024] like Figure 3 As shown, the switching strategy decision of the far memory data exchange backend is: 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 MEI value data analysis, sorting different far memory backends according to the MEI value, adding them to the priority queue selected by the backend; and comparing the current available remaining resources, placing the unavailable backend at the end of the priority queue. Constructing a corresponding relationship table between data distribution and backend preference, extracting the memory access characteristics of the application life cycle, and guiding the data exchange configuration of different backends.

[0025] The multi-dimensional offline analysis refers to: collecting application page information offline and obtaining application memory access features through calculation and analysis, including data fragmentation ratio features, load storage ratio features, and cold and hot data ratio features, specifically: in the offline collection stage, when the application is executed in the computing unit, the access information of all memory pages of the application during execution is obtained, including the page id, timestamp, page type, and page operation, and after recording it as a list, the page access features are calculated and extracted according to the list, and feature fusion is performed. The ratio of the number of pages with non-continuous addresses divided by the number of all pages is used as the data fragmentation ratio feature of the application; the page load operation L and storage operation S are divided by the total number of page operations as the load storage ratio feature; the number of pages with page access times greater than C times (C is a customizable threshold) divided by the total number of pages is used as the cold and hot data ratio feature.

[0026] like Figure 4 As shown, the multi-dimensional parameter control of the far memory exchange path refers to: adjusting the parameters of the memory exchange path of the application execution unit in the online control stage, and the specific adjustment process is: first, establish the mapping relationship between the above-mentioned application memory access characteristics and the far memory backend selection and backend parameter adjustment content, and the mapping relationship will guide the adjustment of specific parameters. Among them, the data fragmentation ratio feature guides the adjustment of data exchange granularity parameters, including parameters such as page size and transmission data block size; the load storage ratio feature guides the adjustment of I / O bandwidth parameters, including parameters such as the number of data transmission processes and the number of network channels; the cold and hot data ratio feature guides the adjustment of data distribution parameters, including parameters such as the number of NUMA nodes and the local memory ratio. After this step forms a preliminary parameter adjustment plan, under the guidance of the memory efficiency improvement (MEI) value of the application, the application execution performance and local memory occupancy size running on different parameters are collected, and then the parameters corresponding to the optimal MEI value are selected to form the final far memory parameter adjustment plan.

[0027] like Figure 5As shown, the memory exchange front end maps the back end of the far memory exchange module to the data unloading and data acquisition interface of different back ends by modifying the data unloading and data acquisition interface in the unloading and recycling of the memory error page; by calling the data unloading module and interface corresponding to different far memory back ends, the front end can call the actual far memory access, thereby calling the heterogeneous far memory back end that is ready; multiple far memory back ends are built on the storage medium and data transmission medium for the CXL-like far memory back end, the remote node DRAM memory back end based on the RDMA network card, and the disk-like far memory back end, respectively using their hardware drivers, driver call semantics, memory exchange semantics, and data transmission methods supported by the programming framework to define the implementation of memory exchange in a specific back end, so that the operating system preferentially uses the predefined specific back end to store the unloaded memory page data when performing data exchange. Different memory access paths are implemented for different operating system kernels, allowing multiple virtual machines to be deployed on a server and operating systems with different far memory back ends to be deployed, and multiple heterogeneous far memory access paths in parallel at the whole machine level are implemented. The memory backend module can use the hardware driver to call the memory storage medium and transmission medium, and provide the upper layer with an interface for calling the memory medium. The memory exchange semantics uses the memory medium call interface to complete the data exchange between the local memory and the memory backend.

[0028] The RDMA-like far memory backend refers to: using SR-IOV (single root I / O virtualization) technology to create multiple VFs (virtualization functions) for the RDMA network card connected via PCIe to provide network card virtualization for virtual machines, so that the virtual machine can transmit data with the host through the VF and then connect to the RDMA network, and then connect to the remote memory space as the far memory space for data exchange. The RDMA far memory node pre-allocates a piece of free memory for memory services. When the RDMA network card receives a memory request from a computing node, the DRAM memory of the far memory node is used to complete the data cache.

[0029] The CXL-like far memory backend refers to a DRAM memory device backend connected to a PCIe that supports the CXL (Computer Express Link) high-speed interconnection protocol, and allocates swap space for it on the CXL memory device by calling a NUMA control tool.

[0030] The disk-type far memory backend refers to: a far memory backend of a storage device connected by supporting PCIe or NVMe or other I / O interfaces, which is used as a far memory space for unloading memory data by setting a swap file on the storage space.

[0031] like Figure 6As shown, the memory switching configuration means: when the application has specified the corresponding far memory backend, first query the best memory swap backend, and then query whether there is an execution unit of the corresponding backend. If yes, directly assign the application to the corresponding execution unit. If no, first assign it to an idle execution unit, and then switch the execution unit's backend. Finally, adjust the parameters of the far memory path.

[0032] like Figure 2 As shown, the optimization control method of the multi-backend separated memory system based on the above system in this embodiment includes:

[0033] Step 1: Based on the application memory efficiency improvement value of the far memory exchange path operation data according to the far memory page exchange call record of the task to be processed, combined with the multi-dimensional offline analysis according to the application life cycle and the page access characteristics, the instruction information for switching the far memory data exchange backend is generated through the switching decision of the far memory data exchange backend; the instruction information for multi-dimensional parameter regulation of the far memory exchange path is generated through the far memory exchange path multi-dimensional parameter regulation unit;

[0034] Step 2: The multi-backend far memory switch receives and executes the switching instruction information and the parameter control instruction information, connects to a variety of far memory backends that are ready to support heterogeneous multi-paths, including RDMA-like far memory backends, CXL-like far memory backends, and disk-like far memory backends, and establishes and connects multi-backend far memory paths;

[0035] Step 3: Analyze the current resource usage and task deployment of the current server, and generate lightweight memory switching and configuration instructions based on the hot start principle;

[0036] On the far memory access path established in step 2, according to the backend switching instruction information generated in step 1 and the lightweight memory switching and configuration instructions 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 far memory software system, and release resources after the operation is completed.

[0038] The multi-backend far memory exchange includes:

[0039] i) The computing node receives the computing task;

[0040] ii) The computing node queries the best memory swap backend based on the computing task characteristics, the current system resource allocation status, and the memory backend allocation status;

[0041] iii) If there is an execution unit corresponding to the backend, the application is assigned to the execution unit for execution;

[0042] iv) if there is no execution unit corresponding to the backend, the application is assigned to an idle execution unit for execution, and then the memory backend of the execution unit is switched to the optimal memory swap backend corresponding to the backend;

[0043] v) The application is already in the execution unit of the 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 is executed under the optimal memory swap backend and optimal memory swap backend path parameters and returns.

[0045] Assign different computing tasks to virtual machines corresponding to different memory backends and start executing them;

[0046] vii) During the execution of the application, insufficient local memory triggers a page fault interrupt, which in turn generates a memory swap request. In the virtual machine, memory swapping is prioritized through the pre-configured memory backend corresponding data read and write semantics, which automatically triggers the semantics to complete the memory backend read and write;

[0047] viii) Multiple applications generate page fault interrupts at the same time, resulting in memory swapping. Since VM 1 uses the SSD backend to complete the memory swap, VM 2 uses the DRAM backend to complete the memory swap, and VM 3 uses the RDMA backend to complete the memory swap, the three types of memory swapping are isolated from each other and executed in parallel;

[0048] ix) Each application continuously triggers memory swapping, completes execution in limited local memory, and returns the execution result.

[0049] After specific actual experiments, remote DRAM connected by RDMA is used as a remote memory medium, local DRAM connected by PCIe is used as a local memory medium, and local SSD connected by PCIe is used as a local memory exchange medium. This embodiment uses two Intel (R) Xeon (R) Gold 6148 CPUs equipped with 2 20 cores, 256GB memory, 2TB hard disk and a dual-channel Mellanox ConnectX-5RDMA network card. One of the servers is used as a computing node, and the other is used as an RDMA-connected DRAM remote memory access node. The computing node contains two memory media, solid-state hard disk and DRAM. The far memory node contains DRAM memory medium. Both the computing node and the far memory node contain an RDMA network card, and the two are connected via an RDMA network cable. This embodiment runs multiple virtual machines on 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 the present invention, and the corresponding far memory backend is deployed according to task requirements. In this embodiment, three basic virtual machines are pre-built in the computing node: virtual machine 1, virtual machine 2 and virtual machine 3. The hardware and virtual machine test system architecture used are as follows Figure 7 shown.

[0050] Under the above hardware environment settings, the time comparison of the far memory switching backend of this system and the comparison system was tested using three backends: DRAM, SSD, and RDMA. Figure 8 As shown. This embodiment of this work lists the detailed switching overhead of each switching condition between SSD, DRAM and RDMA. The results show that this method can support multiple far memory backends, and its backend switching time can be up to 2.6 times faster than the existing technology. Compared with the existing technology, the improvement of the backend switching performance index of this method mainly comes from the design of the multi-backend far memory switch in this method, which can support kernel modification and fast restart at the virtual machine level.

[0051] Under the above hardware environment settings, this embodiment tests the latency comparison of memory exchange between this system and the comparison system under the parameter of local memory ratio of 0.5-1, as shown in Table 1, which is a memory exchange performance comparison chart of backend selection and parameter tuning of the multi-backend far memory system of this embodiment.

[0052] Table 1 shows the results of memory swap performance acceleration improved by this system.

[0053] This embodiment measures the following actual computing tasks in the data center, including the standard benchmark linpack, conventional computing applications in stream and spark, and graph processing algorithms, such as graph traversal, page sorting, subgraph search, and artificial intelligence models ResNet, Bert, Clip, Chatglm and other open source classic model reasoning tasks. This example tests the average memory swap time of each task on different far memory backends under the parameter conditions of limiting the local memory size to 0.5 to 1, and compares the results. Under the above hardware environment settings, this embodiment further tests the task throughput comparison between this system and the comparison system under the condition of service level objective SLO (the proportion of delay allowed to increase based on the original workload delay) from 1 to 2 under the condition of different task type distributions, such as Fig. 9 As shown. After calculation, the design of this system brings up to 2.16 times speed improvement in SSD backend, 2.43 times speed improvement in DRAM backend, and 3.89 times speed improvement in RDMA backend. Compared with the prior art, this method can support the activation of higher-performance far memory backends and the configuration of higher-performance far memory parameters through the design of far memory multi-backend management control module.

[0054] Compared with existing technologies, this system allows intelligent switching and configuration of far memory backend designs, supports memory exchange with higher performance and higher data bandwidth, and can bring up to 5 times throughput improvement.

[0055] The above-mentioned specific implementation can be partially adjusted in different ways by those skilled in the art without departing from the principle and purpose of the present invention. The protection scope of the present invention shall be based on the claims and shall not be limited by the above-mentioned specific implementation. Each implementation scheme within its scope shall be subject to the constraints of the present invention.

Claims

1. A multi-backend separated memory system, characterized in that: include: An intelligent far memory multi-backend management control module and a multi-backend far memory switch, wherein: the intelligent far memory multi-backend management control module analyzes and processes the call that occurs a page error and triggers a page switch, and obtains switching instruction information and parameter control instruction information; The multi-backend far memory switch receives and executes switching instruction information and parameter control instruction information, runs applications on the separated memory architecture and the multi-backend far memory software system, and releases resources after the operation ends.

2. The multi-backend separated memory system according to claim 1, characterized in that: The intelligent far memory multi-backend management control module includes: a memory efficiency improvement (MEI) value recording unit based on far memory exchange path operation data, a switching strategy decision unit of the far memory data exchange backend, a far memory exchange path parameter control unit, and a multi-dimensional offline analysis unit for the life cycle and page (Page) access characteristics of the application, wherein: the memory efficiency improvement value recording unit records the MEI value of the application and transmits it to the switching strategy decision unit and the control unit respectively, while the memory efficiency improvement value recording unit performs a multi-dimensional offline analysis on the life cycle and page (Page) access characteristics of the application, and outputs the analysis result to the online control unit of the multi-dimensional parameters of the far memory data exchange path; The far memory exchange path operation data refers to: the number of page faults, kernel layer operation time and overall operation time data of different applications, under different far memory access paths and local memory ratio conditions; The application memory efficiency improvement value refers to: the execution performance of the application, that is, the inverse of the overall operation delay and the backend price cost. This step first requires counting the execution time of each application in the execution unit configured with different memory backends and the cost of using the corresponding memory backend, and calculating the MEI values ​​corresponding to different applications and different memory backends. Multiple sets of parameter data for multiple tasks and the corresponding MEI values ​​constitute the MEI data table.

3. The multi-backend separated memory system according to claim 1, characterized in that: The multi-backend far memory exchanger includes: a memory exchange front end supporting dynamic backend switching, a far memory back end supporting heterogeneous multi-channels, and a lightweight memory switching configuration unit based on the hot start principle, wherein: the memory exchange front end receives a backend switching instruction and connects to different memory exchange back ends; the far memory back end processes data of an RDMA-like far memory back end, a CXL-like far memory back end, and a disk-like far memory back end; the lightweight memory switching configuration unit implements specific backend switching according to the instruction information of the intelligent far memory multi-backend management and control module, and analyzes the current resource usage and task deployment of the current server based on the lightweight memory switching configuration strategy based on the hot start principle, and preferentially deploys tasks to the configured computing units; The backend switching includes switching between three backends: a PCIe-connected CXL-like far memory backend, a PCIe-connected remote node DRAM memory backend based on a remote direct data access (RDMA) network card, and a PCIe-connected disk-like far memory backend.

4. The multi-backend separated memory system according to any one of claims 1 to 3, characterized in that: The parameter control refers to adjusting the parameters of the memory exchange path of the application execution unit in the online control stage, specifically including: i) establishing a mapping relationship between the application memory access characteristics obtained above and the far memory backend selection and backend parameter adjustment content to guide the adjustment of specific parameters; ii) The load-storage ratio characteristics guide the I / O bandwidth parameter adjustment; the cold-hot data ratio characteristics guide the data distribution parameter adjustment to form a preliminary parameter adjustment plan; iii) Under the guidance of the application's memory efficiency improvement (MEI) value, the execution performance of the application running on different parameters and its local memory usage are collected, and then the parameters corresponding to the optimal MEI value are selected to form the final far memory parameter adjustment plan.

5. The multi-backend separated memory system according to claim 2, characterized in that: The switching strategy decision of the far memory data exchange backend 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 MEI value data analysis, sorting different far memory backends according to the MEI value, and adding them to the priority queue selected by the backend; and comparing the current available remaining resources, placing the unavailable backend at the end of the priority queue, building a corresponding relationship table between data distribution and backend preference, and extracting the memory access characteristics of the application life cycle to guide the data exchange configuration of different backends.

6. The multi-backend separated memory system according to claim 2, characterized in that: The multi-dimensional offline analysis refers to: collecting application page information offline and obtaining application memory access features through calculation and analysis, specifically: in the offline collection stage, when the application is executed in the computing unit, obtaining access information of all memory pages of the application during execution, including page ID, timestamp, page type, page operation, and recording them as a list, calculating and extracting page access features according to the list, performing feature fusion, and using the ratio of the number of pages with non-continuous addresses to the number of all pages as the data fragmentation ratio feature of the application; Use the page load operation L and the store operation S divided by the total number of page operations as the load-store ratio feature; The number of pages whose page access times are greater than the threshold divided by the total number of pages is used as the hot and cold data ratio feature.

7. The multi-backend separated memory system according to claim 3, characterized in that: The memory exchange front end maps the back end of the far memory exchange module to the data unloading and data acquisition interface of different back ends by modifying the data unloading and data acquisition interface in the unloading and recycling of the memory error page; by calling the data unloading modules and interfaces corresponding to different far memory back ends, the front end can call the actual far memory access, thereby calling the heterogeneous far memory back end that is ready; Multiple far memory backends are built on storage media and data transmission media for CXL-like far memory backends, remote node DRAM memory backends based on RDMA network cards, and disk-like far memory backends. They use their hardware drivers, driver call semantics, memory exchange semantics, and data transmission methods supported by the programming framework, respectively, to define the implementation of memory exchange on a specific backend, so that when the operating system exchanges data, it gives priority to using a predefined specific backend to store unloaded memory page data, and implements different memory access paths for different operating system kernels. It allows multiple virtual machines to be deployed on a server and operating systems with different far memory backends to be deployed, realizing parallel multi-heterogeneous far memory access paths at the whole machine level. The memory backend module can use the hardware driver to call the memory storage medium and transmission medium, and provide an interface for calling the memory medium for the upper layer. The memory exchange semantics uses the memory medium call interface to complete the data exchange between the local memory and the memory backend.

8. The multi-backend separated memory system according to claim 3, characterized in that: The RDMA-like far memory backend refers to: using SR-IOV (single root I / O virtualization) technology to create multiple VFs (virtualization functions) for the RDMA network card connected through PCIe to provide network card virtualization for virtual machines to use, so that the virtual machine can transmit data with the host through the VF and then connect to the RDMA network, and then connect to the remote memory space as the far memory space for data exchange; The RDMA far memory node pre-allocates a piece of free memory for memory services; when the RDMA network card receives a memory request from a computing node, it uses the DRAM memory of the far memory node to cache data; The CXL-like far memory backend refers to: a PCIe-connected DRAM memory device backend that supports the CXL (Computer Express Link) high-speed interconnect protocol, and allocates swap space for it on the CXL memory device by calling the NUMA control tool; The disk-type far memory backend refers to: a far memory backend of a storage device connected by supporting PCIe or NVMe or other I / O interfaces, which is used as a far memory space for unloading memory data by setting a swap file on the storage space.

9. The multi-backend separated memory system according to claim 3, characterized in that: The memory switching configuration means that when the application has specified the corresponding far memory backend, first query the best memory swap backend, then query whether there is an execution unit of the corresponding backend, and if so, directly allocate the application to the corresponding execution unit, otherwise first allocate it to an idle execution unit, then switch the backend of the execution unit, and finally adjust the parameters of the far memory path.

Citation Information

Cited By

  • Virtual disk remote access method and device, computer equipment, readable storage medium and program product

    CN121334247A

  • Virtual machine memory adjustment method and device, computer equipment, storage medium and computer program product

    CN122019060A

  • Multi-backend disaggregated memory system and optimization control method therefor

    WO2026081968A1