Data transmission system and method
By setting up computing sub-clusters and consistency maintenance devices in multiple heterogeneous clusters and using a dual-directory design to determine the data transmission location, the problem of high communication overhead in heterogeneous clusters is solved, and efficient data transmission and consistency maintenance are achieved.
Patent Information
- Application Number
- CN202511179822.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2045-08-22
AI Technical Summary
In multi-heterogeneous clusters, data sharing and consistency maintenance between computing units result in significant communication overhead.
A data transmission system is adopted, which sets up multiple heterogeneous clusters. Each heterogeneous cluster contains computing sub-clusters with different computing types and consistency maintenance devices. The target consistency maintenance device with dual-directory design obtains cache line information, determines the data transmission location, and directly executes data access operations, reducing unnecessary communication.
It improves data processing capabilities, reduces communication overhead, increases task processing efficiency and data retrieval efficiency, and ensures data consistency.
Smart Images

Figure CN120723314B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to data transmission systems and methods. Background Technology
[0002] In the field of computer technology, with the continuous growth of computing demands, multi-heterogeneous clusters have become an important development direction for modern computing architectures. However, as the number of computing units increases, the communication overhead caused by data sharing and consistency maintenance between computing units becomes significant. Summary of the Invention
[0003] This application provides a data transmission system and method to address the problem of high communication overhead in multi-heterogeneous clusters.
[0004] This application provides a data transmission system, which includes multiple heterogeneous clusters. The heterogeneous clusters include a consistency maintenance device and multiple computing sub-clusters with different computing types. The computing sub-clusters include multiple computing units and multi-level caches.
[0005] The target computing unit is used to obtain access requests; when the access request is a read request and it is determined that there is no target data corresponding to the read request in the target multi-level cache included in the target computing sub-cluster, or when the access request is a write request, it sends an access request to the target consistency maintenance device in the target heterogeneous cluster to which it belongs. The target computing unit is any computing unit in the target computing sub-cluster, and the target computing sub-cluster is any heterogeneous cluster in the target heterogeneous cluster.
[0006] The target consistency maintenance device is used to obtain a first directory and a second directory after receiving an access request. The first directory is used to store cache line information of the multi-level caches included in all computing sub-clusters in the target heterogeneous cluster, and the second directory is used to store cache line information of the last-level cache included in the target consistency maintenance device. Based on the access request, the cache line information in the first directory, and the cache line information in the second directory, the device performs data transmission operations to complete the access operation corresponding to the access request.
[0007] This application also provides a data transmission method, which is applied to the above-mentioned data transmission system. The data transmission system includes multiple heterogeneous clusters, and the heterogeneous clusters include a consistency maintenance device and multiple computing sub-clusters with different computing types. The computing sub-clusters include multiple computing units and multi-level caches.
[0008] The data transmission method includes:
[0009] The target computing unit obtains an access request; if the access request is a read request and it is determined that there is no target data corresponding to the read request in the target multi-level cache included in the target computing sub-cluster, or if the access request is a write request, it sends an access request to the target consistency maintenance device in the target heterogeneous cluster to which it belongs. Here, the target computing unit is any computing unit in the target computing sub-cluster, and the target computing sub-cluster is any heterogeneous cluster in the target heterogeneous cluster.
[0010] When the target consistency maintenance device receives an access request, it obtains a first directory and a second directory. The first directory is used to store cache line information of the multi-level caches included in all computing sub-clusters in the target heterogeneous cluster, and the second directory is used to store cache line information of the last-level cache included in the target consistency maintenance device. Based on the access request, the cache line information in the first directory, and the cache line information in the second directory, it performs data transmission operations to complete the access operation corresponding to the access request.
[0011] This application utilizes multiple heterogeneous clusters within a data transmission system to significantly enhance its data processing capabilities. Within these heterogeneous clusters, computing sub-clusters of different computational types and consistency maintenance devices are configured. These sub-clusters can each execute tasks they excel at, collaborating to improve task processing efficiency. Each computing sub-cluster includes computing units and multi-level caches. Computing units can directly access the multi-level caches, improving data read efficiency. Upon receiving an access request, if the request is a read request and the target multi-level cache does not contain the corresponding cached data, the target computing unit can send an access request to the target consistency maintenance device. Similarly, if the access request is a write request, it can also be sent to the target consistency maintenance device to ensure data consistency. When the target consistency maintenance device receives an access request, it can first obtain a first directory containing cache line information for the multi-level caches of all computing sub-clusters in the target heterogeneous cluster, and a second directory containing cache line information for the last level cache. By using the access request, the cache line information in the first directory, and the cache line information in the second directory, the actual location to be accessed can be determined, and data transmission operations can be performed to complete the access operation. This eliminates the need for the target computing unit to sequentially access other computing sub-clusters and other heterogeneous clusters in the target heterogeneous cluster before data access can be completed, significantly reducing communication overhead. Attached Figure Description
[0012] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This application provides a schematic diagram of the architecture of a data transmission system according to an embodiment of the present application.
[0014] Figure 2 A schematic diagram of the architecture of a target heterogeneous cluster provided in an embodiment of this application;
[0015] Figure 3 A schematic diagram of the architecture of a target computing sub-cluster provided in an embodiment of this application;
[0016] Figure 4 A schematic diagram of the architecture of a target consistency maintenance device provided in an embodiment of this application;
[0017] Figure 5 A schematic diagram of another target heterogeneous cluster architecture provided for an embodiment of this application;
[0018] Figure 6 A schematic flowchart of a read operation provided in an embodiment of this application;
[0019] Figure 7 A flowchart illustrating a write operation provided in an embodiment of this application;
[0020] Figure 8 A schematic diagram of another target computing sub-cluster architecture provided for an embodiment of this application;
[0021] Figure 9 A schematic diagram of a process for checking a target multi-level cache is provided for an embodiment of this application;
[0022] Figure 10 A schematic diagram of another target computing sub-cluster architecture provided in an embodiment of this application;
[0023] Figure 11 A schematic diagram of another target computing sub-cluster architecture provided in an embodiment of this application;
[0024] Figure 12 A schematic diagram of another target heterogeneous cluster architecture provided for an embodiment of this application;
[0025] Figure 13 A flowchart illustrating another read operation provided in an embodiment of this application;
[0026] Figure 14A flowchart illustrating another write operation provided in an embodiment of this application;
[0027] Figure 15 This is a flowchart illustrating a data transmission method provided in an embodiment of this application. Detailed Implementation
[0028] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0029] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0030] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0031] This application provides a data transmission system, such as Figure 1 As shown, the data transmission system may include multiple heterogeneous clusters (e.g., Figure 1 The diagram illustrates four heterogeneous clusters, which can communicate with each other via crossbar switches. Each heterogeneous cluster can include multiple computing sub-clusters of different computing types and a consistency maintenance device. Each computing sub-cluster can further include multiple computing units and multi-level caches. The consistency maintenance device can include the last-level cache and two random access memories.
[0032] like Figure 2 As shown, the target heterogeneous cluster may include multiple computing sub-clusters of different computing types (including the target computing sub-cluster 10) and a target consistency maintenance device 20. Figure 3 As shown, the target computing sub-cluster may include multiple computing units (including target computing unit 101) and target multi-level cache 102.
[0033] The target computing unit 101 can be used to obtain access requests. If the access request is a read request and it is determined that there is no target data corresponding to the read request in the target multi-level cache 102 included in the target computing sub-cluster 10, or if the access request is a write request, the access request is sent to the target consistency maintenance device 20 in the target heterogeneous cluster to which it belongs.
[0034] The target consistency maintenance device 20 can be used to obtain a first directory and a second directory upon receiving an access request. Based on the access request, cached line information in the first directory, and cached line information in the second directory, it determines the target location. Based on the access request, cached line information in the first directory, and cached line information in the second directory, it performs data transmission operations to complete the access operation corresponding to the access request.
[0035] Wherein, target computing unit 101 is any computing unit in target computing sub-cluster 10, and target computing sub-cluster 10 is any heterogeneous cluster in target heterogeneous cluster. The cache line information in the first directory is the cache line information of the multi-level caches included in all computing sub-clusters in the target heterogeneous cluster, and the cache line information in the second directory is the cache line information of the last-level cache 201 included in the target consistency maintenance device 20.
[0036] Specifically, when the target computing unit 101 receives an access request, it can first extract the operation type and the address information corresponding to the operation type from the access request (when the operation type is a write operation, the write data can also be extracted from it). When the access request is determined to be a read request based on the operation type in the access request, it can check whether there is cached data corresponding to the address information in the target multi-level cache 102 included in the target computing sub-cluster 10. If so, the cached data can be read directly. If not, it means that the data to be read is not in the target multi-level cache 102. At this time, an access request can be sent to the target consistency maintenance device 20 to instruct the target consistency maintenance device 20 to query the cached data corresponding to the address information.
[0037] To ensure data consistency, when writing data, it is necessary to ensure that the cached copies of other computing units are invalidated. Therefore, when the access request is determined to be a write request based on the operation type in the access request, the local cache can be modified first, and the target consistency maintenance device 20 can be given priority to perform consistency management. Accordingly, the target computing unit 101 can directly send an access request (which may include operation type, address information, and write data) to the target consistency maintenance device 20.
[0038] The target consistency maintenance device 20 can store a first directory and a second directory. Upon receiving an access request, the target consistency maintenance device 20 directly reads the first and second directories. Since the first directory records cache line information for all multi-level caches in all computing sub-clusters within the target heterogeneous cluster, and the second directory records cache line information for the last-level cache 201 included in the target consistency maintenance device 20, the cache line information can be used to indicate whether cached data corresponding to the address information exists. Therefore, by using the access request and the cache line information included in the first and second directories respectively, it can be determined whether the cached data corresponding to the address information is in the target heterogeneous cluster, in the last-level cache 201, or in another heterogeneous cluster; that is, the target location can be determined. Thus, the target consistency maintenance device 20 can perform data transmission operations at the target location, realizing relevant data access operations. The dual-directory design allows simultaneous querying of both the first and second directories, improving the efficiency of heterogeneous cluster cache consistency maintenance. The dual-directory design ensures the consistency of shared data among various computing sub-clusters in the target heterogeneous computing. Compared to traditional global monitoring, the dual-directory structure design triggers monitoring only when needed, reducing communication load and optimizing data transmission paths.
[0039] The data transmission system of this application, by setting up multiple heterogeneous clusters, can greatly improve the data processing capability of the data transmission system. Within the heterogeneous clusters, computing sub-clusters of different computing types and consistency maintenance devices are set up. The computing sub-clusters of different computing types can each execute tasks they are good at, cooperating with each other to improve task processing efficiency. Each computing sub-cluster includes computing units and multi-level caches. The computing units can directly access the multi-level caches, which can improve data reading efficiency. After receiving an access request, if the access request is a read request and the target multi-level cache 102 of the target computing unit 101 does not hit the cached data corresponding to the access request, it can send an access request to the target consistency maintenance device 20. If the access request is a write request, it can also send an access request to the target consistency maintenance device 20 to ensure data consistency. When the target consistency maintenance device 20 receives an access request, it can first obtain a first directory containing cache line information of the multi-level caches included in all computing sub-clusters in the target heterogeneous cluster, and a second directory containing cache line information of the last-level cache 201. Thus, by using the access request, the cache line information in the first directory, and the cache line information in the second directory, the actual location to be accessed can be determined, and data transmission operations can be performed to complete the data access operation. This eliminates the need for the target computing unit 101 to sequentially access other computing sub-clusters and other heterogeneous clusters in the target heterogeneous cluster before data access can be completed, significantly reducing communication overhead.
[0040] In some alternative implementations, such as Figure 4 As shown, the target consistency maintenance device 20, in addition to the last-level cache 201, may also include a first random access memory 202 and a second random access memory 203. The first random access memory 202 can be used to store a first directory, and the second random access memory 203 can be used to store a second directory. Accordingly, upon receiving an access request, the target consistency maintenance device 20 can read the first directory from the first random access memory 202 and the second directory from the second random access memory 203. Parallel processing can improve data reading and processing efficiency.
[0041] In some optional implementations, the target consistency maintenance device 20 can complete the process of determining the target location based on the access request, the cache line information in the first directory, and the cache line information in the second directory through the following specific steps:
[0042] Step 1: Determine the first query result based on the access request and the cached line information included in the first directory.
[0043] Step two: Determine the second query result based on the access request and the cached line information included in the second directory.
[0044] Step 3: Determine the target location based on the first query result, the second query result, and multiple elements in the access request.
[0045] Step four: Perform data transmission operations on the target location to complete the access operation corresponding to the access request.
[0046] Specifically, the target consistency maintenance device 20 can compare the access request with the cache line information included in the first directory (for example, compare the address information in the access request with the cache line information) to determine whether there is cache line information in the first directory that corresponds to the access request (for example, the address information and the cache line information are consistent). If yes, it means that the cache of other computing sub-clusters in the target heterogeneous cluster, excluding the target computing sub-cluster 10, hit the access request, and the hit can be determined as the first query result. If no, it means that the cache of other computing sub-computing did not hit the access request, and the miss can be determined as the first query result.
[0047] Similarly, the target consistency maintenance device 20 can compare the access request with the cache line information included in the second directory to determine whether there is cache line information corresponding to the access request in the second directory. If so, it means that the last-level cache hit the access request and the hit can be determined as the second query result. If not, it means that the cache of other heterogeneous clusters did not hit the access request and the miss can be determined as the second query result.
[0048] After determining the first query result and the second query result, the target consistency maintenance device 20 can determine the target location to be accessed based on the first query result, the second query result, and multiple elements in the access request. Then, the target consistency maintenance device 20 can perform data transmission operations based on the target location and the access request. For example, when the operation type is a read operation, the corresponding cached data can be obtained through data transmission operations to complete the read operation corresponding to the read request; or, when the operation type is a write operation, the corresponding write data operation can be completed through data transmission operations.
[0049] In this way, by directly recording cached line information through the first and second directories, when determining the target location, there is no need for actual access. Instead, the access request and the first directory, as well as the access request and the second directory, can be directly compared. Based on the obtained query results and access request, the target location can be directly determined. By setting the first and second directories, the target computing unit 101 can efficiently determine the location hit by the access request. In subsequent accesses, data access operations can be performed directly and specifically, which can greatly reduce communication overhead and achieve efficient access. Furthermore, by recording the first and second directories instead of directly storing the data, the amount of data stored can be reduced.
[0050] In some alternative implementations, in step three above, the target consistency maintenance device 20 determining the target location may specifically include processing the following three cases:
[0051] Scenario 1: When the first query result is determined to be a hit, the second query result to be a miss, and the access request is a read request, the other computing sub-clusters in the target heterogeneous cluster, excluding the target computing sub-cluster 10, are determined as the target location. Alternatively, when the first query result is determined to be a hit, the second query result to be a miss, and the access request is the write request, the target heterogeneous cluster is determined as the target location.
[0052] Specifically, the target computing unit 101 only sends an access request to the target consistency maintenance device 20 when it determines that a read request has not been found in its target multi-level cache 102. Therefore, when the target consistency maintenance device 20 determines that the first query result is a hit, the second query result is a miss, and the access request is a read request, it can determine that the target location to be accessed is in the multi-level cache of another computing sub-cluster in the target heterogeneous cluster besides the target computing sub-cluster 10. At this time, the other computing sub-cluster can be identified as the target location. However, when the target consistency maintenance device 20 determines that the first query result is a hit, the second query result is a miss, and the access request is a write request, since it is unknown whether a write request has been found in the target multi-level cache 102, the target heterogeneous cluster can be identified as the target location.
[0053] Optionally, when the target consistency maintenance device 20 determines that the first query result is a hit and the second query result is a miss, it can obtain the mapping relationship between the computing sub-clusters and address ranges in the target heterogeneous cluster. Based on the address information in the access request, it can determine the address range to which the address information belongs in the mapping relationship and identify the computing sub-cluster corresponding to the address range as the target location. Even when the number of computing sub-clusters included in the target heterogeneous cluster is greater than two, the target location can still be accurately determined, improving access efficiency.
[0054] In scenario two, when it is determined that the first query result is a miss and the second query result is a hit, the last level of cache is determined as the target location.
[0055] Specifically, when the target consistency maintenance device 20 determines that the first query result is a miss and the second query result is a hit, it means that the target location to be accessed is in the last-level cache 201. At this time, the last-level cache 201 can be determined as the target location.
[0056] Scenario 3: When both the first and second query results are determined to be a miss, obtain the address range corresponding to the target heterogeneous cluster. Determine the target location based on the address information and address range in the access request.
[0057] Specifically, when the target consistency maintenance device 20 determines that both the first and second query results are misses, it indicates that the location to be accessed may be in main memory 40 or other heterogeneous clusters. In this case, the address range corresponding to the target heterogeneous cluster can be obtained first, and the target location to be accessed can be determined based on the address information and the address range corresponding to the target heterogeneous cluster.
[0058] In this way, based on the difference between the first and second query results, the target location of the cached data that needs to be accessed can be accurately determined, so that subsequent data access operations can be performed directly and in a targeted manner, greatly reducing communication overhead.
[0059] In some alternative implementations, under case three described above, the target consistency maintenance device 20 can specifically determine the target location based on the address information and address range according to the following steps:
[0060] When the address information is determined to be within the address range, main memory 40 is identified as the target location. When the address information is determined to be outside the address range, the address ranges corresponding to other heterogeneous clusters in the data transmission system, excluding the target heterogeneous cluster, are obtained. The target address range to which the address information belongs is determined from the address ranges corresponding to the other heterogeneous clusters. The heterogeneous cluster corresponding to the target address range is identified as the target location.
[0061] Specifically, the target consistency maintenance device 20 can determine whether the address information in the access request is within the address range specific to the target heterogeneous cluster. If so, it means that the computing units in other heterogeneous clusters will not modify the data corresponding to the address information, and the target location of the access can be determined as main memory 40. If not, it means that the address information belongs to the address range of other heterogeneous clusters. In order to accurately determine which heterogeneous cluster the address information belongs to, the target consistency maintenance device 20 can obtain the address ranges corresponding to other heterogeneous clusters respectively, determine the target address range to which the address information in the access request belongs, and determine the heterogeneous cluster corresponding to the target address range as the target location.
[0062] In this way, by comparing address information and address ranges, it is possible to accurately determine whether the target location to be accessed is main memory 40 or another heterogeneous cluster. For other heterogeneous clusters, the specific heterogeneous cluster can be further identified, i.e., the target heterogeneous cluster can be determined. Subsequent data access operations can be performed directly on the target location, which can greatly reduce communication overhead.
[0063] In some alternative implementations, depending on the different operation types and target locations, step four may specifically include the following situations: four situations under a read request and four situations under a write request.
[0064] First, the access request is a read request, which includes read address information and read operation type. The data access operation is a read operation.
[0065] Scenario 1: The target location is another computing sub-cluster. A first listening request is sent to the other computing sub-cluster, instructing it to query the target data corresponding to the read address information in its multi-level cache. The target data sent by one of the other computing sub-clusters is received and transmitted to the target computing unit 101.
[0066] Specifically, when the target location is another computing sub-cluster, the target consistency maintenance device 20 can send a first listening request (which may include read address information) to the other computing sub-cluster. Each computing sub-cluster in the other computing sub-cluster can determine whether there is target data corresponding to the read address information in its own multi-level cache. If so, it can directly read the target data from the corresponding cache and transmit it to the target consistency maintenance device 20. If not, it can send a miss notification to the target consistency maintenance device 20. In this way, the target consistency maintenance device 20 can receive the target data sent by one of the computing sub-clusters and send it to the target computing unit 101 to complete the read operation.
[0067] Optionally, the target computing unit 101 can write target data to the target multi-level cache 102 (for example, to the target first-level data cache 102a corresponding to itself and the second-level cache 102b shared by the target computing sub-cluster 10). The target consistency maintenance device 20 can update the first directory after determining that the target computing unit 101 has written target data to the target multi-level cache 102. This allows for direct reading from the multi-level cache during subsequent data access, resulting in higher access efficiency. Furthermore, updating the first directory ensures the accuracy of cache line information and guarantees data consistency.
[0068] Optionally, when the target location is another computing sub-cluster, the target consistency maintenance device 20 can determine the computing unit corresponding to the read address information in the other computing sub-cluster based on the read address information in the read request. In this way, the first listening request can be sent directly to the computing unit corresponding to the read address information, which can greatly reduce communication overhead.
[0069] Scenario 2: The target location is the last-level cache 201. The target data corresponding to the read address information is read from the last-level cache 201 and transmitted to the target computing unit 101.
[0070] Specifically, the target consistency maintenance device 20 can read the target data from the position corresponding to the read address information in the last-level cache according to the read address information in the read request, and transmit it to the target calculation unit 101 to complete the read operation corresponding to the read request.
[0071] Optionally, after receiving the target data, the target computing unit 101 can write the target data into the target multi-level cache 102. Since the last-level cache 201 and the caches included in each computing sub-cluster in the target heterogeneous cluster are not inclusive (i.e., the cached data stored in the last-level cache 201 does not exist in any computing sub-cluster), the target consistency maintenance device 20 can delete the target data from the last-level cache 201 and update the first and second directories after determining that the target computing unit 101 has written the target data into the target multi-level cache 102. In this way, after writing the target data into the target multi-level cache 102, subsequent access to the target multi-level cache 102 is direct, resulting in higher efficiency. Furthermore, updating the first and second directories ensures the accuracy of the cache line information and guarantees data consistency.
[0072] Scenario 3: The target heterogeneous cluster also includes storage controller 30 and main memory 40, such as... Figure 5As shown. For example, the storage controller 30 can be Direct Memory Access (DMA). The target location is main memory 40. A second listening request is sent to the storage controller 30, wherein the second listening request is used to instruct the storage controller 30 to query the target data corresponding to the read address information in main memory 40. The target data sent by the storage controller 30 is received.
[0073] Specifically, the target consistency maintenance device 20 can send a second listening request to the storage controller 30. After receiving the second listening request, the storage controller 30 can query the target data corresponding to the read address information in the main memory 40 and return it to the target consistency maintenance device 20. The target consistency maintenance device 20 can receive the target data sent by the storage controller 30 and then transmit it to the target computing unit 101 to complete the read operation corresponding to the read request.
[0074] Optionally, the target calculation unit 101 can write the target data into the target multi-level cache 102. The target consistency maintenance device 20 can update the first directory after determining that the target calculation unit 101 has written the target data into the target multi-level cache 102. In this way, after the target data is written into the target multi-level cache 102, subsequent access to the target multi-level cache 102 is direct, resulting in higher efficiency. Furthermore, updating the first directory ensures the accuracy of the cache line information and guarantees data consistency.
[0075] Scenario 4: The target location is a heterogeneous cluster corresponding to the target address range. A third listening request is sent to the heterogeneous cluster corresponding to the target address range. This third listening request instructs the heterogeneous cluster to query the target data corresponding to the read address information in its own cache (which can be its own multi-level cache or the last level cache) or main memory 40. The target data sent by the heterogeneous cluster corresponding to the target address range is received.
[0076] Specifically, the target computing unit 101 can send a third listening request to the heterogeneous cluster corresponding to the target address range. Upon receiving the third listening request, the heterogeneous cluster can query the target data in its own cache or main memory 40 (the query method is similar to the method of obtaining the target data in the target heterogeneous cluster, and will not be described again here), and send it to the target consistency maintenance device 20. After receiving the target data, the target consistency maintenance device 20 can transfer the target data to the target computing unit 101.
[0077] In this way, the target consistency maintenance device 20 can directly perform data transmission operations with the target location to complete the read operation, resulting in high access efficiency.
[0078] In summary, when the access request is a read request, the process of determining the target location based on the first and second directories, and then performing data transfer operations based on the target location, can be as follows: Figure 6 As shown.
[0079] Second, the access request is a write request, while the read request includes the write address information, the write operation type, and the write data. The data access operation is a write operation.
[0080] Scenario 1: The target location is a heterogeneous cluster. Within the target heterogeneous cluster, a compute unit corresponding to the write address information is identified as needing to be processed. A first invalidation request is sent to the compute unit needing to be processed, instructing it to invalidate the cached data corresponding to the write address information. A first invalidation completion notification is received from the compute unit needing to be processed. The write data is then written to the last-level cache.
[0081] Specifically, when the target consistency maintenance device 20 determines that the target location is another computing sub-cluster, it can send a first invalidation request to the relevant computing unit (i.e., the computing unit to be processed mentioned above). After receiving the first invalidation request, the computing unit to be processed can invalidate the cached data corresponding to the write address information in its managed cache (e.g., the first-level data cache corresponding to itself and the second-level cache 102b shared in the computing sub-cluster to which it belongs), as well as invalidate its own first directory and second directory, etc. In addition, the target computing unit 101 can also be a computing unit to be processed, and accordingly, it needs to invalidate its own data. After receiving the first invalidation completion notification sent by the computing unit to be processed, the target consistency maintenance device 20 can write the write data into the last-level cache, set the status corresponding to the write address information to the modified state to indicate that the data has been modified, and complete the write operation corresponding to the write request.
[0082] Optionally, the target consistency maintenance device 20 can also update the first directory and the second directory to ensure the accuracy of the cache line information, so that the access location can be accurately determined directly based on the first directory and the second directory in the future.
[0083] Scenario 2: The target location is the last-level cache 201. Invalidate the cached data in the last-level cache 201 corresponding to the write address information. Write the write data to the last-level cache 201.
[0084] Specifically, when the target location is determined to be the last-level cache, the cached data corresponding to the write address information can be located in the last-level cache 201 and invalidated. The write data is written to the last-level cache 201, and the state corresponding to the write address information is set to the modified state.
[0085] Optionally, the target consistency maintenance device 20 can also update the second directory to ensure the accuracy of the cache line information, so that the access location can be accurately determined directly based on the first directory and the second directory in the future.
[0086] Scenario 3: The target location is main memory 40. A second invalidation request is sent to the storage controller 30, instructing the storage controller 30 to read the cached data corresponding to the write address information from main memory 40, transmit it to the target consistency maintenance device 20, and then invalidate the cached data. The cached data transmitted by the storage controller 30 is received. The cached data is written to the last-level cache. The second directory is updated.
[0087] Specifically, since main memory 40 is shared by all heterogeneous clusters, when the target location is determined to be main memory 40, storage controller 30 can send a second failure request (including write address information). After receiving the second failure request, storage controller 30 can read the cached data corresponding to the write address information in main memory 40 according to the write address information in the second failure request, write the cached data to the last level cache, and set the status corresponding to the write address information to the modified state to indicate that the data has been modified, thereby completing the write operation corresponding to the write request.
[0088] Optionally, the target consistency maintenance device 20 can also update the second directory to ensure the accuracy of the cache line information, so that the access location can be accurately determined directly based on the first directory and the second directory in the future.
[0089] Scenario 4: The target location is a heterogeneous cluster corresponding to the target address range. A third failure request is sent to the heterogeneous cluster corresponding to the target address range, whereby the third failure request instructs the consistency maintenance device in the heterogeneous cluster corresponding to the target address range to perform failure processing and write operations.
[0090] Specifically, when the target location is determined to be a heterogeneous cluster corresponding to the target address range, the target consistency maintenance device 20 can send a third failure request (which may include write address information and write data) to the heterogeneous cluster. After receiving the third failure request, the heterogeneous cluster can perform data failure processing and write operations. The specific execution method is similar to cases one to three under the above write request, and will not be described in detail here.
[0091] In summary, when the access request is a write request, the process of determining the target location based on the first and second directories, and then performing data transfer operations based on the target location, can be as follows: Figure 7 As shown.
[0092] In some alternative implementations, such as Figure 8As shown, the multi-level cache in the target computing sub-cluster 10 includes a first-level data cache dedicated to each computing unit in the target computing sub-cluster 10, and a second-level cache 102b shared by all computing units in the target computing sub-cluster 10. The target multi-level cache 102 includes a target first-level data cache 102a dedicated to the target computing unit 101 and a second-level cache 102b of the target computing sub-cluster. The last-level cache 201 can be used to store data evicted from the second-level cache 102b.
[0093] The aforementioned target calculation unit 101 can determine whether target data exists in the target multi-level cache 102 using the following specific steps, the process of which is as follows: Figure 9 As shown:
[0094] If, based on the read request, it is determined that the target data does not exist in the target first-level data cache 102a, then based on the read request, it is determined whether the target data exists in the second-level cache 102b of the target computing sub-cluster 10. If it is determined that the target data does not exist in the second-level cache 102b of the target computing sub-cluster 10, it is also determined that the target data does not exist in the target multi-level cache 102. If it is determined that the target data exists in the target first-level data cache 102a, the target data is read from the target first-level data cache 102a. If it is determined that the target data exists in the second-level cache 102b of the target computing sub-cluster 10, the target data is read from the second-level cache 102b of the target computing sub-cluster 10.
[0095] Specifically, the target computing unit 101 can determine whether target data corresponding to the address information exists in the target first-level data cache 102a based on the read address information in the read request. If yes, the target data can be read directly from the target first-level data cache 102a. If no, it can further determine whether target data corresponding to the address information exists in the target second-level data cache based on the address information. If yes, the target data can be read directly from the second-level cache 102b of the target computing sub-cluster 10. If no, it can be determined that target data corresponding to the address information does not exist in the target multi-level cache 102, and an access request can be sent to the target consistency maintenance device 20.
[0096] In this way, the shared L2 cache 102b can be used to store the data and instructions that need to be accessed by each computing unit in the target computing sub-cluster 10, providing a larger cache capacity to reduce the access frequency to main memory 40. Furthermore, the shared L2 cache 102b design reduces the need for data copying across computing units, improving the efficiency of cache consistency maintenance.
[0097] Optionally, if the target data exists in the second-level cache 102b of the target computing sub-cluster 10, the target computing unit 101 can write the target data to the target first-level data cache 102a after reading it. In this way, the target data can be read directly from the target first-level data cache 102a during subsequent accesses, improving access efficiency.
[0098] In some alternative implementations, the computing type can be a Central Processing Unit (CPU) or a Graphics Processing Unit (GPU). Computing units in a CPU-type computing sub-cluster can be dedicated to handling general tasks such as task scheduling, instruction control, and data management. Computing units in a GPU-type computing sub-cluster can be dedicated to handling tasks such as massively parallel computing, deep learning, and graphics rendering. By setting up computing units of different computing types, these units can work collaboratively to provide higher computing power.
[0099] like Figure 10 As shown, when the computing type of the target computing sub-cluster 10 is a central processing unit type, the target computing sub-cluster 10 may also include a level 1 instruction cache 102c shared by the computing units within the cluster.
[0100] In this way, the fact that the first-level instruction cache 102c is shared means that different computing units within the target computing sub-cluster 10 will access the same cache when reading instructions, which helps to reduce the space waste of repeatedly storing the same instructions and improve instruction retrieval efficiency.
[0101] like Figure 11 As shown, when the computing type of the target computing sub-cluster 10 is an image processor type, the target computing sub-cluster 10 may also include a first-level instruction cache 102c that is exclusive to each computing unit in the cluster.
[0102] In this way, the independent Level 1 instruction cache 102c allows computing units in the target computing sub-cluster 10 to fetch instructions at high speed and in parallel, reducing instruction access latency. If the Level 1 instruction cache 102c were shared, different computing units executing different instructions would lead to instruction cache pollution, affecting instruction fetching efficiency. The independent Level 1 instruction cache 102c can avoid this problem.
[0103] In some alternative implementations, such as Figure 12 As shown, the target heterogeneous cluster may also include peripheral components 50, which can perform specific tasks for different computing sub-clusters and realize related data transmission with the computing units through the storage controller 30. For example, peripheral components 50 may be network cards, hard drives, etc.
[0104] In some optional implementations, the cache line information in both the first and second directories may include the cache line address and the cache line status corresponding to the cache line address.
[0105] For example, a cache line state can be one of the following: Exclusive (E), Shared (S), Modified (M), or Invalid (I).
[0106] The cache line can be categorized into several states: Exclusive state, indicating that it is stored only in the cache of the current computation unit and has not yet been modified; Shared state, indicating that it may be stored in the caches of multiple computation units and that the data is consistent with main memory 40; Modified state, indicating that it is stored only in the current computation unit and that its content has been modified and is inconsistent with main memory 40; and Invalid state, indicating that the cache line is invalid or does not exist.
[0107] In this way, by indicating the status of cached data, the location of the latest data can be accurately determined, and access operations can be completed efficiently.
[0108] In some optional implementations, the storage controller 30 can also be used to acquire access requests and send them to the target consistency maintenance device 20. Upon receiving the access request from the storage controller 30, the target consistency maintenance device 20 can also determine the target location based on the first directory, the second directory, and the access request. Since both the storage controller 30 and the computing units in the target computing sub-cluster 10 send access requests to the target consistency maintenance device 20, the access request can also carry device type information to indicate the source of the access request. This allows the target consistency maintenance device 20 to determine the processing method corresponding to the device type information based on the device type information carried in the access request. When the source of the access request is the storage controller 30, in the process of determining the target location, if both the first and second query results are not found, the main memory 40 can be directly determined as the target location. Furthermore, after determining the target location, the access steps executed for access requests from the target computing unit 101 and the storage controller 30 are different. Therefore, the target consistency maintenance device 20 can also perform data transmission operations based on the determined processing method, the target location, and the access request to complete the access operation corresponding to the access request.
[0109] In this way, by carrying device type information, the target consistency maintenance device 20 can accurately determine the source of the access request so as to perform accurate access operations and achieve efficient access.
[0110] The following section uses read requests and write requests obtained by the storage controller 30 as examples to explain the specific process of the access operation in detail.
[0111] like Figure 13 As shown, the storage controller 30 obtains a read request and sends it to the target consistency maintenance device 20. After receiving the access request, it determines the first query result and the second query result based on the first directory, the second directory, and the read request (the specific process is described above and will not be repeated here).
[0112] When the target consistency maintenance device 20 determines that the first query result is a hit and the second query result is a miss, it identifies the target heterogeneous cluster as the target location (or it can identify the computing unit corresponding to the read address information based on the address information in the read request). The target consistency maintenance device 20 can send a fourth listening request to all computing units in the target heterogeneous cluster, or to the identified computing units. After receiving the fourth listening request, the computing unit can query the target data in its own multi-level cache and send the target data to the target consistency maintenance device 20. The target consistency maintenance device 20 then sends the target data to the storage controller 30.
[0113] Alternatively, when the target consistency maintenance device 20 determines that the first query result is a miss and the second query result is a hit, it designates the last-level cache 201 as the target location. The target consistency maintenance device 20 can then read the target data corresponding to the read request from this cache and send it to the storage controller 30. In this way, by setting the last-level cache 201, when the storage controller 30 reads data directly, it can directly read the cached data from the last-level cache 201 without accessing the main memory 40, thus reducing the data latency of accessing the main memory 40 and improving data throughput.
[0114] Alternatively, when the target consistency maintenance device 20 determines that both the first and second query results are misses, it can notify the storage controller 30. The storage controller 30 can then directly read the target data corresponding to the read request from the main memory 40.
[0115] Optionally, the storage controller 30 can also send the target data read from the main memory 40 to the target consistency maintenance device 20. After receiving the target data, the target consistency maintenance device 20 writes the target data to the last-level cache and updates the second directory. In this way, the storage controller 30 can directly access the last-level cache without accessing the main memory 40, improving access efficiency.
[0116] like Figure 14As shown, the storage controller 30 obtains a write request and sends it to the target consistency maintenance device 20. After receiving the access request, it determines the first query result and the second query result based on the first directory, the second directory, and the write request (the specific process is described above and will not be repeated here).
[0117] When the target consistency maintenance device 20 determines that the first query result is a hit and the second query result is a miss, it identifies the target heterogeneous cluster as the target location (or, based on the read address information in the read request, it identifies the computing unit corresponding to the read address information). Then, it sends a fourth invalidation request to all computing units in the target heterogeneous cluster, or to the identified computing units. Upon receiving the fourth invalidation request, the computing unit can invalidate the cached data corresponding to the write request in its own multi-level cache, and after completing the invalidation, it sends an invalidation completion notification to the target consistency maintenance device 20. Upon receiving the invalidation completion notification, the target consistency maintenance device 20 can update the first directory and send a first notification to the storage controller 30. Upon receiving the first notification, the storage controller 30 writes the write data from the write request into the main memory 40.
[0118] Alternatively, when the target consistency maintenance device 20 determines that the first query result is a miss and the second query result is a hit, it determines the last-level cache 201 as the target location. The target consistency maintenance device 20 can invalidate the cached data corresponding to the write request in the last-level cache 201 and update the second directory. After completing the invalidation process, the target consistency maintenance device 20 can inform the storage controller 30, which will then write the write data in the write request into the main memory 40.
[0119] Alternatively, when the target consistency maintenance device 20 determines that both the first query result and the second query result are misses, the storage controller 30 can directly write the write data in the write request into the main memory 40.
[0120] In some optional implementations, when the target consistency maintenance device 20 updates the first directory or the second directory, it may delete cache line information in the directory, add cache line information in the directory, or modify the cache data status in the cache line information in the directory. This ensures that the directory accurately represents the status of the cache data in each cache, guaranteeing the accuracy and efficiency of access.
[0121] Embodiments of this application provide a data transmission method, such as... Figure 15 As shown, the specific processing steps of the data transmission method may include:
[0122] Step S1501: The target computing unit obtains an access request.
[0123] In step S1502, if the target computing unit determines that the access request is a read request and there is no target data corresponding to the read request in the target multi-level cache included in the target computing sub-cluster, or if the access request is a write request, the target computing unit sends an access request to the target consistency maintenance device in its own target heterogeneous cluster.
[0124] The target computing unit is any computing unit in the target computing sub-cluster, and the target computing sub-cluster is any heterogeneous cluster in the target heterogeneous cluster.
[0125] Step S1503: When the target consistency maintenance device receives an access request, it obtains the first directory and the second directory.
[0126] The first directory is used to store cache line information of the multi-level caches included in all computing sub-clusters in the target heterogeneous cluster, and the second directory is used to store cache line information of the last-level cache included in the target consistency maintenance device.
[0127] In step S1504, the target consistency maintenance device performs data transmission operations based on the access request, the cache line information in the first directory, and the cache line information in the second directory to complete the access operation corresponding to the access request.
[0128] The data transmission method of this application, by setting up multiple heterogeneous clusters in the data transmission system, can greatly improve the data processing capability of the data transmission system. Within the heterogeneous clusters, computing sub-clusters with different computing types and consistency maintenance devices are set up. The computing sub-clusters with different computing types can each execute tasks they are good at, cooperating with each other to improve task processing efficiency. Each computing sub-cluster includes computing units and multi-level caches. The computing units can directly access the multi-level caches, which can improve data reading efficiency. After receiving an access request, if the access request is a read request and the target multi-level cache of the target computing unit does not hit the cached data corresponding to the access request, it can send an access request to the target consistency maintenance device. If the access request is a write request, it can also send an access request to the target consistency maintenance device to ensure data consistency. When the target consistency maintenance device receives an access request, it can first obtain a first directory containing cache line information for the multi-level caches of all computing sub-clusters in the target heterogeneous cluster, and a second directory containing cache line information for the last level cache. By using the access request, the cache line information in the first directory, and the cache line information in the second directory, the actual location to be accessed can be determined, and data transmission operations can be performed to complete the data access operation. This eliminates the need for the target computing unit to sequentially access other computing sub-clusters and other heterogeneous clusters in the target heterogeneous cluster before data access can be completed, significantly reducing communication overhead.
[0129] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0130] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0131] The data transmission system and method provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of this application.
Claims
1. A data transmission system, characterized in that, The data transmission system includes multiple heterogeneous clusters, each heterogeneous cluster including a consistency maintenance device and multiple computing sub-clusters with different computing types, each computing sub-cluster including multiple computing units and multi-level caches; The target computing unit is used to obtain access requests; If the access request is a read request and it is determined that there is no target data corresponding to the read request in the target multi-level cache included in the target computing sub-cluster, or if the access request is a write request, the access request is sent to the target consistency maintenance device in the target heterogeneous cluster to which it belongs. The target computing unit is any computing unit in the target computing sub-cluster, and the target computing sub-cluster is any heterogeneous cluster in the target heterogeneous cluster. The target consistency maintenance device is used to obtain a first directory and a second directory upon receiving the access request. The first directory stores cache line information of the multi-level caches included in each computing sub-cluster of the target heterogeneous cluster, and the second directory stores cache line information of the last-level cache included in the target consistency maintenance device. Based on the access request, the cache line information in the first directory, and the cache line information in the second directory, a data transmission operation is performed to complete the access operation corresponding to the access request. The cache data in the last-level cache included in the target consistency maintenance device and the cache data in the multi-level caches included in each computing sub-cluster of the target heterogeneous cluster are not inclusive of each other.
2. The data transmission system according to claim 1, characterized in that, The target consistency maintenance device is specifically used for: Based on the access request and the cache line information included in the first directory, determine the first query result; The second query result is determined based on the access request and the cached line information included in the second directory; The target location is determined based on the first query result, the second query result, and multiple elements in the access request; The data transmission operation is performed based on the target location and the access request.
3. The data transmission system according to claim 2, characterized in that, The target consistency maintenance device is specifically used for: When it is determined that the first query result is a hit, the second query result is a miss, and the access request is the read request, the other computing sub-clusters in the target heterogeneous cluster besides the target computing sub-cluster are determined as the target location.
4. The data transmission system according to claim 2, characterized in that, The target consistency maintenance device is specifically used for: When it is determined that the first query result is a hit, the second query result is a miss, and the access request is the write request, the target heterogeneous cluster is determined as the target location.
5. The data transmission system according to claim 2, characterized in that, The target consistency maintenance device is specifically used for: When it is determined that the first query result is a miss and the second query result is a hit, the last level cache is determined as the target location.
6. The data transmission system according to claim 2, characterized in that, The access request includes address information; The target consistency maintenance device is specifically used for: When it is determined that the first query result is a miss and the second query result is a miss, obtain the address range corresponding to the target heterogeneous cluster; The target location is determined based on the address information and the address range.
7. The data transmission system according to claim 6, characterized in that, The target heterogeneous cluster also includes main memory; The target consistency maintenance device is specifically used for: When it is determined that the address information is within the address range, the main memory is determined as the target location.
8. The data transmission system according to claim 7, characterized in that, The target consistency maintenance device is further used for: When it is determined that the address information is not within the address range, the address ranges corresponding to other heterogeneous clusters in the data transmission system other than the target heterogeneous cluster are obtained respectively. The target address range to which the address information belongs is determined from the address ranges corresponding to the other heterogeneous clusters; The heterogeneous cluster corresponding to the target address range is determined as the target location.
9. The data transmission system according to claim 3, characterized in that, The read request includes read address information; The target consistency maintenance device is specifically used for: Send a first listening request to the other computing sub-clusters, wherein the first listening request is used to instruct the other computing sub-clusters to query the target data corresponding to the read address information in their own multi-level caches; The target data is received from one of the other computing sub-clusters and transmitted to the target computing unit.
10. The data transmission system according to claim 5, characterized in that, The access request is the read request, and the read request includes read address information; The target consistency maintenance device is specifically used for: The target data corresponding to the read address information is read from the last-level cache and transmitted to the target computing unit.
11. The data transmission system according to claim 7, characterized in that, The access request is the read request, the address information is the read address information, and the target heterogeneous cluster also includes a storage controller; The target consistency maintenance device is specifically used for: Send a second listening request to the storage controller, wherein the second listening request is used to instruct the storage controller to query the target data corresponding to the read address information in the main memory; The target data sent by the storage controller is received and transmitted to the target computing unit.
12. The data transmission system according to claim 8, characterized in that, The access request is the read request, and the address information is the read address information; The target consistency maintenance device is specifically used for: Send a third listening request to the heterogeneous cluster corresponding to the target address range, wherein the third listening request is used to instruct the heterogeneous cluster corresponding to the target address range to query the target data corresponding to the read address information in its own cache or main memory; The target data is received from the heterogeneous cluster corresponding to the target address range and transmitted to the target computing unit.
13. The data transmission system according to claim 4, characterized in that, The write request includes write data and write address information; The target consistency maintenance device is specifically used for: In the target heterogeneous cluster, a computing unit containing cached data corresponding to the write address information is identified as being to be processed. Send a first invalidation request to the computing unit to be processed, wherein the first invalidation request is used to instruct the computing unit to be processed to invalidate the cached data corresponding to the write address information; Receive the first failure completion notification sent by the computing unit to be processed; The write data is written to the last-level cache.
14. The data transmission system according to claim 5, characterized in that, The access request is the write request, and the write request includes write data and write address information; The target consistency maintenance device is specifically used for: Invalidate the cached data in the last-level cache that corresponds to the write address information; The write data is written to the last-level cache.
15. The data transmission system according to claim 7, characterized in that, The access request is the write request, the address information is the write address information, and the target heterogeneous cluster also includes a storage controller; The target consistency maintenance device is specifically used for: Send a second invalidation request to the storage controller, wherein the second invalidation request is used to instruct the storage controller to invalidate the cached data in the main memory after reading the cached data corresponding to the write address information from the main memory and transmitting it to the target consistency maintenance device; Receive the cached data transmitted by the storage controller; The cached data is written to the last-level cache.
16. The data transmission system according to claim 8, characterized in that, The access request is the write request; The target consistency maintenance device is specifically used for: A third failure request is sent to the heterogeneous cluster corresponding to the target address range, wherein the third failure request is used to instruct the consistency maintenance device in the heterogeneous cluster corresponding to the target address range to perform failure processing and write operations.
17. The data transmission system according to any one of claims 1 to 16, characterized in that, The multi-level cache in the target computing sub-cluster includes a first-level data cache that is exclusive to each computing unit in the target computing sub-cluster, and a second-level cache that is shared by all computing units in the target computing sub-cluster. The target multi-level cache includes a target first-level data cache exclusive to the target computing unit and a second-level cache in the target computing sub-cluster. The target computing unit is specifically used for: If, based on the read request, it is determined that the target data does not exist in the target first-level data cache, then based on the read request, it is determined whether the target data exists in the second-level cache of the target computing sub-cluster. When it is determined that the target data does not exist in the second-level cache of the target computing sub-cluster, it is also determined that the target data does not exist in the target multi-level cache.
18. The data transmission system according to claim 17, characterized in that, The target computing unit is further used for: If it is determined that the target data exists in the target first-level data cache, the target data is read from the target first-level data cache.
19. The data transmission system according to claim 17, characterized in that, The target computing unit is further used for: If it is determined that the target data exists in the second-level cache of the target computing sub-cluster, the target data is read from the second-level cache of the target computing sub-cluster.
20. A data transmission method, characterized in that, The method is applied to the data transmission system according to any one of claims 1 to 19, the data transmission system comprising multiple heterogeneous clusters, the heterogeneous clusters comprising a consistency maintenance device and multiple computing sub-clusters of different computing types, the computing sub-clusters comprising multiple computing units and multi-level caches; The method includes: The target computing unit obtains an access request; if the access request is a read request and it is determined that there is no target data corresponding to the read request in the target multi-level cache included in the target computing sub-cluster, or if the access request is a write request, it sends an access request to the target consistency maintenance device in the target heterogeneous cluster to which it belongs, wherein the target computing unit is any computing unit in the target computing sub-cluster and the target computing sub-cluster is any heterogeneous cluster in the target heterogeneous cluster; Upon receiving the access request, the target consistency maintenance device acquires a first directory and a second directory. The first directory stores cache line information of the multi-level caches included in each computing sub-cluster of the target heterogeneous cluster, and the second directory stores cache line information of the last-level cache included in the target consistency maintenance device. Based on the access request, the cache line information in the first directory, and the cache line information in the second directory, a data transmission operation is performed to complete the access operation corresponding to the access request. The cached data in the last-level cache included in the target consistency maintenance device and the cached data in the multi-level caches included in each computing sub-cluster of the target heterogeneous cluster are not inclusive of each other.
Citation Information
Patent Citations
Multi-node cache consistency maintenance method, device, equipment, medium and product
CN118394773A
Data processing method, cluster, cache and system of multi-core system
CN119988302A