Data transmission method, apparatus, device, medium, and program product
By predicting data access information based on historical data access records on the host side and pre-encrypting the data, the problem of reduced data transmission rate in confidential computing is solved, and more efficient data transmission is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HYGON INFORMATION TECH CO LTD
- Filing Date
- 2026-02-25
- Publication Date
- 2026-05-29
AI Technical Summary
In confidential computing scenarios, the data transmission rate decreases while waiting for the data encryption process, especially when video memory is insufficient, and existing technologies cannot effectively improve the data transmission rate.
The graphics computing unit predicts data access information based on the host's historical data access records, and pre-encrypts the predicted data on the host side, caching the encrypted predicted data to reduce the encryption steps during transmission.
It improves data transmission rate, especially in confidential computing scenarios, and avoids the reduction in transmission rate caused by the encryption process.
Smart Images

Figure CN122111933A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence technology, and in particular to a data transmission method, apparatus, device, medium, and program product. Background Technology
[0002] With the development of artificial intelligence and large-scale modeling technologies, GPUs, with their multiple computing cores, are handling more high-performance computing services than CPUs. For industry organizations, this necessitates systems capable of withstanding external attacks to protect datasets, user input, AI model parameters, and other valuable assets from theft. Therefore, data protection for computing devices is extremely important.
[0003] The training and inference processes of large models involve frequent data swapping in and out of the GPU, especially when GPU memory is limited. To protect data from being stolen during transmission, data is encrypted and then decrypted via hardware or software models, which reduces the data transfer rate. Typically, although device drivers support asynchronous copying, the model framework does not prefetch training data, model parameters, or user inference input into GPU memory, as this requires reserving additional GPU memory. Therefore, the device often requests the next block of host memory to be swapped into the device only after computation is complete. This synchronous copying process is very fast in non-confidential scenarios. However, in confidential computing scenarios, the waiting time for data encryption leads to a decrease in data transfer rate. Summary of the Invention
[0004] Therefore, it is necessary to provide a data transmission method, apparatus, device, medium, and program product that can improve the transmission rate in response to the above-mentioned technical problems.
[0005] In a first aspect, this application provides a data transmission method applied to a graphics computing unit; the method includes:
[0006] Send a data read request to the host;
[0007] The system receives cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting the prediction data based on the prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
[0008] In one embodiment, the data read request carries target data access information; sending the data read request to the host includes:
[0009] Match the target data access information with the predicted data access information;
[0010] If the predicted data access information matches the target data access information, the successful match result and the data read request are sent to the host. The successful match result and the data read request are used to instruct the host to determine the cached encrypted predicted data corresponding to the data read request, and to send the determined encrypted predicted data to the graphics computing unit.
[0011] In one embodiment, the data read request carries target data access information; sending the data read request to the host includes:
[0012] Match the target data access information with the predicted data access information;
[0013] If no predicted data access information matches the target data access information, the data read request is sent to the host. The data read request is used to instruct the host to obtain access data based on the target data access information, encrypt the access data to obtain encrypted access data, and send the encrypted access data to the graphics computing unit.
[0014] In one embodiment, after sending the data read request to the host, the method further includes:
[0015] Retrieve the host's historical data access records;
[0016] Based on the historical data access records, predictions are made to obtain predicted data access information;
[0017] The prediction data access information is sent to the host, which instructs the host to read the prediction data, encrypt the prediction data, and cache the encrypted prediction data.
[0018] In one embodiment, the step of predicting based on the historical data access records to obtain predicted data access information includes:
[0019] The historical data access records are predicted by using a microcontroller or programmable logic array with a neural network to obtain predicted data access information.
[0020] In one embodiment, the prediction data access information includes several prediction results ordered by probability; sending the prediction data access information to the host includes:
[0021] The plurality of prediction results ordered by probability are sent to the host. The plurality of prediction results ordered by probability are used to instruct the host to read the corresponding prediction data according to each prediction result, and to encrypt each prediction data and cache the encrypted prediction data.
[0022] In one embodiment, the data read request carries target data access information; after obtaining the predicted data access information based on the historical data access records, the method further includes:
[0023] The target data access information is matched with the predicted data access information, and the number of times the target data access information and the predicted data access information are successfully matched is recorded.
[0024] If the number of times the target data access information and the predicted data access information are successfully matched is greater than or equal to the target value, the predicted data access information is sent to the host.
[0025] In one embodiment, the method further includes:
[0026] If the number of data read requests is less than the threshold, the data access record is cached; the data read request is used to instruct the host to obtain the second access data, encrypt the second access data to obtain the second access encrypted data, and send the second access encrypted data to the graphics computing unit;
[0027] If the number of data read requests is greater than or equal to the threshold, the data access record is cached, and the step of obtaining the host's historical data access record continues.
[0028] Secondly, this application also provides a data transmission method applied to a host; the method includes:
[0029] Receive data read requests sent by the graphics computing unit;
[0030] The system queries the encrypted prediction data corresponding to the data read request. The encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the historical data access records of the host.
[0031] The encrypted prediction data is sent to the graphics computing unit.
[0032] In one embodiment, the method further includes:
[0033] The system receives predicted data access information sent by the graphics computing unit, which is obtained by predicting based on the historical data access records of the acquired host.
[0034] Obtain the prediction data corresponding to the prediction data access information;
[0035] The predicted data is encrypted, and the encrypted predicted data is cached.
[0036] In one embodiment, the query for encrypted prediction data corresponding to the data read request includes:
[0037] Upon receiving a successful matching result from the graphics computing unit, the cached encrypted prediction data corresponding to the data read request is determined; the successful matching result is generated by the graphics computing unit when the target data access information corresponding to the data read request successfully matches the prediction data access information.
[0038] In one embodiment, determining the cached encrypted prediction data corresponding to the data read request includes:
[0039] If the encrypted prediction data corresponding to the data read request is successfully encrypted, the cached encrypted prediction data is retrieved.
[0040] The method further includes:
[0041] If the encrypted prediction data corresponding to the data read request has not been encrypted, the access data corresponding to the data read request is encrypted to obtain access encrypted data, and the access encrypted data is sent to the graphics computing unit.
[0042] In one embodiment, determining the cached encrypted prediction data corresponding to the data read request includes:
[0043] Determine the access data corresponding to the data read request, and detect whether the access data is the same as the predicted data;
[0044] If the accessed data is the same as the predicted data, the encrypted data corresponding to the predicted data will be used as the cached encrypted predicted data corresponding to the data read request.
[0045] In one embodiment, the method further includes:
[0046] If the access data is different from the predicted data, the access data is encrypted to obtain encrypted access data;
[0047] The access encryption data is sent to the graphics computing unit.
[0048] In one embodiment, the prediction data access information includes several prediction results ordered by probability; obtaining the prediction data corresponding to the prediction data access information includes:
[0049] According to the probability sorting, obtain multiple prediction data corresponding to the prediction results in sequence;
[0050] The step of encrypting the prediction data and caching the encrypted prediction data includes:
[0051] The multiple predicted data are encrypted sequentially according to probability sorting, and the encrypted predicted data are cached.
[0052] In one embodiment, determining the cached encrypted prediction data corresponding to the data read request includes:
[0053] Determine the access data corresponding to the data read request; match the access data with multiple prediction data to obtain prediction data that matches the access data;
[0054] The encrypted prediction data corresponding to the prediction data that matches the access data is used as the cached encrypted prediction data corresponding to the data read request.
[0055] In one embodiment, the method further includes:
[0056] If no matching success result is received from the graphics computing unit, access data is obtained based on the target data access information carried in the data read request; the matching success result is generated by the graphics computing unit when the target data access information corresponding to the data read request matches the predicted data access information.
[0057] The access data is encrypted to obtain encrypted access data;
[0058] The access encryption data is sent to the graphics computing unit.
[0059] Thirdly, this application also provides a data transmission device applied to a graphics computing unit; the device includes:
[0060] The sending module is used to send data read requests to the host;
[0061] The receiving module is configured to receive cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting prediction data based on prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
[0062] Fourthly, this application also provides a data transmission apparatus for use in a host computer; the apparatus includes:
[0063] The second receiving module is used to receive data read requests sent by the graphics computing unit;
[0064] The query module is used to query the encrypted prediction data corresponding to the data read request. The encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the historical data access records of the host.
[0065] The second sending module is used to send the encrypted prediction data to the graphics computing unit.
[0066] Fifthly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method in any of the above embodiments.
[0067] Sixthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the methods in any of the above embodiments.
[0068] In a seventh aspect, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method in any of the above embodiments.
[0069] The aforementioned data transmission method, apparatus, device, medium, and program product send a data read request to a host; receive cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting prediction data based on prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records. This pre-encryption of prediction data based on prediction data access information eliminates the need for prior encryption during transmission, thus improving the transmission rate. Attached Figure Description
[0070] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0071] Figure 1 This is a schematic diagram of a data transmission method;
[0072] Figure 2 This is an application environment diagram of a data transmission method in one embodiment;
[0073] Figure 3 This is a flowchart illustrating a data transmission method in one embodiment;
[0074] Figure 4 This is a flowchart of the encrypted prediction data determination step in one embodiment;
[0075] Figure 5 This is a flowchart of the encrypted prediction data generation step in one embodiment;
[0076] Figure 6 This is a flowchart illustrating the data transmission method in another embodiment;
[0077] Figure 7 This is a flowchart illustrating the data transmission method in another embodiment;
[0078] Figure 8 This is a structural block diagram of a data transmission device in one embodiment;
[0079] Figure 9 This is a structural block diagram of a data transmission device in another embodiment;
[0080] Figure 10 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0081] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0082] It should be noted that the terms "second," "comprising," etc., used in this application can be used to describe various target data, but these elements are not limited by these terms. These terms are only used to distinguish between one target data and a second target data. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more.
[0083] Combination Figure 1 As shown, Figure 1 This diagram illustrates a data transmission method. In this embodiment, in the data communication link between the host and the device, confidential data is copied from the host memory to the GPU memory. At critical encryption and decryption points, the encryption / decryption can be accelerated by CPU hardware or similar peripheral hardware. However, this requires waiting for data encryption and decryption, resulting in a decrease in data transmission rate.
[0084] To address the aforementioned technical problems, this application provides a data transmission method that can be applied to, for example... Figure 2 The application environment shown. Among them, the host ( Figure 2 The CPU (shown in the middle) 102 connects to the graphics computing unit (GPU) via a network. Figure 2 The GPU (104) communicates with the host computer. The host computer supports PCIe or DMA transfer links for encryption / decryption engines, and the graphics computing unit supports trusted GPUs with secure enclaves.
[0085] The host system includes a secure guest virtual machine and a data buffer. The guest virtual machine contains the host memory and device drivers that the device needs to access and read. The data buffer is used to store temporary encrypted data, meaning the host supports insecure shared memory.
[0086] The host supports software encryption, which encrypts the predicted data in the host memory of the device to be replaced into a data buffer, and waits for the transmission link to decompress the encrypted data and store it in the secure video memory of the computing device.
[0087] PCIe or DMA supports encryption / decryption engines.
[0088] The graphics computing unit (GPU) includes at least secure video memory that the host cannot directly access, a page table cache, and a host memory prediction module. Secure video memory stores computational data, including model weights, model inputs, model outputs, and page tables. These page tables include those for both the GPU's video memory and the host memory. The page tables are created when the computation task starts and are dynamically updated continuously. The page table cache allows for fast page table lookups, accelerating addressing speeds in host memory or video memory. The host memory prediction module can be implemented using a microcontroller with a neural network computing unit. This module includes a detector, a predictor, and a validator; its firmware can be continuously updated and incorporated into the GPU's trust domain.
[0089] The detector is used to record the page table cache history and the historical data access records, which include the host memory address, data block offset, and data block size.
[0090] The predictor may include a machine learning module that continuously performs regression fitting based on the historical data access records obtained by the detector until it can make stable predictions, and then passes a set of predicted data access information ordered by probability (for example, five results) to the device driver.
[0091] The device driver retrieves the prediction data access information address returned by the predictor, encrypts the prediction data in the memory block and puts it into the data buffer, while recording the hash value of the plaintext of the memory block for subsequent analysis to determine whether the data has been updated.
[0092] When the graphics computing unit initiates a data request, the verifier retrieves the latest data read request and compares it with a set of predicted data access information from the predictor. If the comparison is successful, the verifier returns the matching result and the data read request to the host device driver. The driver then re-examines the memory block hash value and compares it with the hash values of a set of already encrypted data blocks. If the host memory block for the data read request is already encrypted, and the original memory block has not been updated during encryption, a DMA data transfer is initiated. Otherwise, if the memory block for the data read request matches the prediction, but the host has not yet completed encryption, encryption and DMA data transfer are performed normally. If the verifier's result fails, the host performs data retrieval and encryption, as well as DMA data transfer.
[0093] In one exemplary embodiment, such as Figure 3 As shown, a data transmission method is provided, which is applied to... Figure 2 Taking the graphics calculation unit in the image as an example, the explanation includes the following steps S302 to S304. Wherein:
[0094] S302: Send a data read request to the host.
[0095] The data read request is sent by the graphics computing unit to the host. This data read request corresponds to the data read requests of each sub-computation task after the computation task starts. For example, if the computation task is a training task, each sub-computation task can be a task corresponding to a specific epoch. Each epoch-related task requires corresponding data, and the graphics computing unit can generate a data read request based on the storage address of this data. In other embodiments, this data read request can be generated in other scenarios, which are not specifically limited here.
[0096] S304: Receive cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting the prediction data based on the prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
[0097] The cached encrypted prediction data is the prediction data required by the graphics computing unit that is encrypted in advance and cached in the host's data buffer.
[0098] The predicted data access information is obtained by the graphics computing unit based on the host's historical data access records, which are stored in the detector cache. These historical records can include the storage information of the data corresponding to each data read request in the host, including the host memory address, data block offset, and data block size. Therefore, the predicted data access information predicts the storage information of the data corresponding to future data read requests in the host, including the host memory address, data block offset, and data block size. This future data read request can be a data read request following the current one, or two or three data read requests following the current one. The specific data read request being predicted is not limited; it only needs to be a future data read request.
[0099] After the graphics computing unit initiates a data read request, it starts a prediction process. In this prediction process, prediction can be made based on the host's historical data access records to obtain prediction data access information. The prediction data access information is then sent to the host, for example, to the host's driver. The host's driver reads the prediction data from the host memory based on the prediction data access information, encrypts the prediction data to obtain encrypted prediction data, and caches the encrypted prediction data in the data buffer.
[0100] Upon receiving a data read request, the system checks whether the corresponding encrypted prediction data exists in the data buffer. If it does, the encrypted prediction data is sent directly to the graphics computing unit, thus eliminating the encryption process before transmission and improving the transmission rate.
[0101] The encrypted prediction data is used in the graphics computing unit for task execution, which may include tasks in memory-intensive large model training, fine-tuning and inference scenarios, etc., without specific limitations.
[0102] The above data transmission method involves sending a data read request to the host and receiving cached encrypted prediction data returned by the host based on the data read request. The cached encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the host's historical data access records. In this way, the prediction data is encrypted in advance based on the prediction data access information, so there is no need to encrypt it before transmission, which improves the transmission rate.
[0103] In one optional embodiment, the data read request carries target data access information; sending the data read request to the host includes: matching the target data access information with the predicted data access information; if there is a match between the predicted data access information and the target data access information, sending the successful match result and the data read request to the host, wherein the successful match result and the data read request are used to instruct the host to determine the cached encrypted predicted data corresponding to the data read request, and sending the determined encrypted predicted data to the graphics computing unit.
[0104] In one optional embodiment, the data read request carries target data access information; sending the data read request to the host includes: matching the target data access information with predicted data access information; if no predicted data access information matches the target data access information, sending the data read request to the host, the data read request being used to instruct the host to obtain access data based on the target data access information, encrypt the access data to obtain encrypted access data, and send the encrypted access data to the graphics computing unit.
[0105] The target data access information is used to indicate the storage information of the data to be read in the host. This storage information may include the host memory address, data block offset, and data block size.
[0106] Among them, combined Figure 4 As shown, Figure 4The flowchart below shows the steps for determining encrypted prediction data in one embodiment. Each time the graphics computing unit initiates a data read request, it matches the target data access information carried in the data read request with the prediction data access information. If there is a match between the prediction data access information and the target data access information, the matching result and the data read request are sent to the host. When the host receives the matching result, it can determine that the data corresponding to this data read request exists in the pre-cached encrypted prediction data. Therefore, the cached encrypted prediction data can be obtained based on the target data access information and sent to the graphics computing unit. This reduces the data encryption steps before sending and improves the transmission rate.
[0107] In some optional embodiments, the host determines the access data corresponding to the data read request and detects whether the access data is the same as the predicted data; if the access data is the same as the predicted data, the encrypted data corresponding to the predicted data is used as the cached encrypted predicted data corresponding to the data read request.
[0108] In some optional embodiments, if the access data and the prediction data are different, the access data is encrypted to obtain access encrypted data; the access encrypted data is then sent to the graphics computing unit.
[0109] Optionally, it can be determined whether the accessed data and the predicted data are the same by checking whether the hash value of the predicted data is the same as the hash value of the accessed data.
[0110] In some optional embodiments, the hash value of the predicted data is calculated and stored; the access data corresponding to the data read request is determined and the hash value of the access data is calculated; the hash value of the access data is compared with the hash value of the predicted data; if the hash value of the access data is consistent with the hash value of the predicted data, the encrypted data corresponding to the predicted data with consistent hash values is used as the cached encrypted predicted data corresponding to the data read request.
[0111] In some optional embodiments, the method further includes: encrypting the access data to obtain encrypted access data in the absence of predictive data that matches the hash value of the access data; and sending the encrypted access data to the graphics computing unit.
[0112] In this application, to avoid modification of the original data, a hash value of the predicted data is generated each time the predicted data is encrypted. Subsequently, after the access data is determined based on the data read request, the hash value of the access data is calculated. If the hash value of the predicted data matches the hash value of the access data, it indicates that the predicted data has not been updated, and the encrypted predicted data corresponding to the predicted data can be directly obtained and sent to the graphics computing unit. If the hash value of the predicted data does not match the hash value of the access data, it indicates that the predicted data has been updated, and the access data needs to be re-encrypted to obtain encrypted access data, which is then sent to the graphics computing unit.
[0113] If there is no match between the predicted data access information and the target data access information, the data read request is sent directly to the host. If the host does not receive a successful match, it indicates that the predicted data is inaccurate. Therefore, the data is transmitted according to the normal data transmission process, that is, the access data is obtained based on the target data access information, the access data is encrypted to obtain encrypted access data, and the encrypted access data is sent to the graphics computing unit.
[0114] In the above embodiments, if the prediction is accurate at least once, data prefetching and pre-encryption will be implemented, and the encryption process before transmission will be omitted, thereby improving the transmission rate.
[0115] In one alternative embodiment, combined with Figure 5 , Figure 5 The flowchart below shows the steps for generating encrypted prediction data in one embodiment. In this embodiment, after sending a data read request to the host, the method further includes: obtaining the host's historical data access records; making a prediction based on the historical data access records to obtain prediction data access information; sending the prediction data access information to the host, wherein the prediction data access information is used to instruct the host to read the prediction data, and after encrypting the prediction data, caching the encrypted prediction data.
[0116] The historical data access record is the storage information of the data corresponding to the historical data read request. This historical data access record can be stored in the page table cache, and the detector can access the page table cache to obtain the historical data access record.
[0117] Predictive data access information can be obtained by using historical data access records, for example, by using a microcontroller or programmable logic array with a neural network to predict historical data access records.
[0118] In some optional embodiments, at the start of the task, based on the data read requests of the graphics computing unit, the corresponding data is read from the host and the data access records corresponding to these data read requests are cached. Prediction to obtain predicted data access information only begins when the number of data access records is greater than or equal to the number of times the data read requests are made, that is, when the number of times the data read requests are greater than or equal to the number of times the data read requests are made.
[0119] In some optional embodiments, after each prediction of data access information based on historical data access records, the predicted data access information is stored. When a real data read request begins, the target data access information corresponding to the data read request is obtained and matched. If the match is unsuccessful, regression fitting can be performed on the microcontroller or programmable logic array with neural network based on historical data access records and target data access information. Optionally, if the match is successful, regression fitting can also be performed on the microcontroller or programmable logic array with neural network based on historical data access records and target data access information to improve the accuracy of the microcontroller or programmable logic array with neural network.
[0120] In some optional embodiments, the data read request carries target data access information; after predicting based on historical data access records to obtain predicted data access information, the method further includes: matching the target data access information with the predicted data access information and recording the number of times the target data access information and the predicted data access information are successfully matched; if the number of times the target data access information and the predicted data access information are successfully matched is greater than or equal to a target value, the predicted data access information is sent to the host.
[0121] Initially, the predictions made by the microcontroller or programmable logic array with neural networks are inaccurate. To avoid wasting host-side resources, the predicted data access information is only sent to the host to begin the pre-encryption process in this application if the number of matches between the predicted and target data access information is greater than or equal to a target value. If the number of matches between the predicted and target data access information is less than a threshold, i.e., if stable prediction is not yet possible, pre-encryption is not performed to avoid wasting host resources. The target value can be determined based on the number of task processing operations and the accuracy requirements. For example, if the number of task processing operations is low or the accuracy requirement is low, the target value can be lowered; if the number of task processing operations is high or the accuracy requirement is high, the target value can be lowered. Those skilled in the art can set the target value according to specific circumstances.
[0122] After obtaining the prediction data access information, the graphics computing unit first sends the prediction data access information to the host, such as to the host driver. Based on the prediction data access information, the host obtains the prediction data from the host memory, encrypts the prediction data, and caches the encrypted prediction data. In this way, when a subsequent data reading request reads the prediction data, it can directly send the encrypted prediction data without encrypting it again before sending, thus improving the transmission rate.
[0123] In some optional embodiments, the prediction data access information includes several prediction results ordered by probability; sending the prediction data access information to the host includes: sending several prediction results ordered by probability to the host, wherein the several prediction results ordered by probability are used to instruct the host to read the corresponding prediction data according to each prediction result, and encrypting each prediction data and caching the encrypted prediction data.
[0124] To improve the accuracy of the predicted data access information in this application, the predicted data access information includes several sets. For example, when making predictions based on historical data access information, several sets of prediction results sorted by probability can be obtained. To improve accuracy, a preset number of prediction results with high probability are obtained, such as the top 5 results with the highest probability. These 5 results are all sent to the host, and the host reads the corresponding prediction data based on each prediction result, encrypts it, and then caches it. The preset number can be set based on actual conditions, and it needs to fully consider the size of the host's data buffer and the host's resource consumption.
[0125] In the above embodiments, obtaining multiple prediction results each time and pre-encrypting them can improve the accuracy of the pre-encrypted data, thereby further increasing the transmission rate.
[0126] In some optional embodiments, the method further includes: caching data access records when the number of data read requests is less than a threshold; the data read request is used to instruct the host to obtain second access data, encrypt the second access data to obtain second access encrypted data, and send the second access encrypted data to the graphics computing unit; when the number of data read requests is greater than or equal to the threshold, caching data access records and continuing to execute the step of obtaining the host's historical data access records.
[0127] In this embodiment, another method is used to ensure the accuracy of the prediction. It is the same as the method described above that checks whether the number of successful matches between the target data access information and the predicted data access information is greater than or equal to the target value. The main purpose is to save host resources. The predicted data access record will only be sent to the host when the prediction is relatively accurate.
[0128] The principle in this embodiment is that when the amount of data reaches a certain value, the accuracy of the prediction will improve, and the prediction data access record will be sent to the host. Specifically, if the number of data read requests is less than the threshold, normal data transmission is performed, that is, the data read request is sent to the host. The host obtains the second access data and encrypts the second access data to obtain the second access encrypted data. During normal processing, the data access record is cached to lay the foundation for subsequent predictions.
[0129] If the number of data read requests is greater than or equal to a threshold, the data access records are cached, and predictions are made to obtain predicted data access information.
[0130] In some optional embodiments, the two methods can be combined. Specifically, if the number of data read requests is greater than or equal to a threshold, data access records are cached, and predictions are made to obtain predicted data access information. This predicted data access information is then matched with target data access information. Only if the number of matches between the predicted and target data access information is greater than or equal to a target value will the predicted data access information be sent to the host to begin the pre-encryption process in this application. Otherwise, regression fitting continues to improve the accuracy of the prediction. In some optional embodiments, the predicted data access information may include several prediction results; a successful match is considered achieved if even one prediction result matches the target data access information.
[0131] In one exemplary embodiment, such as Figure 6 As shown, a data transmission method is provided, which is applied to... Figure 2 Taking the host machine as an example, the explanation includes the following steps S602 to S606. Wherein:
[0132] S602: Receives a data read request sent by the graphics computing unit.
[0133] S604: Query the encrypted prediction data corresponding to the data read request. The encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
[0134] S606: Send encrypted prediction data to the graphics computing unit.
[0135] The limitations regarding encrypted prediction data can be found above. In this embodiment, the host pre-generates corresponding encrypted prediction data based on the prediction data access information. Upon receiving a data read request, the host directly queries and obtains the encrypted prediction data without needing to encrypt it further, thus improving the transmission rate.
[0136] In some optional embodiments, the method further includes: receiving prediction data access information sent by a graphics computing unit, the prediction data access information being predicted based on historical data access records of the acquired host; obtaining prediction data corresponding to the prediction data access information; encrypting the prediction data; and caching the encrypted prediction data.
[0137] After receiving the prediction data access information, the host queries the host memory based on the prediction data access information to obtain the prediction data. Then, the prediction data is encrypted. The encryption method is agreed upon by the host and the graphics computing unit and is not specifically limited here. The host caches the obtained encrypted prediction data in the data buffer so that the graphics computing unit can read it later.
[0138] In some optional embodiments, querying the encrypted prediction data corresponding to the data read request includes: determining the cached encrypted prediction data corresponding to the data read request if a matching success result is received from the graphics computing unit; the matching success result is generated by the graphics computing unit when the target data access information corresponding to the data read request matches the prediction data access information.
[0139] In some optional embodiments, the host determines the access data corresponding to the data read request and detects whether the access data is the same as the predicted data; if the access data is the same as the predicted data, the encrypted data corresponding to the predicted data is used as the cached encrypted predicted data corresponding to the data read request.
[0140] In some optional embodiments, if the accessed data and the predicted data are different, the accessed data is encrypted to obtain encrypted access data; the encrypted access data is then sent to the graphics computing unit.
[0141] Optionally, it can be determined whether the accessed data and the predicted data are the same by checking whether the hash value of the predicted data is the same as the hash value of the accessed data.
[0142] In some optional embodiments, after caching the encrypted prediction data, the method further includes: calculating and storing the hash value of the prediction data; determining the cached encrypted prediction data corresponding to the data read request, including: determining the access data corresponding to the data read request and calculating the hash value of the access data; comparing the hash value of the access data with the hash value of the prediction data; and if the hash value of the access data matches the hash value of the prediction data, using the encrypted prediction data corresponding to the prediction data with the matching hash value as the cached encrypted prediction data corresponding to the data read request.
[0143] In some optional embodiments, the method further includes: encrypting the access data to obtain access encrypted data in the absence of prediction data that matches the hash value of the fourth target data; and sending the access encrypted data to the graphics computing unit.
[0144] Among them, combined Figure 4 As shown, each time the graphics computing unit initiates a data read request, it matches the target data access information carried in the data read request with the predicted data access information. If there is a match between the predicted data access information and the target data access information, the successful match result and the data read request are sent to the host. When the host receives the successful match result, it can determine that the data corresponding to this data read request exists in the pre-cached encrypted predicted data. Therefore, the host can obtain the cached encrypted predicted data based on the target data access information and send it to the graphics computing unit. This reduces the data encryption steps before sending and improves the transmission rate.
[0145] In this application, to avoid modification of the original data, a hash value of the predicted data is generated each time the predicted data is encrypted. Subsequently, after the access data is determined based on the data read request, the hash value of the access data is calculated. If the hash value of the predicted data matches the hash value of the access data, it indicates that the predicted data has not been updated, and the encrypted predicted data corresponding to the predicted data can be directly obtained and sent to the graphics computing unit. If the hash value of the predicted data does not match the hash value of the access data, it indicates that the predicted data has been updated, and the access data needs to be re-encrypted to obtain encrypted access data, which is then sent to the graphics computing unit.
[0146] If there is no match between the predicted data access information and the target data access information, the data read request is sent directly to the host. If the host does not receive a successful match, it indicates that the predicted data is inaccurate. Therefore, the data is transmitted according to the normal data transmission process, that is, the access data is obtained based on the target data access information, the access data is encrypted to obtain encrypted access data, and the encrypted access data is sent to the graphics computing unit.
[0147] In the above embodiments, if the prediction is accurate at least once, data prefetching and pre-encryption will be implemented, and the encryption process before transmission will be omitted, thereby improving the transmission rate.
[0148] In some optional embodiments, the prediction data access information includes several prediction results sorted by probability; obtaining prediction data corresponding to the prediction data access information includes: sorting by probability and sequentially obtaining multiple prediction data corresponding to the prediction results; encrypting the prediction data and caching the encrypted prediction data includes: sorting by probability and sequentially encrypting multiple prediction data and caching each encrypted prediction data.
[0149] The prediction data access information in this application includes several groups. For example, when making predictions based on historical data access information, several groups of prediction results can be obtained in probability order. In order to improve accuracy, the top preset number of prediction results with high probability are obtained. For example, the top 5 results with the highest probability are extracted and sent to the host. The host reads the corresponding prediction data in sequence based on each prediction result, and then encrypts each prediction data in sequence to obtain each encrypted prediction data.
[0150] In some optional embodiments, determining the encrypted prediction data of the cache corresponding to the data read request includes: determining the access data corresponding to the data read request; matching the access data with multiple prediction data to obtain prediction data that matches the access data; and using the encrypted prediction data corresponding to the prediction data that matches the access data as the encrypted prediction data of the cache corresponding to the data read request.
[0151] Specifically, after determining the access data corresponding to the data read request, the access data is matched with multiple prediction data in order of probability. This minimizes the number of matching attempts and obtains the prediction data that matches the access data. The encrypted prediction data corresponding to the prediction data is then used as the cached encrypted prediction data corresponding to the data read request.
[0152] In the above embodiments, the prediction data access information includes several prediction results sorted by probability. This allows multiple encrypted prediction data to be stored during storage and matched according to probability during matching, thereby improving matching efficiency.
[0153] In some optional embodiments, the method further includes: obtaining access data based on the target data access information carried in the data read request if a matching success result is not received from the graphics computing unit; the matching success result is generated by the graphics computing unit when the target data access information corresponding to the data read request matches the predicted data access information; encrypting the access data to obtain encrypted access data; and sending the encrypted access data to the graphics computing unit.
[0154] If there is no match between the predicted data access information and the target data access information, the data read request is sent directly to the host. If the host does not receive a successful match, it indicates that the predicted data is inaccurate. Therefore, the data is transmitted according to the normal data transmission process, that is, the access data is obtained based on the target data access information, the access data is encrypted to obtain encrypted access data, and the encrypted access data is sent to the graphics computing unit.
[0155] In the above embodiments, if the prediction is accurate at least once, data prefetching and pre-encryption will be implemented, and the encryption process before transmission will be omitted, thereby improving the transmission rate.
[0156] In some optional embodiments, determining the cached encrypted prediction data corresponding to the data read request includes: obtaining the cached encrypted prediction data when the encrypted prediction data corresponding to the data read request has been encrypted; the method further includes: encrypting the access data corresponding to the data read request to obtain access encrypted data when the encrypted prediction data corresponding to the data read request has not been encrypted, and sending the access encrypted data to the graphics computing unit.
[0157] After the host receives the successful matching information and the data read request, it can first determine whether the corresponding encrypted prediction data has been encrypted. If the encryption is complete, it can continue to check whether the data has been updated. If the encryption is incomplete, for example, if encryption has not yet started or has been partially encrypted, it can directly encrypt the corresponding access data or continue the encryption process. In short, the encryption of the data to be transmitted is given the highest priority, and the encrypted prediction data is sent directly to the graphics computing unit after encryption is completed.
[0158] In order to facilitate understanding by those skilled in the art, combined with Figure 7 As shown, Figure 7 The flowchart below shows a data transmission method in another embodiment. In this embodiment, the graphics computing unit initializes the task and performs the first data transmission. The detector records the data access information corresponding to the data transmission. When the number of data reads is greater than or equal to a threshold, the prediction of the predicted data access information begins. The prediction period is based on historical frequency and cycle. Generally, a prediction is performed when a data read request is sent. When the number of times the predicted data access information matches the target data access information of the corresponding data read request is greater than or equal to the target value, that is, when the prediction is stable, the predicted data access information is sent to the host. The host obtains the predicted data based on the predicted data access information, encrypts the predicted data, and caches the encrypted predicted data.
[0159] After the graphics computing unit initiates a new data read request, it matches the target data access information carried in the data read request with the predicted data access information. If the match is successful, it sends the successful match information and the data read request to the host. The host determines whether the data has been encrypted. If the encryption is successful, it determines whether the data has been updated, for example, by using the hash value. If it has not been updated, it sends the encrypted predicted data to the graphics computing unit. If it has been updated, it obtains the access data, encrypts it to obtain the access encrypted data, and sends the access encrypted data to the graphics computing unit. If the encryption is not successful, it first encrypts the predicted data to obtain the encrypted predicted data, and then sends the obtained encrypted predicted data to the graphics computing unit.
[0160] If the target data access information carried in the data read request does not match the predicted data access information, a data read request is sent directly to the host. The host obtains the corresponding second access data, encrypts the second access data to obtain the second access encrypted data, and sends the second access encrypted data to the graphics computing unit.
[0161] The above embodiments effectively conceal the process of encrypting and transmitting host memory to a secure enclave of computing devices in confidential computing scenarios, thereby improving computing speed. It is suitable for memory-intensive large model training, fine-tuning, and inference scenarios. It does not require targeted analysis and modification of different models or frameworks. The computing device performs automatic analysis and prediction. Even if prefetching fails, its data loading cycle is consistent with that without the prefetching module. Hardware modifications are minimal, and the module firmware can be continuously upgraded according to the continuous development of large model technology.
[0162] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0163] Based on the same inventive concept, this application also provides a data transmission apparatus for implementing the data transmission method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, specific limitations in one or more data transmission apparatus embodiments provided below can be found in the limitations of the data transmission method described above, and will not be repeated here.
[0164] In one exemplary embodiment, such as Figure 8 As shown, a data transmission device is provided, including: a transmitting module 801 and a receiving module 802, wherein:
[0165] The first sending module 801 is used to send a data read request to the host;
[0166] The first receiving module 802 is used to receive cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting the prediction data based on the prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
[0167] In one optional embodiment, the data read request carries target data access information; the first sending module 801 is specifically used to match the target data access information with the predicted data access information; if there is a match between the predicted data access information and the target data access information, the successful matching result and the data read request are sent to the host, and the successful matching result and the data read request are used to instruct the host to determine the cached encrypted predicted data corresponding to the data read request, and send the determined encrypted predicted data to the graphics computing unit.
[0168] In one optional embodiment, the data read request carries target data access information; the first sending module 801 is specifically used to match the target data access information with the predicted data access information; if there is no match between the predicted data access information and the target data access information, the data read request is sent to the host, the data read request is used to instruct the host to obtain access data based on the target data access information, encrypt the access data to obtain access encrypted data, and send the access encrypted data to the graphics computing unit.
[0169] In one optional embodiment, the above apparatus further includes: an encrypted prediction data generation module, used to obtain historical data access records of the host; make predictions based on the historical data access records to obtain prediction data access information; send the prediction data access information to the host, the prediction data access information being used to instruct the host to read the prediction data, and after encrypting the prediction data, cache the encrypted prediction data.
[0170] In one optional embodiment, the encrypted prediction data generation module is specifically used to predict historical data access records using a microcontroller or programmable logic array with a neural network to obtain predicted data access information.
[0171] In one optional embodiment, the prediction data access information includes several prediction results sorted by probability; the encrypted prediction data generation module is specifically used to send several prediction results sorted by probability to the host, and the several prediction results sorted by probability are used to instruct the host to read the corresponding prediction data according to each prediction result, and to encrypt each prediction data and cache the encrypted prediction data.
[0172] In one optional embodiment, the data read request carries target data access information; the encrypted prediction data generation module is specifically used to match the target data access information with the prediction data access information and record the number of times the target data access information and the prediction data access information are successfully matched; if the number of times the target data access information and the prediction data access information are successfully matched is greater than or equal to the target value, the prediction data access information is sent to the host.
[0173] In one optional embodiment, the encrypted prediction data generation module is specifically used to cache data access records when the number of data read requests is less than a threshold; the data read request is used to instruct the host to obtain second access data, encrypt the second access data to obtain second access encrypted data, and send the second access encrypted data to the graphics computing unit; when the number of data read requests is greater than or equal to the threshold, the data access records are cached, and the step of obtaining the host's historical data access records continues.
[0174] In one exemplary embodiment, such as Figure 9 As shown, a data transmission device is provided, comprising: a second receiving module 901, a query module 902, and a second sending module 903, wherein:
[0175] The second receiving module 901 is used to receive data reading requests sent by the graphics computing unit;
[0176] The query module 902 is used to query the encrypted prediction data corresponding to the data read request. The encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
[0177] The second sending module 903 is used to send encrypted prediction data to the graphics computing unit.
[0178] In one optional embodiment, the above apparatus further includes: a second encrypted prediction data generation module, configured to receive prediction data access information sent by the graphics computing unit, the prediction data access information being predicted based on the acquired historical data access records of the host; acquire prediction data corresponding to the prediction data access information; encrypt the prediction data; and cache the encrypted prediction data.
[0179] In one optional embodiment, the query module 902 is specifically used to determine the cached encrypted prediction data corresponding to the data read request when receiving a successful matching result sent by the graphics computing unit; the successful matching result is generated by the graphics computing unit when the target data access information corresponding to the data read request and the prediction data access information are successfully matched.
[0180] In one optional embodiment, the query module 902 is specifically used to obtain the cached encrypted prediction data when the encrypted prediction data corresponding to the data read request has been encrypted; and to encrypt the access data corresponding to the data read request to obtain the encrypted prediction data when the encrypted prediction data corresponding to the data read request has not been encrypted.
[0181] In one optional embodiment, the query module 902 is specifically used to determine the access data corresponding to the data read request and detect whether the access data is the same as the predicted data; if the access data is the same as the predicted data, the encrypted data corresponding to the predicted data is used as the cached encrypted predicted data corresponding to the data read request.
[0182] In one optional embodiment, the prediction data access information includes several prediction results sorted by probability; the query module is further specifically used to obtain multiple prediction data corresponding to the prediction results in sequence according to probability sorting; to encrypt the multiple prediction data in sequence according to probability sorting, and to cache each encrypted prediction data obtained.
[0183] In one optional embodiment, the query module is further specifically used to determine the access data corresponding to the data read request; match the access data with multiple prediction data to obtain prediction data that matches the access data; and use the encrypted prediction data corresponding to the prediction data that matches the access data as the cached encrypted prediction data corresponding to the data read request.
[0184] In one optional embodiment, the above apparatus further includes: an encryption module, configured to encrypt the access data to obtain encrypted access data when the access data and the prediction data are different; and to send the encrypted access data to the graphics computing unit.
[0185] Each module in the aforementioned data transmission device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0186] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 10 As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a data transmission method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0187] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0188] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0189] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0190] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0191] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0192] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, host machines, graphics processors, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0193] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0194] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A data transmission method, characterized in that, Applied to a graphics computing unit; the method includes: Send a data read request to the host; The system receives cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting the prediction data based on the prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
2. The method according to claim 1, characterized in that, The data read request carries target data access information; Sending a data read request to the host includes: Match the target data access information with the predicted data access information; If the predicted data access information matches the target data access information, the successful match result and the data read request are sent to the host. The successful match result and the data read request are used to instruct the host to determine the cached encrypted predicted data corresponding to the data read request, and to send the determined encrypted predicted data to the graphics computing unit.
3. The method according to claim 1, characterized in that, The data read request carries target data access information; Sending a data read request to the host includes: Match the target data access information with the predicted data access information; If no predicted data access information matches the target data access information, the data read request is sent to the host. The data read request is used to instruct the host to obtain access data based on the target data access information, encrypt the access data to obtain encrypted access data, and send the encrypted access data to the graphics computing unit.
4. The method according to any one of claims 1 to 3, characterized in that, After sending the data read request to the host, the method further includes: Retrieve the host's historical data access records; Based on the historical data access records, predictions are made to obtain predicted data access information; The prediction data access information is sent to the host, which instructs the host to read the prediction data, encrypt the prediction data, and cache the encrypted prediction data.
5. The method according to claim 4, characterized in that, The prediction based on the historical data access records to obtain predicted data access information includes: The historical data access records are predicted by using a microcontroller or programmable logic array with a neural network to obtain predicted data access information.
6. The method according to claim 4, characterized in that, The predicted data access information includes several predicted results ordered by probability; sending the predicted data access information to the host includes: The plurality of prediction results ordered by probability are sent to the host. The plurality of prediction results ordered by probability are used to instruct the host to read the corresponding prediction data according to each prediction result, and to encrypt each prediction data and cache the encrypted prediction data.
7. The method according to claim 4, characterized in that, The data read request carries target data access information; after obtaining the predicted data access information based on the historical data access records, the process further includes: The target data access information is matched with the predicted data access information, and the number of times the target data access information and the predicted data access information are successfully matched is recorded. If the number of times the target data access information and the predicted data access information are successfully matched is greater than or equal to the target value, the predicted data access information is sent to the host.
8. The method according to claim 4, characterized in that, The method further includes: If the number of data read requests is less than the threshold, the data access record is cached; the data read request is used to instruct the host to obtain the second access data, encrypt the second access data to obtain the second access encrypted data, and send the second access encrypted data to the graphics computing unit; If the number of data read requests is greater than or equal to the threshold, the data access record is cached, and the step of obtaining the host's historical data access record continues.
9. A data transmission method, characterized in that, Applied to a host; the method includes: Receive data read requests sent by the graphics computing unit; The system queries the encrypted prediction data corresponding to the data read request. The encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the historical data access records of the host. The encrypted prediction data is sent to the graphics computing unit.
10. The method according to claim 9, characterized in that, The method further includes: The system receives predicted data access information sent by the graphics computing unit, which is obtained by predicting based on the historical data access records of the acquired host. Obtain the prediction data corresponding to the prediction data access information; The predicted data is encrypted, and the encrypted predicted data is cached.
11. The method according to claim 10, characterized in that, The encrypted prediction data corresponding to the query and the data read request includes: Upon receiving a successful matching result from the graphics computing unit, the cached encrypted prediction data corresponding to the data read request is determined; the successful matching result is generated by the graphics computing unit when the target data access information corresponding to the data read request successfully matches the prediction data access information.
12. The method according to claim 11, characterized in that, The step of determining the cached encrypted prediction data corresponding to the data read request includes: If the encrypted prediction data corresponding to the data read request is successfully encrypted, the cached encrypted prediction data is retrieved. The method further includes: If the encrypted prediction data corresponding to the data read request has not been encrypted, the access data corresponding to the data read request is encrypted to obtain access encrypted data, and the access encrypted data is sent to the graphics computing unit.
13. The method according to claim 11, characterized in that, The step of determining the cached encrypted prediction data corresponding to the data read request includes: Determine the access data corresponding to the data read request, and detect whether the access data is the same as the predicted data; If the accessed data is the same as the predicted data, the encrypted data corresponding to the predicted data will be used as the cached encrypted predicted data corresponding to the data read request.
14. The method according to claim 13, characterized in that, The method further includes: If the access data is different from the predicted data, the access data is encrypted to obtain encrypted access data; The access encryption data is sent to the graphics computing unit.
15. The method according to claim 11, characterized in that, The prediction data access information includes several prediction results sorted by probability; obtaining the prediction data corresponding to the prediction data access information includes: According to the probability sorting, obtain multiple prediction data corresponding to the prediction results in sequence; The step of encrypting the prediction data and caching the encrypted prediction data includes: The multiple predicted data are encrypted sequentially according to probability sorting, and the encrypted predicted data are cached.
16. The method according to claim 15, characterized in that, The step of determining the cached encrypted prediction data corresponding to the data read request includes: Determine the access data corresponding to the data read request; match the access data with multiple prediction data to obtain prediction data that matches the access data; The encrypted prediction data corresponding to the prediction data that matches the access data is used as the cached encrypted prediction data corresponding to the data read request.
17. The method according to claim 9, characterized in that, The method further includes: If no matching success result is received from the graphics computing unit, access data is obtained based on the target data access information carried in the data read request; the matching success result is generated by the graphics computing unit when the target data access information corresponding to the data read request matches the predicted data access information. The access data is encrypted to obtain encrypted access data; The access encryption data is sent to the graphics computing unit.
18. A data transmission device, characterized in that, Applied to a graphics computing unit; the device includes: The sending module is used to send data read requests to the host; The receiving module is configured to receive cached encrypted prediction data returned by the host based on the data read request; the cached encrypted prediction data is obtained by the host encrypting prediction data based on prediction data access information sent by the graphics computing unit; the prediction data access information is obtained by the graphics computing unit based on the host's historical data access records.
19. A data transmission device, characterized in that, Applied to a host computer; the device includes: The second receiving module is used to receive data read requests sent by the graphics computing unit; The query module is used to query the encrypted prediction data corresponding to the data read request. The encrypted prediction data is obtained by encrypting the prediction data based on the prediction data access information sent by the graphics computing unit. The prediction data access information is obtained by the graphics computing unit based on the historical data access records of the host. The second sending module is used to send the encrypted prediction data to the graphics computing unit.
20. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 17.
21. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 17.
22. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 17.