DMA data transmission optimization method in federated learning
By constructing and sending DMA connection identification data in federated learning, the problem that the data receiver cannot identify the data source in multiple DMA connection scenarios is solved, and a wider range of DMA data transmission application scenarios are realized.
Patent Information
- Application Number
- CN202111086414.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-16
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2041-09-16
AI Technical Summary
In the existing DMA data transmission technology, in multiple DMA connection scenarios, the underlying logic layer of the data receiver cannot know which DMA connection to receive the data transmitted by the data, resulting in high usage limitations.
By sending a DMA connection request to the network layer of the data receiver, DMA connection identification data is received and constructed, and sent to the logical layer of the data receiver, so that the data receiver can receive the data to be transmitted according to the DMA connection identification.
It is realized that in multiple DMA connection scenarios, the underlying logic layer of the data receiver can sense which DMA connection data needs to be received, reducing the limitations of the use of DMA data transmission technology.
Smart Images

Figure CN113900977B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, device, equipment, readable storage medium and product for optimizing DMA data transmission in federated learning. Background Art
[0002] With the continuous development of artificial intelligence technology, the way of data transmission is also constantly updated. DMA (Direct Memory Access) is a network communication method that does not require the intervention of both systems, has high throughput and low latency. Its principle is to directly transfer data to the computer's storage area, and then use the network card to directly send the data in the storage area to the receiving storage area of the other end without any impact on the CPU, which will greatly reduce the computer's computing resources and the consumption of kernel switching. At present, the data sender and the data receiver usually only build one DMA connection for DMA data transmission, and then the underlying logic layer of the data receiver can directly receive data. When multiple DMA connections need to be built between the data sender and the data receiver for data transmission, the underlying logic layer of the data receiver usually cannot know which DMA connection needs to receive the data transmitted, which will result in the DMA data transmission technology being limited to the scenario of pre-establishing a DMA connection for data transmission. Therefore, the use of existing DMA data transmission technology is highly limited. Summary of the invention
[0003] The main purpose of this application is to provide a method, device, equipment, readable storage medium and product for optimizing DMA data transmission in federated learning, aiming to solve the technical problem that the use of DMA data transmission technology in the prior art is highly limited.
[0004] To achieve the above-mentioned object, the present application provides a method for optimizing DMA data transmission in federated learning, wherein the method for optimizing DMA data transmission in federated learning is applied to a data sender, and the method for optimizing DMA data transmission in federated learning includes:
[0005] Sending a DMA connection request to the network layer of the data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request, so as to establish a DMA connection;
[0006] Constructing target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification;
[0007] The target DMA connection identification data is sent to the logic layer of the data receiver, so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0008] Optionally, before the step of sending a DMA connection request to the network layer of the data receiving party, the method for optimizing DMA data transmission in federated learning further includes:
[0009] Obtaining data recipient information corresponding to the data recipient of the data to be transmitted;
[0010] According to the data recipient information, searching a preset DMA connection pool for a DMA connection identifier corresponding to the data recipient information, wherein the preset DMA connection pool is used to store data recipient information of at least one data recipient and a DMA connection identifier corresponding to the data recipient information;
[0011] If the search is successful, extracting the DMA connection identifier from the preset DMA connection pool;
[0012] If the search fails, the following steps are performed: a DMA connection request is sent to the network layer of the data receiver, and a DMA connection identifier fed back by the data receiver based on the DMA connection request is received to establish a DMA connection.
[0013] Optionally, the step of sending the target DMA connection identification data to the logic layer of the data receiver includes:
[0014] Put the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue;
[0015] According to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information.
[0016] Optionally, the preset blocking queue includes a bounded blocking queue.
[0017] After the step of sequentially sending the target DMA connection identification data to the logic layer of the data receiver corresponding to the data receiver information according to the preset blocking queue, the method for optimizing DMA data transmission in federated learning further includes:
[0018] Determine whether the target DMA connection identification data is successfully sent within a preset time period;
[0019] If the sending is unsuccessful, the target DMA connection identification data is directly sent to the logical layer of the data receiver corresponding to the data receiver information.
[0020] Optionally, after the step of receiving the DMA connection identifier fed back by the data receiving party based on the DMA connection request, the method for optimizing DMA data transmission in federated learning further includes:
[0021] The data recipient information corresponding to the DMA connection identifier and the DMA connection identifier are stored in a preset DMA connection pool in the form of a key-value pair.
[0022] After the step of sending the target DMA connection identification data to the logic layer of the data receiver so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data, the method for optimizing DMA data transmission in federated learning includes:
[0023] When the preset data to be transmitted is executed, a connection disconnection indication is sent to the data receiving party, so that the data receiving party can disconnect the corresponding DMA connection according to the connection disconnection indication.
[0024] To achieve the above-mentioned object, the present application provides a method for optimizing DMA data transmission in federated learning, wherein the method for optimizing DMA data transmission in federated learning is applied to a data receiving party, and the method for optimizing DMA data transmission in federated learning includes:
[0025] Receiving a DMA connection request from a data sender through a network layer of the data receiver, and generating a DMA connection identifier corresponding to the DMA connection request;
[0026] The DMA connection identifier is transmitted to the corresponding data sender through the network layer, so that the data sender can construct target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, and send the target DMA connection identifier data to the logic layer of the data receiver;
[0027] The data to be transmitted that is transmitted by the data sender using the DMA connection is received according to the target DMA connection identification data.
[0028] The present application also provides a DMA data transmission optimization device in federated learning, wherein the DMA data transmission optimization device in federated learning is a virtual device, and the DMA data transmission optimization device in federated learning is applied to a data sender, and the DMA data transmission optimization device in federated learning includes:
[0029] The request module sends a DMA connection request to the network layer of the data receiving party, and receives a DMA connection identifier fed back by the data receiving party based on the DMA connection request to establish a DMA connection;
[0030] A construction module, configured to construct target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification;
[0031] The sending module is used to send the target DMA connection identification data to the logic layer of the data receiver, so that the data receiver can receive the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0032] Optionally, the DMA data transmission optimization device in federated learning is further used for:
[0033] Obtaining data recipient information corresponding to the data recipient of the data to be transmitted;
[0034] According to the data recipient information, searching a preset DMA connection pool for a DMA connection identifier corresponding to the data recipient information, wherein the preset DMA connection pool is used to store data recipient information of at least one data recipient and a DMA connection identifier corresponding to the data recipient information;
[0035] If the search is successful, extracting the DMA connection identifier from the preset DMA connection pool;
[0036] If the search fails, the following steps are performed: a DMA connection request is sent to the network layer of the data receiver, and a DMA connection identifier fed back by the data receiver based on the DMA connection request is received to establish a DMA connection.
[0037] Optionally, the sending module is further used for:
[0038] Put the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue;
[0039] According to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information.
[0040] Optionally, the preset blocking queue includes a bounded blocking queue, and the sending module is further used for:
[0041] Determine whether the target DMA connection identification data is successfully sent within a preset time period;
[0042] If the sending is unsuccessful, the target DMA connection identification data is directly sent to the logical layer of the data receiver corresponding to the data receiver information.
[0043] Optionally, the DMA data transmission optimization device in federated learning is further used for:
[0044] The data recipient information corresponding to the DMA connection identifier and the DMA connection identifier are stored in a preset DMA connection pool in the form of a key-value pair.
[0045] Optionally, the DMA data transmission optimization device in federated learning is further used for:
[0046] When the preset data to be transmitted is executed, a connection disconnection indication is sent to the data receiving party, so that the data receiving party can disconnect the corresponding DMA connection according to the connection disconnection indication.
[0047] The present application also provides a DMA data transmission optimization device in federated learning, wherein the DMA data transmission optimization device in federated learning is a virtual device, and the DMA data transmission optimization device in federated learning is applied to a data receiving party, and the DMA data transmission optimization device in federated learning includes:
[0048] A generating module, configured to receive a DMA connection request from a data sender through a network layer of the data receiver, and generate a DMA connection identifier corresponding to the DMA connection request;
[0049] A sending module, used for transmitting the DMA connection identifier to a corresponding data sender through a network layer, so that the data sender can construct target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, and send the target DMA connection identifier data to the logic layer of the data receiver;
[0050] The connection establishment module is used to receive the data to be transmitted which is transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0051] The present application also provides a DMA data transmission optimization device in federated learning, which is a physical device. The DMA data transmission optimization device in federated learning includes: a memory, a processor, and a program of the DMA data transmission optimization method in federated learning stored in the memory and executable on the processor. When the program of the DMA data transmission optimization method in federated learning is executed by the processor, the steps of the DMA data transmission optimization method in federated learning as described above can be implemented.
[0052] The present application also provides a readable storage medium, on which is stored a program for implementing a DMA data transmission optimization method in federated learning. When the program for the DMA data transmission optimization method in federated learning is executed by a processor, the steps of the DMA data transmission optimization method in federated learning as described above are implemented.
[0053] The present application also provides a product, which is a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the DMA data transmission optimization method in federated learning are implemented as described above.
[0054] The present application provides a method, apparatus, device, readable storage medium and product for optimizing DMA data transmission in federated learning, which are applied to a data sender, that is, firstly sending a DMA connection request to a network layer of a data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request to establish a DMA connection, and then constructing target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, thereby achieving the purpose of associating the DMA connection identifier with the corresponding data to be transmitted, and then sending the target DMA connection identifier data to the logical layer of the data receiver, so that the data receiver can receive the data from the data sender based on the target DMA connection identifier data and use the DMA The data to be transmitted is connected for transmission, and even if there are multiple DMA connections between the data receiving party and the data sending party, the underlying logic layer of the data receiving party can also know which DMA connection will transmit the data to be transmitted based on the DMA connection identifier, that is, the underlying logic layer of the data receiving party can simultaneously perceive which data sender's data needs to be received and the data information of the data to be transmitted that needs to be received. Therefore, when multiple DMA connections need to be established between the data sender and the data receiving party for data transmission, the underlying logic layer of the data receiving party usually cannot know which DMA connection data needs to be received, which will lead to the technical defect that the DMA data transmission technology can only be limited to the scenario of pre-establishing one DMA connection for data transmission. Therefore, the usage limitations of DMA data transmission technology are reduced. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0056] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0057] Figure 1 This is a flow chart of the first embodiment of the DMA data transmission optimization method in federated learning of this application;
[0058] Figure 2A schematic diagram of interaction between a data sender and a data receiver when the target DMA connection identification data in the DMA data transmission optimization method in federated learning of this application is the DMA connection identification itself;
[0059] Figure 3 This is a flow chart of the second embodiment of the DMA data transmission optimization method in federated learning of this application;
[0060] Figure 4 A flow chart of data interaction between a data sender and a data receiver based on a preset DMA connection pool and a preset blocking queue in the DMA data transmission optimization method in federated learning of this application;
[0061] Figure 5 This is a flow chart of the third embodiment of the DMA data transmission optimization method in federated learning of the present application;
[0062] Figure 6 Schematic diagram of the device structure of the hardware operating environment involved in the DMA data transmission optimization method in federated learning in the embodiment of the present application.
[0063] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0064] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0065] Embodiment 1
[0066] The embodiment of the present application provides a method for optimizing DMA data transmission in federated learning, which is applied to a data sender. In the first embodiment of the method for optimizing DMA data transmission in federated learning of the present application, refer to Figure 1 , the DMA data transmission optimization method in the federated learning includes:
[0067] Step S10, sending a DMA connection request to the network layer of the data receiving party, and receiving a DMA connection identifier fed back by the data receiving party based on the DMA connection request, so as to establish a DMA connection;
[0068] In this embodiment, it should be noted that the DMA data transmission optimization method in federated learning can be applied to federated learning scenarios. For example, the data sender can be a participant in federated learning, and the data receiver can be another participant in federated learning. Alternatively, the data sender can be a participant in federated learning, and the data receiver can be a federated server in federated learning.
[0069] In addition, it should be noted that the network layer is the upper layer of the data receiver, and the data receiver also includes the underlying logic layer. Since the language environment of the network layer and the logic layer is different, the network layer cannot communicate directly with the logic layer. For example, the language environment of the network layer can be the python language environment, while the language environment of the logic layer is the C language environment.
[0070] A DMA connection request is sent to the network layer of a data receiver, and a DMA connection identifier fed back by the data receiver based on the DMA connection request is received to establish a DMA connection. Specifically, a DMA connection request is sent to the network layer of the data receiver, and then the data receiver generates a DMA connection identifier after receiving the DMA connection request, and sends the DMA connection identifier to the data receiver to establish a DMA connection between the data sender and the data receiver, wherein the DMA connection identifier is an identity identifier of the DMA connection.
[0071] Step S20, constructing target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification;
[0072] In the present embodiment, it should be noted that the data information of the data to be transmitted is used to instruct the data receiving party to prepare corresponding memory to receive the data to be transmitted, and the data information of the data to be transmitted includes the data size information of the data to be transmitted and / or the storage space required for the data to be transmitted, wherein the data size information of the data to be transmitted can be the total data size of the data to be transmitted, or it can be the data size transmitted each time when the DMA connection transmits the data to be transmitted and the number of data transmissions through the DMA connection established this time. For example, assuming that the total data size of the data to be transmitted is 100M, and the data size that can be transmitted each time by the DMA connection is 10M, then the size of each data transmission by the DMA connection is 10M, and the number of data transmissions is 10 times.
[0073] Based on the DMA connection identifier and the data information of the data to be transmitted corresponding to the DMA connection identifier, the target DMA connection identifier data is constructed. Specifically, the preset size information of the data to be transmitted is obtained, and then based on the DMA connection identifier and the size information of the data to be transmitted, the target DMA connection identifier data is constructed to establish a temporary association relationship between the DMA connection identifier and the data to be transmitted, thereby achieving the purpose of associating the DMA connection identifier with the data to be transmitted.
[0074] Wherein, the step of constructing target DMA connection identification data based on the DMA connection identification and the size information of the data to be transmitted includes:
[0075] The DMA connection identifier and the size information of the data to be transmitted are encapsulated into a data packet to be transmitted, and the data packet to be transmitted is used as the target DMA connection identification data; or the DMA connection identifier and the corresponding size information of the data to be transmitted are stored as a target key-value pair, and the target key-value pair is used as the target DMA connection identification data; or the DMA connection identifier and the size information of the data to be transmitted are directly spliced to obtain a splicing result, and the splicing result is used as the target DMA connection identifier.
[0076] In addition, it should be noted that the target DMA connection identification data may also be the DMA connection identification itself, for the following reasons:
[0077] Before establishing a DMA connection, the data receiver and the data sender can agree on the size of data for each data transmission, and the data sender only needs to temporarily associate the DMA connection identifier with the corresponding data to be transmitted. At this time, the target DMA connection identifier data is the DMA connection identifier itself. After the DMA connection corresponding to the DMA connection identifier is established, since the DMA connection identifier has been temporarily associated with the corresponding data to be transmitted in advance, the data sender can directly transmit the data to be transmitted to the data receiver through the DMA connection. Since the data receiver and the data sender have agreed in advance on the size of data for each data transmission, the data receiver can directly allocate a storage space of corresponding size in advance to receive and store data before each data transmission. Figure 2 The figure shows an interaction diagram between a data sender and a data receiver when the target DMA connection identification data is the DMA connection identification itself, wherein the client end is the data sender, the service side is the data receiver, and the connection identification of the DMA connection is the DMA connection identification.
[0078] Step S30, sending the target DMA connection identification data to the logic layer of the data receiver, so that the data receiver can receive the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0079] In this embodiment, the target DMA connection identification data is sent to the logical layer of the data receiver, so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data. Specifically, the target DMA connection identification data is sent to the logical layer of the data receiver, and then the data receiver prepares a target memory corresponding to the size of the data to be transmitted, and associates the target memory with the DMA connection identification, and then the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the mutually associated DMA connection and target memory, and then the underlying logical layer of the data receiver can sense which DMA connection is going to perform data transmission, and prepares the corresponding target memory to receive the data to be transmitted, wherein the data receiver prepares a target memory corresponding to the size of the data to be transmitted, and associates the target memory with the DMA connection identification, and then the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the mutually associated DMA connection and target memory, and the step also includes:
[0080] The data receiver first performs a memory application and a memory registration, wherein the memory application is used to prepare a target memory corresponding to the size information of the data to be transmitted in the target DMA connection identification data, and the memory registration is used to allow the network card to directly write the data to be transmitted received through the DMA connection into the corresponding memory, and then the data receiver submits the target memory to the network card and specifies the DMA connection identification corresponding to the target memory, and then the data receiver can notify the data sender to send the data, and the data receiver can directly receive and store the data to be transmitted transmitted by the DMA connection corresponding to the DMA connection identification based on the target memory, and since the DMA connection identification is assigned to the DMA connection, the underlying logic layer of the data receiver can always sense which DMA connection is used for data transmission to prepare for data reception.
[0081] Wherein, the step of sending the target DMA connection identification data to the logical layer of the data receiver includes:
[0082] Step S31, putting the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue;
[0083] In this embodiment, it should be noted that the data receiving party information includes a server IP address and a service port number, wherein the server IP address is the IP address of the server in the data receiving party, and the service port number is the identifier of the server port used to establish a DMA connection, wherein there is at least one server in the data receiving party, and a service port in the server corresponds to at least one DMA connection, and thus the data receiving party can establish a DMA connection with at least one data sender through at least one service port.
[0084] The target DMA connection identification data and the data recipient information corresponding to the target DMA connection identification data are put into a preset blocking queue together. Specifically, the target DMA connection identification data and the data recipient information corresponding to the target DMA connection identification data are put into a preset blocking queue together as queue elements, wherein it should be noted that there is at least one queue element in the preset blocking queue, that is, there is at least one DMA connection identification in the data sender. The data sender can establish a DMA connection with at least one service port of a data receiver, that is, the data sender can establish corresponding DMA connections with several service ports, and the several service ports can belong to the same data receiver or to different data receivers. Then, when the concurrent data transmission of the data receiver is high, a large number of DMA connection identifications are sequentially sent to the corresponding service ports of the data receiver to reduce the peak pressure of the data transmission of the data receiver.
[0085] Step S32: According to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information.
[0086] In this embodiment, based on the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information. Specifically, when the queue element corresponding to the target DMA connection identification data is out of the queue, based on the server IP address and service port number in the queue element, the target DMA connection identification data is sequentially sent to the logical layer in the corresponding data receiver.
[0087] In addition, it should be noted that in order to better manage the DMA connection identifier, at least one preset blocking queue can be deployed in the data sender, and the data receiver can be set to correspond one to one with the preset blocking queue, which can prevent the DMA connection identifiers of different data receivers from being confused in the same preset blocking queue, thereby affecting the efficiency of DMA connection identifier transmission. The preset blocking queue can use FIFO (First Input First Output) data transmission method to send the target DMA connection identifier data to the logical layer of the corresponding data receiver.
[0088] Wherein, the preset blocking queue includes a bounded blocking queue,
[0089] After the step of sequentially sending the target DMA connection identification data to the logic layer of the data receiver corresponding to the data receiver information according to the preset blocking queue, the method for optimizing DMA data transmission in federated learning further includes:
[0090] Step S311, determining whether the target DMA connection identification data is successfully sent within a preset time period;
[0091] Step S312: If the sending is unsuccessful, the target DMA connection identification data is directly sent to the logical layer of the data receiver corresponding to the data receiver information.
[0092] In this embodiment, it is determined whether the target DMA connection identification data is successfully sent within a preset time period. If it is not successfully sent, it proves that the bounded blocking queue is blocked, and then the target DMA connection identification data is directly sent to the logical layer of the data receiver corresponding to the data receiver information, so as to prevent the target DMA connection identification data from being delayed in being sent to the corresponding logical layer of the data receiver due to the blocking queue being full. The reasons for the blocking of the bounded blocking queue include that the amount of data sent by the data sender is greater than the queue capacity, and / or the data sending speed of the data sender is greater than the processing speed of the data receiver, etc. For example, when the data receiver receives the DMA connection identification at a slow speed, and at this time, since the data sender fails to successfully send the target DMA connection identification data, the next target DMA connection identification data cannot be sent at this time, and the data sender is still putting the target DMA connection identification data into the bounded blocking queue, it is easy to cause the bounded blocking queue to be blocked. Therefore, at this time, the target DMA connection identification data is not sent through the bounded blocking queue but directly to the data receiver, which can improve the sending efficiency of the DMA connection identification.
[0093] In addition, it should be noted that, since the bounded blocking queue is bounded, within a preset time period, the data sender can only send a number of DMA connection identifiers whose number is not greater than the preset number threshold to the data receiver, and the number of DMA connections used by the data receiver with at least one data receiver within the preset time period will not exceed the preset upper limit that the network card can bear, thereby preventing the data sender's device from occupying too many device resources due to establishing too many DMA connections, thereby causing the data sender's device to be stuck or crashed. For example, assuming that the network card can use up to 100 DMA connections for data transmission, if the data sender sends the DMA connection identifier to the data receiver for data transmission, when the data concurrency is large, it is easy to cause the number of DMA connections used by the network card for data transmission to exceed 100, thereby causing the system to be stuck or crashed. By sending the DMA connection identifier to the data receiver through a bounded blocking queue, the length of the bounded blocking queue or the time interval for sending the DMA connection identifier can be set to ensure that the DMA connection used by the network card for data transmission within the preset time period will not exceed 100, thereby preventing the occurrence of stuck or crashes.
[0094] Wherein, after the step of sending the target DMA connection identification data to the logic layer of the data receiver so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data, the DMA data transmission optimization method in federated learning includes:
[0095] Step S40, when the preset data to be transmitted is executed, a connection disconnection indication is sent to the data receiving party, so that the data receiving party can disconnect the corresponding DMA connection according to the connection disconnection indication.
[0096] When the preset data to be transmitted is executed, a connection disconnection indication is sent to the data receiver, so that the data receiver can disconnect the corresponding DMA connection according to the connection disconnection indication. Specifically, when the preset data to be transmitted is executed, a connection disconnection indication is generated, and according to the server IP address and service port number corresponding to the preset data to be transmitted, the connection disconnection indication is sent to the server in the corresponding data receiver, so that the data receiver can disconnect the DMA connection of the corresponding server port according to the connection disconnection indication, so as to release the device resources of the data receiver and reduce the load of the data receiver.
[0097] An embodiment of the present application provides a method for optimizing DMA data transmission in federated learning, which is applied to a data sender, that is, first sending a DMA connection request to a network layer of a data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request to establish a DMA connection, and then constructing target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, thereby achieving the purpose of associating the DMA connection identifier with the corresponding data to be transmitted, and then sending the target DMA connection identifier data to the logical layer of the data receiver, so that the data receiver can receive the data to be transmitted by the data sender using the DMA connection based on the target DMA connection identifier data. Transmit data, and even if there are multiple DMA connections between the data receiver and the data sender, the underlying logic layer of the data receiver can also know which DMA connection will transmit the data to be transmitted based on the DMA connection identifier, that is, the underlying logic layer of the data receiver can simultaneously perceive which data sender's data needs to be received and the data information of the data to be transmitted that needs to be received. Therefore, when multiple DMA connections need to be established between the data sender and the data receiver for data transmission, the underlying logic layer of the data receiver usually cannot know which DMA connection data needs to be received, which will lead to the technical defect that the DMA data transmission technology can only be limited to the scenario of pre-establishing one DMA connection for data transmission. Therefore, the use limitations of DMA data transmission technology are reduced.
[0098] Embodiment 2
[0099] Further, refer to Figure 3 Based on the first embodiment of the present application, in another embodiment of the present application, before the step of sending a DMA connection request to the network layer of the data receiving party, the method for optimizing DMA data transmission in federated learning further includes:
[0100] Step A10, obtaining data recipient information corresponding to the data recipient of the data to be transmitted;
[0101] In this embodiment, it should be noted that each data sender maintains at least one preset DMA connection pool, wherein the preset DMA connection pool is used to store data receiver information of at least one data receiver and a DMA connection identifier corresponding to the data receiver information, and the above-mentioned data receiver information and its corresponding DMA connection identifier are stored in the preset DMA connection pool in the form of a key-value pair. Preferably, the data receiver information can be set as a key in the key-value pair, and the DMA connection identifier can be set as a value in the key-value pair, wherein the data receiver information includes a server IP address and a service port number, and then when the data sender needs to establish a DMA connection with a service port of a server of a certain data receiver, the corresponding DMA connection identifier can be queried in the preset DMA connection pool with the IP address of the server and the corresponding service port number, and the DMA connection identifier is sent to the logical layer of the corresponding data receiver based on the IP address of the server and the corresponding service port number.
[0102] Step A20, searching a preset DMA connection pool for a DMA connection identifier corresponding to the data recipient information according to the data recipient information;
[0103] In this embodiment, based on the data recipient information, the DMA connection identifier corresponding to the data recipient information is searched in the preset DMA connection pool. Specifically, using the data recipient information as an index, the DMA connection identifier corresponding to the data recipient information is searched in the preset DMA connection pool.
[0104] Step A30, if the search is successful, extracting the DMA connection identifier from the preset DMA connection pool;
[0105] Step A40, if the search fails, execute the steps: sending a DMA connection request to the network layer of the data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request to establish a DMA connection.
[0106] In this embodiment, if the search is successful, the DMA connection identifier is directly extracted from the preset DMA connection pool. If the search fails, it proves that the DMA connection identifier corresponding to the data recipient information is not backed up in the preset DMA connection pool, and then the steps are executed: a DMA connection request is sent to the network layer of the data recipient, and the DMA connection identifier fed back by the data recipient based on the DMA connection request is received to establish a DMA connection.
[0107] Wherein, after the step of receiving the DMA connection identifier fed back by the data receiving party based on the DMA connection request, the method for optimizing DMA data transmission in federated learning further includes:
[0108] Step B10: storing the data recipient information corresponding to the DMA connection identifier and the DMA connection identifier in a preset DMA connection pool in the form of a key-value pair.
[0109] In this embodiment, specifically, after receiving the DMA connection identifier fed back by the data receiver based on the DMA connection request, the data receiver information corresponding to the DMA connection identifier and the DMA connection identifier are stored in a preset DMA connection pool in the form of a key-value pair. Then, when the data sender needs to re-establish the DMA connection corresponding to the DMA connection identifier with the data receiver, the data sender does not need to request the DMA identifier from the data receiver again, and the data receiver does not need to re-generate the DMA identifier, thereby saving the interaction process between the data sender and the data receiver and improving the efficiency of data transmission through DMA.
[0110] In addition, it should be noted that when data is transmitted between a data receiver and multiple data senders, the load on the data receiver is often extremely high. The embodiment of the present application places the DMA connection identifier on the data sender for maintenance, and the data receiver does not need to maintain the DMA identifier or generate a DMA identifier, which can reduce the load on the data receiver.
[0111] In one practicable manner of the embodiment of the present application, as Figure 4 This is a flow chart of the data sender in an embodiment of the present application performing data interaction with a data receiver based on a preset DMA connection pool and a preset blocking queue, wherein the connection request is the DMA connection request, setting the DMA connection identifier is the process of storing the DMA connection identifier in the preset DMA connection pool, and obtaining the DMA connection identifier is the process of extracting the DMA connection identifier from the preset DMA connection pool.
[0112] An embodiment of the present application provides a method for optimizing DMA data transmission in federated learning, that is, sending a DMA connection request to the network layer of a data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request to establish a DMA connection, and then constructing target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification, and then sending the target DMA connection identification data to the logical layer of the data receiver, so that the data receiver can receive the data to be transmitted by the data sender using the DMA connection based on the target DMA connection identification data. In this embodiment of the present application, the DMA identifier is placed on the data sender for maintenance. When the data sender needs to establish a DMA connection with the data receiver, the data sender does not need to request the DMA connection identifier from the data receiver, and the data receiver does not need to immediately generate a DMA connection identifier, and there is no need to feed back the immediately generated DMA identifier to the data sender, which further reduces the limitations of the use of DMA data transmission technology.
[0113] Embodiment 3
[0114] Further, refer to Figure 5 Based on the first embodiment of the present application, in another embodiment of the present application, the DMA data transmission optimization method in federated learning is applied to a data receiving party, and the DMA data transmission optimization method in federated learning includes:
[0115] Step C10, receiving a DMA connection request from a data sender through a network layer of the data receiver, and generating a DMA connection identifier corresponding to the DMA connection request;
[0116] Step C20, transmitting the DMA connection identifier to the corresponding data sender through the network layer, so that the data sender can construct target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, and send the target DMA connection identifier data to the logic layer of the data receiver;
[0117] In this embodiment, it should be noted that the data information of the data to be transmitted is used to instruct the data receiving party to prepare a corresponding memory to receive the data to be transmitted.
[0118] Specifically, the DMA connection request of the data sender is received through the network layer of the data receiver, and a DMA connection identifier corresponding to the DMA connection request is generated, and then the DMA connection identifier is transmitted to the corresponding data sender through the network layer, so that the data sender can construct target DMA connection identification data based on the DMA connection identifier and the data information of the corresponding data to be transmitted, so as to establish a temporary association relationship between the DMA connection identifier and the corresponding data to be transmitted, and then the data sender sends the target DMA connection identification data to the logical layer of the data receiver, wherein the specific process of the data sender constructing the target DMA connection identification data based on the DMA connection identifier and the data information of the corresponding data to be transmitted can refer to the specific implementation process in step S20, which will not be repeated here.
[0119] Step C30: receiving the data to be transmitted transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0120] In this embodiment, based on the target DMA connection identification data, the data to be transmitted by the data sender using the DMA connection is received. Specifically, the size information of the data to be transmitted and the DMA connection identification in the target DMA connection identification data are obtained, and then a target memory corresponding to the size of the data to be transmitted is prepared, and the target memory is associated with the DMA connection identification. Then, the data receiving party receives the data to be transmitted by the data sender using the DMA connection based on the mutually associated DMA connection and target memory. Then, the underlying logic layer of the data receiving party can sense which DMA connection will perform data transmission, and prepare the corresponding target memory to receive the data to be transmitted.
[0121] The step of preparing a target memory corresponding to the size of the data to be transmitted, associating the target memory with the DMA connection identifier, and then receiving the data to be transmitted by the data sender using the DMA connection according to the mutually associated DMA connection and target memory comprises:
[0122] The data receiver first performs a memory application and a memory registration, wherein the memory application is used to prepare a target memory corresponding to the size information of the data to be transmitted in the target DMA connection identification data, and the memory registration is used to allow the network card to directly write the data to be transmitted received through the DMA connection into the corresponding memory, and then the data receiver submits the target memory to the network card and specifies the DMA connection identification corresponding to the target memory, and then the data receiver can notify the data sender to send the data, and the data receiver can directly receive and store the data to be transmitted transmitted by the DMA connection corresponding to the DMA connection identification based on the target memory, and since the DMA connection identification is assigned to the DMA connection, the underlying logic layer of the data receiver can always sense which DMA connection is used for data transmission to prepare for data reception.
[0123] An embodiment of the present application provides a method for optimizing DMA data transmission in federated learning, that is, a DMA connection request of a data sender is received through the network layer of the data receiver, and a DMA connection identifier corresponding to the DMA connection request is generated, and then the DMA connection identifier is transmitted to the corresponding data sender through the network layer, so that the data sender can construct target DMA connection identification data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, and send the target DMA connection identification data to the logical layer of the data receiver, thereby achieving the purpose of associating the DMA connection with the corresponding data to be transmitted, and then according to the target DMA connection identification data, the data sender receives the DMA connection and transmits the data to the data receiver by using the DMA connection identifier. Therefore, even if there are multiple DMA connections between the data receiver and the data sender, the underlying logic layer of the data receiver can know which DMA connection will transmit the data to be transmitted based on the DMA connection identifier, that is, the underlying logic layer of the data receiver can simultaneously perceive which data sender's data needs to be received and the data information of the data to be transmitted that needs to be received. Therefore, when multiple DMA connections need to be established between the data sender and the data receiver for data transmission, the underlying logic layer of the data receiver usually cannot know which DMA connection data needs to be received, which will lead to the technical defect that the DMA data transmission technology can only be limited to the scenario of pre-establishing one DMA connection for data transmission. Therefore, the use limitations of DMA data transmission technology are reduced.
[0124] Reference Figure 6 , Figure 6 It is a schematic diagram of the device structure of the hardware operating environment involved in the embodiment of the present application.
[0125] like Figure 6As shown, the DMA data transmission optimization device in the federated learning may include: a processor 1001, such as a CPU, a memory 1005, and a communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between the processor 1001 and the memory 1005. The memory 1005 can be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 can also be a storage device independent of the aforementioned processor 1001.
[0126] Optionally, the DMA data transmission optimization device in the federated learning may also include a rectangular user interface, a network interface, a camera, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi module, etc. The rectangular user interface may include a display screen (Display), an input submodule such as a keyboard (Keyboard), and the optional rectangular user interface may also include a standard wired interface and a wireless interface. The network interface may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
[0127] Those skilled in the art will understand that Figure 6 The structure of the DMA data transmission optimization device in federated learning shown in the figure does not constitute a limitation of the DMA data transmission optimization device in federated learning, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0128] like Figure 6 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, and a DMA data transmission optimization program in federated learning. The operating system is a program that manages and controls the hardware and software resources of the DMA data transmission optimization device in federated learning, and supports the operation of the DMA data transmission optimization program in federated learning and other software and / or programs. The network communication module is used to realize the communication between the components inside the memory 1005, and to communicate with other hardware and software in the DMA data transmission optimization system in federated learning.
[0129] exist Figure 6 In the DMA data transmission optimization device in federated learning shown, the processor 1001 is used to execute the DMA data transmission optimization program in federated learning stored in the memory 1005 to implement the steps of any of the above-mentioned DMA data transmission optimization methods in federated learning.
[0130] The specific implementation methods and beneficial effects of the DMA data transmission optimization device in federated learning of the present application are basically the same as the embodiments of the DMA data transmission optimization method in federated learning mentioned above, and will not be repeated here.
[0131] Embodiment 4
[0132] The embodiment of the present application further provides a DMA data transmission optimization device in federated learning, wherein the DMA data transmission optimization device in federated learning is applied to a data sender, and the DMA data transmission optimization device in federated learning includes:
[0133] Sending a DMA connection request to the network layer of the data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request, so as to establish a DMA connection;
[0134] Constructing target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification;
[0135] The target DMA connection identification data is sent to the logic layer of the data receiver, so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0136] Optionally, before the step of sending a DMA connection request to the network layer of the data receiving party, the method for optimizing DMA data transmission in federated learning further includes:
[0137] Obtaining data recipient information corresponding to the data recipient of the data to be transmitted;
[0138] According to the data receiver information, searching for a DMA connection identifier corresponding to the data receiver information in a preset DMA connection pool;
[0139] If the search is successful, extracting the DMA connection identifier from the preset DMA connection pool;
[0140] If the search fails, the following steps are performed: a DMA connection request is sent to the network layer of the data receiver, and a DMA connection identifier fed back by the data receiver based on the DMA connection request is received to establish a DMA connection.
[0141] Optionally, the step of sending the target DMA connection identification data to the logic layer of the data receiver includes:
[0142] Put the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue;
[0143] According to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information.
[0144] Optionally, the preset blocking queue includes a bounded blocking queue.
[0145] After the step of sequentially sending the target DMA connection identification data to the logic layer of the data receiver corresponding to the data receiver information according to the preset blocking queue, the method for optimizing DMA data transmission in federated learning further includes:
[0146] Determine whether the target DMA connection identification data is successfully sent within a preset time period;
[0147] If the sending is unsuccessful, the target DMA connection identification data is directly sent to the logical layer of the data receiver corresponding to the data receiver information.
[0148] Optionally, after the step of receiving the DMA connection identifier fed back by the data receiving party based on the DMA connection request, the method for optimizing DMA data transmission in federated learning further includes:
[0149] The data recipient information corresponding to the DMA connection identifier and the DMA connection identifier are stored in a preset DMA connection pool in the form of a key-value pair.
[0150] After the step of sending the target DMA connection identification data to the logic layer of the data receiver so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data, the method for optimizing DMA data transmission in federated learning includes:
[0151] When the preset data to be transmitted is executed, a connection disconnection indication is sent to the data receiving party, so that the data receiving party can disconnect the corresponding DMA connection according to the connection disconnection indication.
[0152] The specific implementation methods and beneficial effects of the DMA data transmission optimization device in federated learning of the present application are basically the same as the embodiments of the DMA data transmission optimization method in federated learning mentioned above, and will not be repeated here.
[0153] Embodiment 5
[0154] The embodiment of the present application further provides a DMA data transmission optimization device in federated learning, wherein the DMA data transmission optimization device in federated learning is applied to a data receiving party, and the DMA data transmission optimization device in federated learning includes:
[0155] A generating module, configured to receive a DMA connection request from a data sender through a network layer of the data receiver, and generate a DMA connection identifier corresponding to the DMA connection request;
[0156] A sending module, used for transmitting the DMA connection identifier to a corresponding data sender through a network layer, so that the data sender can construct target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, and send the target DMA connection identifier data to the logic layer of the data receiver;
[0157] The connection establishment module is used to receive the data to be transmitted which is transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
[0158] The specific implementation methods and beneficial effects of the DMA data transmission optimization device in federated learning of the present application are basically the same as the embodiments of the DMA data transmission optimization method in federated learning mentioned above, and will not be repeated here.
[0159] Embodiment 6
[0160] An embodiment of the present application provides a readable storage medium, and the readable storage medium stores one or more programs, and the one or more programs can also be executed by one or more processors to implement the steps of the DMA data transmission optimization method in federated learning described in any of the above items.
[0161] The specific implementation methods and beneficial effects of the readable storage medium of the present application are basically the same as those of the above-mentioned embodiments of the DMA data transmission optimization method in federated learning, and will not be repeated here.
[0162] Embodiment 7
[0163] The present application also provides a product, which is a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the DMA data transmission optimization method in federated learning are implemented as described above.
[0164] The specific implementation methods and beneficial effects of the computer program product of the present application are basically the same as those of the above-mentioned embodiments of the DMA data transmission optimization method in federated learning, and will not be repeated here.
[0165] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent processing scope of the present application.
Claims
1. A method for optimizing DMA data transmission in federated learning, characterized in that: Applied to the data sender, the DMA data transmission optimization method in federated learning includes: Sending a DMA connection request to the network layer of the data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request, so as to establish a DMA connection; Constructing target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification; Sending the target DMA connection identification data to the logic layer of the data receiver, so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data; Before the step of sending a DMA connection request to the network layer of the data receiving party, the method for optimizing DMA data transmission in federated learning further includes: Obtaining data recipient information corresponding to the data recipient of the data to be transmitted; According to the data receiver information, searching for a DMA connection identifier corresponding to the data receiver information in a preset DMA connection pool; If the search is successful, extracting the DMA connection identifier from the preset DMA connection pool; If the search fails, the following steps are performed: sending a DMA connection request to the network layer of the data receiver, and receiving a DMA connection identifier fed back by the data receiver based on the DMA connection request to establish a DMA connection; The step of sending the target DMA connection identification data to the logical layer of the data receiver includes: Put the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue; According to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information.
2. The method for optimizing DMA data transmission in federated learning according to claim 1, characterized in that: The preset blocking queue includes a bounded blocking queue, After the step of sequentially sending the target DMA connection identification data to the logic layer of the data receiver corresponding to the data receiver information according to the preset blocking queue, the method for optimizing DMA data transmission in federated learning further includes: Determine whether the target DMA connection identification data is successfully sent within a preset time period; If the sending is unsuccessful, the target DMA connection identification data is directly sent to the logical layer of the data receiver corresponding to the data receiver information.
3. The method for optimizing DMA data transmission in federated learning according to claim 1, characterized in that: After the step of receiving the DMA connection identifier fed back by the data receiving party based on the DMA connection request, the method for optimizing DMA data transmission in federated learning further includes: The data recipient information corresponding to the DMA connection identifier and the DMA connection identifier are stored in a preset DMA connection pool in the form of a key-value pair.
4. The method for optimizing DMA data transmission in federated learning according to claim 1, characterized in that: After the step of sending the target DMA connection identification data to the logic layer of the data receiver so that the data receiver receives the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data, the method for optimizing DMA data transmission in federated learning includes: When the preset data to be transmitted is executed, a connection disconnection indication is sent to the data receiving party, so that the data receiving party can disconnect the corresponding DMA connection according to the connection disconnection indication.
5. A method for optimizing DMA data transmission in federated learning, characterized in that: Applied to the data receiver, the DMA data transmission optimization method in federated learning includes: Receiving a DMA connection request from a data sender through the network layer of the data receiver to establish a DMA connection, and generating a DMA connection identifier corresponding to the DMA connection request, wherein the DMA connection request is sent to the network layer of the data receiver after the data sender fails to search for a DMA connection identifier corresponding to the data receiver information of the data to be transmitted in a preset DMA connection pool; The DMA connection identifier is transmitted to the corresponding data sender through the network layer, so that the data sender can construct target DMA connection identification data based on the DMA connection identifier and the data information of the data to be transmitted corresponding to the DMA connection identifier, and put the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue; according to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logic layer of the data receiver; The data to be transmitted that is transmitted by the data sender using the DMA connection is received according to the target DMA connection identification data.
6. A DMA data transmission optimization device in federated learning, characterized in that: Applied to the data sender, the DMA data transmission optimization device in the federated learning includes: A DMA connection establishment module is used to obtain data recipient information corresponding to the data recipient of the data to be transmitted; based on the data recipient information, search for a DMA connection identifier corresponding to the data recipient information in a preset DMA connection pool; if the search is successful, extract the DMA connection identifier from the preset DMA connection pool; if the search fails, send a DMA connection request to the network layer of the data recipient, and receive the DMA connection identifier fed back by the data recipient based on the DMA connection request to establish a DMA connection; A construction module, configured to construct target DMA connection identification data based on the DMA connection identification and data information of the data to be transmitted corresponding to the DMA connection identification; A data transmission module is used to put the target DMA connection identification data and the data receiver information corresponding to the target DMA connection identification data into a preset blocking queue; according to the preset blocking queue, the target DMA connection identification data is sequentially sent to the logical layer of the data receiver corresponding to the data receiver information, so that the data receiver can receive the data to be transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
7. A DMA data transmission optimization device in federated learning, characterized in that: Applied to the data receiving party, the DMA data transmission optimization device in the federated learning includes: A DMA connection establishment module, used for receiving a DMA connection request from a data sender through the network layer of the data receiver to establish a DMA connection, and generating a DMA connection identifier corresponding to the DMA connection request, wherein the DMA connection request is sent to the network layer of the data receiver after the data sender fails to find the DMA connection identifier corresponding to the data receiver information of the data to be transmitted in the preset DMA connection pool; A sending module, used for transmitting the DMA connection identifier to a corresponding data sender through a network layer, so that the data sender can construct target DMA connection identifier data based on the DMA connection identifier and data information of the data to be transmitted corresponding to the DMA connection identifier, and put the target DMA connection identifier data and the data receiver information corresponding to the target DMA connection identifier data into a preset blocking queue; according to the preset blocking queue, the target DMA connection identifier data is sequentially sent to the logic layer of the data receiver; The data receiving module is used to receive the data to be transmitted which is transmitted by the data sender using the DMA connection according to the target DMA connection identification data.
8. A DMA data transmission optimization device in federated learning, characterized in that: The DMA data transmission optimization device in federated learning includes: a memory, a processor, and a program stored in the memory for implementing the DMA data transmission optimization method in federated learning, The memory is used to store a program for implementing a DMA data transmission optimization method in federated learning; The processor is used to execute a program for implementing the method for optimizing DMA data transmission in federated learning, so as to implement the steps of the method for optimizing DMA data transmission in federated learning as claimed in any one of claims 1 to 4 or claim 5.
9. A readable storage medium, characterized in that: The readable storage medium stores a program for implementing the DMA data transmission optimization method in federated learning, and the program for implementing the DMA data transmission optimization method in federated learning is executed by a processor to implement the steps of the DMA data transmission optimization method in federated learning as described in any one of claims 1 to 4 or claim 5.
10. A product, the product being a computer program product, comprising a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method for optimizing DMA data transmission in federated learning as described in any one of claims 1 to 4 or claim 5 are implemented.
Citation Information
Patent Citations
Method for sharing RDMA (remote direct memory access) in lock-free manner
CN107205033A