Acceleration processing method, management node, storage medium and computer program product
By monitoring the processing time of DVM requests and accelerating processing when timeouts occur, the problem of DVM request backlog in multi-core systems is solved, improving system performance and consistency maintenance efficiency, and achieving faster response speed and higher throughput.
Patent Information
- Application Number
- CN202610031843.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-12
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2046-01-12
AI Technical Summary
In a multi-core concurrent execution environment, DVM requests accumulate at the DVM management node, causing request timeouts and core blocking, which affects system performance and responsiveness. Existing technologies lack effective monitoring and acceleration mechanisms.
By monitoring the processing time of DVM requests and accelerating processing when timeouts occur, including software and hardware acceleration solutions, the scheduling and broadcasting mechanisms of DVM requests are optimized. Synchronization suppression mechanisms and TLPDPVM transmission mechanisms are adopted to reduce the number of broadcasts and latency.
It effectively alleviates request backlog, reduces the risk of kernel blocking and request timeout, improves overall system performance and address consistency maintenance efficiency, and enhances system response speed and throughput.
Smart Images

Figure CN121541978A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of virtual memory management, and in particular, to a method for accelerating processing of distributed virtual memory requests, a distributed virtual memory management node, a computer readable storage medium, and a computer program product. BACKGROUND
[0002] Currently, distributed virtual memory (DVM) requests are widely used in various virtual memory management scenarios in multi-core systems. In these application scenarios, the DVM requests are usually broadcast to multiple related nodes in the system to ensure that each core has a consistent view of the virtual address space, thereby maintaining the correctness and consistency of the system.
[0003] To ensure system stability and resource controllability, existing mechanisms usually limit the maximum outstanding count of DVM broadcasts. When the number of DVM broadcasts that have been sent but not completed reaches the upper limit, the system needs to wait for at least one broadcast to be completed before sending a new DVM broadcast. For synchronous type DVM requests, to prevent request overlap and ensure sequential execution, the system usually requires that the maximum outstanding count be 1. However, in a multi-core concurrent execution environment, multiple processor cores may send requests to the DVM management node at the same time, causing the requests to accumulate at the management node and not be processed in a timely manner. This request backlog may cause the requesting core to be blocked, or even trigger a request timeout, seriously affecting system performance and response capability. However, related technologies lack effective monitoring and acceleration processing mechanisms for the queue state of DVM requests. SUMMARY
[0004] Embodiments of the present application provide a method for accelerating processing of DVM requests, a DVM management node, a computer readable storage medium, and a computer program product, which at least solve the above problems in related technologies.
[0005] Embodiments of the present application provide a method for accelerating processing of DVM requests, applied to a DVM management node, the method comprising: receiving and storing a DVM request sent by a first request node; monitoring the processing duration of the DVM request; and in response to the processing duration of the DVM request exceeding a duration threshold, accelerating processing of the DVM request.
[0006] Embodiments of the present application also provide a DVM management node comprising a processor and a memory, the memory storing a computer program; the processor implements the method for accelerating processing of DVM requests according to embodiments of the present application when executing the computer program.
[0007] The embodiment of the present application further provides a computer readable storage medium, which has a computer program stored thereon, and the computer program is executed by a processor to enable the processor to implement the method for accelerating processing of a DVM request according to the embodiment of the present application.
[0008] The embodiment of the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to enable the processor to implement the method for accelerating processing of a DVM request according to the embodiment of the present application.
[0009] According to the technical solution of the embodiment of the present application, by monitoring the processing time length of the DVM request and accelerating processing of the DVM request in response to the processing time length of the DVM request exceeding the time length threshold, the scheduling and broadcasting mechanism of the DVM request can be optimized, the request accumulation can be effectively alleviated, the risk of core blocking and request timeout can be reduced, and thus the overall system performance and address consistency maintenance efficiency are improved. BRIEF DESCRIPTION OF DRAWINGS
[0010] The accompanying drawings are included to provide a further understanding of the embodiments of the present application, and constitute a part of the specification, which are used to explain the present application together with the embodiments of the present application, and do not constitute a limitation of the present application. The above and other features and advantages will become more apparent from the detailed description of the specific example embodiments with reference to the accompanying drawings, in which: Figure 1 A schematic diagram of various protocol nodes connected through an interconnect in a coherence bus interface architecture is shown; Figure 2 An application scenario of the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 3 A flowchart of the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 4 A flowchart of a software acceleration scheme of the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 5 A detailed flowchart of the steps in the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 6 A flowchart of a hardware acceleration scheme of the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 7 A flowchart of a synchronization suppression mechanism of the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 8 An application example of the synchronization suppression mechanism of the method for accelerating processing of a DVM request according to the embodiment of the present application is shown; Figure 9 A diagram illustrating sending SnpDVMOp broadcast in the related art is shown. Figure 10 A diagram illustrating sending SnpDVMOp broadcast according to embodiments of the present application is shown. DETAILED DESCRIPTION
[0011] For those skilled in the art to better understand the technical solutions of the present application, the method for accelerating processing of DVM requests of the present application is described in detail below in combination with the drawings.
[0012] In the following, example embodiments will be described more fully with reference to the accompanying drawings, in which example embodiments can be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided as a full and enabling disclosure of the application, and to fully convey the scope of the application to the skilled person.
[0013] In the case of no conflict, each embodiment of the present application and each feature in the embodiments can be combined with each other.
[0014] As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0015] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0016] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present application, and will not be interpreted in an overly literal or overly formal sense unless expressly so defined herein.
[0017] DVM requests are widely used in various virtual memory management scenarios in multi-core systems, including Context Switch, Virtual Machine Switch, Page Table Update, Virtual Address Translation Request, Translation Lookaside Buffer (TLB) Shootdown, Graphics Processing Unit (GPU) and Central Processing Unit (CPU) Unified Memory, Page Migration, and virtual address cache coherence management.
[0018] To ensure system stability and resource controllability, existing mechanisms usually limit the maximum number of outstanding DVM broadcasts. When the number of DVM broadcasts that have been issued but not completed reaches the upper limit, the system needs to wait for at least one broadcast to be completed before sending new DVM broadcasts. For Sync type DVM requests, to prevent request overlap and ensure sequential execution, the system usually requires that the maximum number of outstanding requests must be 1. However, in a multi-core concurrent execution environment, multiple processor cores may send requests to the DVM management node at the same time, causing requests to accumulate at the management node and unable to be processed in a timely manner. This request backlog may cause the core that initiated the request to be blocked, or even trigger a request timeout, seriously affecting system performance and response capability. However, related technologies lack effective monitoring and acceleration mechanisms for the queue state of DVM requests.
[0019] To facilitate understanding of the solutions of the present application, a brief introduction to the Coherent Hub Interface (CHI) architecture is provided below.
[0020] Figure 1 A schematic diagram of various protocol nodes connected by interconnection in the CHI architecture is shown.
[0021] Referring to Figure 1 A complete CHI network includes three main parts: Request Node (RN), Interconnect (ICN), and Subordinate Node (SN).
[0022] RN generates protocol transactions (Transactions) to the ICN, including read and write operations. A transaction performs a single operation, typically either a read from or a write to memory.
[0023] The ICN is a CHI transport mechanism for communication between protocol nodes. The ICN can include a Switch fabric connected in a ring, mesh, crossbar, or other topology. The ICN can include protocol nodes, such as Home Nodes (HNs) and Miscellaneous Nodes (MNs).
[0024] The HN is a node located in the ICN that receives protocol transactions from the RN, performs the required coherency actions, and returns a response.
[0025] The MN is a node located in the ICN that receives DVM messages from the RN, performs the required actions, and returns a response.
[0026] The SN is a node that receives requests from the HN, performs the required actions, and returns a response.
[0027] The RNs can be further classified as: Fully Coherent Request Nodes (RN-F), IO Coherent Request Nodes with DVM support (RN-D), and IO Coherent Request Nodes (RN-I).
[0028] The RN-F contains a hardware coherent cache, allowing it to generate all transactions defined by the protocol, supporting all snoop transactions. The RN-D does not contain a hardware coherent cache, can receive DVM transactions, and can generate a subset of the transactions defined by the protocol. The RN-I does not contain a hardware coherent cache, does not receive DVM transactions, can generate a subset of the transactions defined by the protocol, and does not require snoop functionality.
[0029] The HNs can be further classified as: Fully coherent Home Nodes (HN-F) and Non-coherent Home Nodes (HN-I).
[0030] HN-F is expected to receive all operation requests except DVM operations (DVMOp), including the Point of Coherence (PoC) that manages consistency by snooping the required RN-F, merging the snoop responses, and sending a single response to the requesting request node. HN-F is expected to be the Point of Serialization (PoS) that manages the order of multiple memory requests. HN-F can contain a directory or snoop filtering to reduce redundant snoop.
[0031] HN-I handles a limited subset of request types defined by the protocol, does not include PoC, and cannot handle snoopable requests. When receiving a snoopable request, HN-I must respond with a message that meets the protocol requirements. HN-I is expected to be the PoS that manages the order between IO requests to the IO subsystem.
[0032] SNs can be further classified as: SN-F and SN-I.
[0033] SN-F is a slave node type for normal memory, which can handle non-snoopable read, write, and atomic requests, including variants of these requests, and Cache Maintenance Operation (CMO) requests.
[0034] SN-I is a slave node type for peripherals or normal memory, which can handle non-snoopable read, write, and atomic requests, including variants of these requests, and CMOs.
[0035] A DVM Node (DN) has been defined in the related art, which is responsible for propagating local DVM transactions to remote chips and handling DVM operations with remote chips.
[0036] Figure 2 An application scenario of a method for accelerating processing of DVM requests according to an embodiment of the present application is shown.
[0037] As shown in Figure 2 , multiple RN-Fs send DVM requests to the DN, and the DN needs to process multiple DVM requests, which may cause request timeout. Therefore, an acceleration processing mechanism according to an embodiment of the present application is set up inside the DN.
[0038] To achieve acceleration processing of DVM requests, an embodiment of the present application proposes a method for accelerating processing of DVM requests, which effectively improves DVM request processing efficiency, reduces system delay, and enhances the throughput capacity of a multi-core system.
[0039] Figure 3 A flowchart of a method for accelerating the processing of DVM requests according to an embodiment of this application is shown.
[0040] like Figure 3 As shown, the method for accelerating the processing of DVM requests according to an embodiment of this application includes the following steps S110 to S130.
[0041] In step S110, the DVM request sent by the first RN is received and stored.
[0042] In step S120, the processing time of the DVM request is monitored.
[0043] In step S130, in response to the processing time of the DVM request exceeding the time threshold, the DVM request is accelerated.
[0044] According to an embodiment of this application, a duration threshold can be determined based on the maximum waiting time for transaction processing and the average transaction processing time of the first RN.
[0045] To accelerate the processing of DVM requests, this application proposes two acceleration schemes: a software acceleration scheme and a hardware acceleration scheme.
[0046] Figure 4 A flowchart illustrating a software acceleration scheme for accelerating the processing of DVM requests according to an embodiment of this application is shown.
[0047] According to embodiments of this application, such as Figure 4 As shown, in response to the processing time of a DVM request exceeding a time threshold, the DVM request is accelerated (i.e., step S130) including the following steps S1301 to S1305.
[0048] In step S1301, in response to the processing time of the DVM request exceeding the time threshold, an interrupt is reported to the system software, and the identifier of the DVM request is stored in the first register of DN.
[0049] According to an embodiment of this application, after receiving a DVM request, the information of the received DVM request can be stored as a record entry in the memory inside the DN, and a unique identifier (entryid) can be assigned to the received DVM request to track the status of the DVM request throughout the entire processing flow. The entryid of the DVM request can be used to index and identify the entry that stores the DVM request.
[0050] According to embodiments of this application, a tracker can count the entries storing DVM requests to determine whether the count value exceeds a duration threshold. The tracker tracks and manages the entire lifecycle of a DVM request, including request initiation, broadcasting, response collection, and final completion. Each tracker corresponds to one DVM request. If the processing time of the DVM request corresponding to a tracker exceeds the duration threshold, an interrupt is reported, and the entryid of the timed-out entry is stored in the first register of the DN. In response to the interrupt, the system software can read the entryid of the timed-out entry from the first register of the DN.
[0051] In step S1302, in response to an interrupt, the system software reads the DVM request information based on the identifier of the DVM request in the first register.
[0052] According to embodiments of this application, the system software can configure the entryid of the timed-out entry and enable entry fetching to store the information of the timed-out entry (i.e., the information of the stored DVM request) in the register of the DN. Subsequently, the system software can obtain information about DVM requests whose processing time exceeds the time threshold by reading the register.
[0053] In step S1303, the system software determines whether to accelerate the processing of the DVM request based on the information of the DVM request.
[0054] The system software can determine whether to accelerate DVM requests that have timed out (i.e., whose processing time exceeds a time threshold) based on various algorithms and / or multiple determination methods, and this application does not limit this. By providing interrupts to the system software, the system software can respond to interrupts to determine whether to accelerate DVM requests, thereby improving the system's flexibility.
[0055] In step S1304, in response to the system software determining to accelerate the processing of the DVM request, the system software stores the identifier of the DVM request in the second register of DN and sets acceleration enable.
[0056] According to an embodiment of this application, if there are multiple timeout entries that need to be accelerated, the entryid of the multiple entries that need to be accelerated can be set in the second register.
[0057] In step S1305, in response to acceleration enable, the DVM request is accelerated.
[0058] By setting registers and enabling acceleration, the system software notifies the DN of the entry ID of the DVM request that needs to be accelerated. The DN responds to the acceleration enable signal by accelerating the DVM request corresponding to the entry ID that needs acceleration.
[0059] According to embodiments of this application, accelerating DVM requests includes increasing the priority of DVM requests. When accelerating timed-out entries, their priority can be set to the highest priority, and other DVM requests can be paused. Once the accelerated processing of timed-out entries is complete, non-timed-out entries can then be processed.
[0060] When a DVM request is not processed within a specified time, a timeout interrupt is reported. Upon receiving the interrupt, the system software reads the detailed information of the timed-out DVM request and determines whether accelerated processing is needed. If acceleration is required, the system software can trigger the acceleration process by configuring relevant registers. The software acceleration scheme for accelerating DVM request processing according to the embodiments of this application is highly flexible, reusable, supports dynamic adjustment, and is easy to debug and optimize.
[0061] According to embodiments of this application, such as Figure 5 As shown, in response to acceleration enable, the accelerated processing of DVM requests (i.e., step S1305) includes the following steps S13051 to S13055.
[0062] In step S13051, the identifier of the DVM request to be accelerated is read from the second register.
[0063] In step S13052, it is determined whether the mode of the DVM request corresponding to the read identifier is a synchronous request.
[0064] In step S13053, in response to the DVM request being a synchronous request, it is determined whether there are any unprocessed asynchronous requests from the same RN.
[0065] In step S13054, in response to the existence of an unprocessed asynchronous request from the same RN, the read identifier is stored in the third register of the DN, and after the asynchronous request from the same RN is completed, the DVM request is accelerated.
[0066] In step S13055, in response to the absence of any unprocessed asynchronous requests from the same RN, the DVM request corresponding to the read identifier is accelerated.
[0067] According to an embodiment of this application, when there are unprocessed non-synchronous (NonSync) requests from the same RN, the entry that stores a DVM request with a synchronous (Sync) mode can be identified as a hazard entry. In order to maintain the order of memory access, the non-synchronous requests need to be completed first, and then the synchronous requests that need to be accelerated are accelerated.
[0068] Figure 6 A flowchart illustrating a hardware acceleration scheme for a method of accelerating the processing of DVM requests according to an embodiment of this application is shown.
[0069] According to embodiments of this application, such as Figure 6 As shown, in response to the processing time of a DVM request exceeding a time threshold, the DVM request is accelerated (i.e., step S130) including the following steps S1311 to S1314.
[0070] In step S1311, in response to the processing time of the DVM request exceeding the time threshold, it is determined whether the mode of the DVM request is a synchronous request.
[0071] In step S1312, in response to the DVM request being a synchronous request, it is determined whether there are any unprocessed asynchronous requests from the same RN.
[0072] In step S1313, in response to the existence of an unprocessed asynchronous request from the same RN, the identifier of the DVM request is stored in the fourth register of the DN, and after the asynchronous request from the same RN is processed, the DVM request is accelerated.
[0073] In step S1314, in response to the absence of any unprocessed asynchronous requests from the same RN, the DVM request is accelerated.
[0074] According to the hardware acceleration scheme of this application embodiment, after configuring a duration threshold, the processing time of each DVM request is monitored. When it is determined that the processing time of a DVM request exceeds the duration threshold, the DVM request can be directly accelerated without the intervention of system software. The hardware acceleration scheme for accelerating DVM request processing according to the method of this application embodiment has high performance, low latency, and is suitable for high-concurrency scenarios. In addition, during acceleration processing, it is also necessary to determine whether the timeout entry is a contention entry. If it is a contention entry, asynchronous requests from the same RN need to be processed first, and then the synchronous requests that need to be accelerated are accelerated.
[0075] The method for accelerating the processing of DVM requests according to embodiments of this application further includes: broadcasting the DVM request to a remote node.
[0076] To optimize the broadcasting behavior of synchronization requests when broadcasting DVM requests to remote nodes, embodiments of this application propose a synchronization suppression mechanism.
[0077] Figure 7 A flowchart of a synchronization suppression mechanism for a method to accelerate the processing of DVM requests according to an embodiment of this application is shown.
[0078] According to embodiments of this application, such as Figure 7 As shown, broadcasting a DVM request to a remote node includes the following steps S1401 to S1404.
[0079] In step S1401, it is determined whether the mode of the DVM request is a synchronous request.
[0080] In step S1402, in response to the DVM request being a synchronization request, it is determined whether the type of the last broadcast to the remote node was synchronization.
[0081] In step S1403, in response to the previous broadcast to the remote node being of type synchronous, the DVM request is not broadcast to the remote node.
[0082] In step S1404, in response to the fact that the type of the last broadcast to the remote node was not synchronous, the DVM request is broadcast to the remote node.
[0083] According to embodiments of this application, a DVM request is a DVM Operation (DVMOP) request. DVMOP requests include both non-synchronous and synchronous types.
[0084] like Figure 8 As shown, in the DN node of chip 0, when the synchronization suppression mechanism is in effect, the DN will not repeatedly initiate synchronization broadcast operations to the c2c module, thereby avoiding DVM broadcast transmission in paths 3, 4, and 5 and speeding up the transaction processing speed of the original request.
[0085] According to an embodiment of this application, before each synchronization broadcast is sent, it is determined whether the type of the previous broadcast was a synchronization type and whether it has already been broadcast to a remote node. If both conditions are met, the synchronization request is no longer broadcast to the remote node, thereby effectively reducing the number of broadcasts and optimizing the synchronization request broadcast.
[0086] This application also proposes a TLPDVM transmission mechanism that sends DVM broadcasts in Transaction Layer Packet (TLP) format to accelerate the processing of DVM broadcasts.
[0087] The method for accelerating the processing of DVM requests according to embodiments of this application further includes: broadcasting the DVM request to other RNs besides the first RN via a single snoop-based DVM operation (Snoop-based DVMOp, SnpDVMOp) transmission.
[0088] Figure 9 A schematic diagram of transmitting SnpDVMOp broadcasts in related technologies is shown. Figure 10 A schematic diagram of transmitting SnpDVMOp broadcasts according to an embodiment of this application is shown.
[0089] See Figure 9 In the traditional CHI protocol, the DVM management node needs to send SnpDVMOp broadcasts to the RN-F and RN-D nodes. These broadcasts are sent in two parts: SNPDVMOP_P1 and SNPDVMOP_P2. Figure 10 The TLPDPVM transport mechanism proposed according to an embodiment of this application is illustrated, such as... Figure 10 As shown, the valid information of the two parts SNPDVMOP_P1 and SNPDVMOP_P2 is merged into a TLP format data packet SNPDVMOP, and the function that originally required two broadcasts is completed in a single SnpDVMOp transmission, thus accelerating the DVM broadcast.
[0090] The method for accelerating the processing of DVM requests according to embodiments of this application optimizes the broadcast of synchronization requests through a synchronization suppression mechanism and accelerates the processing of DVM broadcasts through a TLPDVM transmission mechanism.
[0091] Based on the optimization of synchronization requests, for DVM requests of the synchronization type with a maximum number of incomplete requests of 1, if the current remote node has already initiated a synchronization broadcast, the same synchronization request will not be broadcast again. By reducing the number of broadcasts, the synchronization processing speed is improved, system latency and network bandwidth usage are reduced, and the overall throughput is increased.
[0092] Based on the TLPDVM transmission mechanism, the effective information from the two parts is merged into one packet for transmission, reducing the number of transmissions, improving broadcast efficiency, reducing network latency, accelerating DVM broadcasting, alleviating the pressure on routing nodes, and improving the overall system performance.
[0093] The method for accelerating DVM request processing in this application embodiment effectively solves the problems of request backlog, core blocking, timeout and deadlock caused by broadcast restrictions in multi-core systems by introducing a dual acceleration mechanism of software and hardware, and significantly improves the system's response speed, throughput and address consistency maintenance efficiency.
[0094] The method for accelerating DVM request processing in this application is applicable to multi-core concurrent execution environments. In such environments, multiple processor cores may simultaneously send requests to the DVM management node, causing requests to accumulate at the management node and preventing timely broadcast processing, thus leading to problems such as core blocking, timeouts, and deadlocks. By introducing software and hardware acceleration schemes, the method monitors the currently queued DVM requests and triggers accelerated processing when a request times out, effectively preventing system deadlocks, improving system processing efficiency, reducing the number of broadcasts, lowering communication latency and routing node pressure, and further enhancing the overall system performance and stability.
[0095] According to the software acceleration solution, by monitoring the DVM requests currently in the queue, timely acceleration processing can be implemented after a request times out, effectively preventing node blocking caused by address consistency maintenance delays. By increasing the priority of DVM requests and optimizing the queue scheduling strategy, broadcast latency is significantly reduced, response speed is accelerated, and the queuing time for DVM requests is reduced, thereby improving the overall concurrent processing capacity of the system.
[0096] According to the hardware acceleration scheme, timeout entries can be prioritized, and accelerated processing of timeout transactions can resolve kernel deadlock issues caused by timeouts. Furthermore, the synchronization suppression mechanism can reduce the number of synchronization broadcast triggers, effectively reducing system latency and bandwidth consumption of the consistency network. In the TLPDVM transmission mechanism, the two parts of SnpDVMOp are merged into a single transmission, reducing the number of data packet transmissions, thereby reducing communication latency and improving transmission efficiency.
[0097] Embodiments of this application also provide a DVM management node, which includes a processor and a memory, the memory storing a computer program; when the processor executes the computer program, it implements a method for accelerating the processing of DVM requests according to various embodiments of this application.
[0098] Embodiments of this application also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, causes the processor to implement a method for accelerating the processing of DVM requests according to various embodiments of this application.
[0099] Embodiments of this application also provide a computer program product comprising a computer program that, when executed by a processor, causes the processor to implement a method for accelerating the processing of DVM requests according to embodiments of this application.
[0100] It should be understood that the DVM management node, computer-readable storage medium, and computer program product according to the embodiments of this application are all used to implement the methods according to the embodiments of this application. Therefore, detailed descriptions of the above-described method embodiments will not be repeated here.
[0101] Those skilled in the art will understand that all or some of the functional modules / units in the steps, systems, and devices disclosed above can be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0102] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components. For example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.
[0103] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage; read-only optical disc (CD-ROM), digital versatile disc (DVD) or other optical disc storage; magnetic cartridges, magnetic tapes, disk storage or other magnetic storage; and any other media that can be used to store desired information and can be accessed by a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0104] This application has disclosed exemplary embodiments, and although specific terminology has been used, it is used and should be interpreted only in a general illustrative sense and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this application as set forth by the appended claims.
Claims
1. A method for accelerating the processing of distributed virtual memory (DVM) requests, applied to a DVM management node (DN), characterized in that, The method includes: Receive and store the DVM request sent by the first requesting node (RN); Monitor the processing time of the DVM request; If the processing time of the DVM request exceeds a time threshold, the DVM request is accelerated.
2. The method according to claim 1, characterized in that, The duration threshold is determined based on the maximum waiting time for transaction processing and the average transaction processing time of the first RN.
3. The method according to claim 1, characterized in that, In response to the processing time of the DVM request exceeding a time threshold, accelerating the processing of the DVM request includes: If the processing time of the DVM request exceeds the time threshold, an interrupt is reported to the system software, and the identifier of the DVM request is stored in the first register of the DN. In response to the interrupt, the system software reads the information of the DVM request based on the identifier of the DVM request in the first register; The system software determines whether to accelerate the processing of the DVM request based on the information in the DVM request. In response to the system software determining to accelerate the DVM request, the system software stores the identifier of the DVM request in the second register of the DN and sets acceleration to enabled; In response to the acceleration enable, the DVM request is processed with acceleration.
4. The method according to claim 3, characterized in that, In response to the acceleration enable, accelerating the DVM request includes: Read the identifier of the DVM request to be accelerated from the second register; Determine whether the mode of the DVM request corresponding to the read identifier is a synchronous request; If the DVM request is in the mode of a synchronous request, determine whether there are any unprocessed asynchronous requests from the same RN. In response to the existence of an unprocessed asynchronous request from the same RN, the read identifier is stored in the third register of the DN, and the DVM request is accelerated after the asynchronous request from the same RN has been processed. In response to the absence of any unprocessed asynchronous requests from the same RN, the DVM request corresponding to the read identifier is accelerated.
5. The method according to claim 1, characterized in that, In response to the processing time of the DVM request exceeding a time threshold, accelerating the processing of the DVM request includes: Determine whether the DVM request is a synchronous request; If the DVM request is in the mode of a synchronous request, determine whether there are any unprocessed asynchronous requests from the same RN. In response to the existence of an unprocessed asynchronous request from the same RN, the identifier of the DVM request is stored in the fourth register of the DN, and the DVM request is accelerated after the asynchronous request from the same RN is completed. In response to the absence of any unprocessed asynchronous requests from the same RN, the DVM request is accelerated.
6. The method according to any one of claims 1 to 5, characterized in that, Accelerating the processing of the DVM request includes: Increase the priority of the DVM request.
7. The method according to claim 1, characterized in that, The method further includes: Broadcast the DVM request to the remote node.
8. The method according to claim 7, characterized in that, Broadcasting the DVM request to a remote node includes: Determine whether the DVM request is a synchronous request; In response to the DVM request being a synchronous request, determine whether the type of the last broadcast to the remote node was synchronous. In response to the previous broadcast to the remote node being of type synchronous, the DVM request is not broadcast to the remote node; In response to the fact that the type of the last broadcast to the remote node was not synchronous, the DVM request is broadcast to the remote node.
9. The method according to claim 1, characterized in that, The DVM request is a DVM operation DVMOp request.
10. The method according to claim 1, characterized in that, The method further includes: The DVM request is broadcast to all RNs except the first RN via a single snoop-based DVM operation SnpDVMOp transmission.
11. A distributed virtual memory (DVM) management node (DN), characterized in that, The DN includes a processor and a memory. The memory stores computer programs; When the processor executes the computer program, it implements the method according to any one of claims 1 to 10.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 10.
13. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Distributed virtual memory management for data processing networks
CN115129241A
Virtualization system and memory consistency maintenance method in virtualization system
CN116830093A
Processing method, processor, electronic equipment and computer readable storage medium
CN118363768A
Method and device for processing virtual IO request, electronic equipment and storage medium
CN118779062A
Cache consistency system, method and device, electronic device and storage medium
CN120179161A