Message processing method, hardware accelerator and network card
Patent Information
- Application Number
- CN202310424542.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-19
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-04-19
AI Technical Summary
[0004]传统网卡的处理方式通过处理器进行的云存储管控、云存储I/O请求的条带化、序列化、分片、检验等处理,而读写请求和读写数据都要在硬件加速器、网卡处理器、服务器之间频繁多点的数据搬运,网卡处理器上下文切换次数多、数据处理开销大,使得数据处理较低效
[0021] According to a fifth aspect of the present invention, a network interface card (NIC) is provided, comprising: a NIC processor; and a hardware accelerator according to a third or fourth aspect.
Smart Images

Figure CN116366441B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a message processing method, a hardware accelerator, and a network interface card. Background Technology
[0002] Cloud computing is a crucial infrastructure for the information age. As cloud computing systems grow increasingly large, storage clusters, as a vital cornerstone of cloud computing, face ever-increasing data exchange volumes and structural complexity with computing clusters. Simultaneously, customers are placing greater demands on cloud storage systems for low latency, high throughput, and stable and reliable data.
[0003] Cloud computing cluster servers deploy virtualization platforms on their cloud server sides, and user virtual machines run on physical servers. Cloud storage I / O requests generated by each user virtual machine are typically processed directly by the server processor and then sent to the cloud storage endpoint, such as the storage cluster, via the network interface card (NIC). The large volume of I / O request processing constrains the performance and marketability of server processors. Therefore, offloading virtualization and I / O data processing to the NIC processor and hardware accelerators used for data processing frees up server processor resources, reduces the impact on processor performance fluctuations, and allows the server's computing power to be fully sold.
[0004] Traditional network interface cards (NICs) handle cloud storage management, striping, serialization, fragmentation, and verification of cloud storage I / O requests through the processor. However, read and write requests and data require frequent multi-point data transfer between hardware accelerators, NIC processors, and servers. This results in numerous context switches and high data processing overhead for the NIC processor, leading to inefficient data processing. Summary of the Invention
[0005] In view of this, embodiments of the present invention provide a message processing method, a hardware accelerator, and a network interface card (NIC) to at least partially solve the above-mentioned problems.
[0006] According to a first aspect of the present invention, a message processing method is provided applied to a hardware accelerator of a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are configured in a NIC between a cloud storage terminal and a cloud server. The method includes: parsing the outer protocol of a cloud service message sent by the cloud storage terminal to obtain a first cloud service message; when the first cloud service message indicates a read operation response, parsing the first cloud service message to obtain a message digest and a message body; sending the message digest to the NIC processor, causing the NIC processor to perform at least inner protocol processing based on the message digest; and determining the storage address of the message body on the cloud server as the sending address.
[0007] In another implementation of the present invention, the method further includes sending the message body to the sending address.
[0008] In another implementation of the present invention, the step of parsing the first cloud service message to obtain a message digest and a message body includes: performing keyword parsing on the first cloud service message to obtain sending mode information; and parsing the first cloud service message to obtain a message digest and a message body when the sending mode information indicates direct data transmission.
[0009] In another implementation of the present invention, the method includes: creating a direct data transmission channel when the transmission mode information indicates direct data transmission; sending the message body to the storage address of the cloud server through the direct data transmission channel; and deleting the direct data transmission channel in response to the completion of the message body transmission.
[0010] In another implementation of the present invention, the method further includes: sending the first cloud service message to the network card processor when the sending mode information indicates data forwarding.
[0011] In another implementation of the present invention, the method further includes: if the sending mode information is not obtained after keyword parsing of the first cloud service message, sending the first cloud service message to the network card processor.
[0012] In another implementation of the present invention, the method further includes: performing initial protocol parsing on the first cloud service message to obtain message parsing elements. Sending the first cloud service message to the network interface card (NIC) processor includes: sending the message parsing elements and the first cloud service message together to the NIC processor, so that the NIC processor performs further protocol parsing on the first cloud service message based on the message parsing elements.
[0013] In another implementation of the present invention, the method further includes: when the first cloud service message indicates a write operation response, sending the message body to the network card processor, so that the network card processor processes the inner protocol of the first cloud service message.
[0014] According to a first aspect of the present invention, a message processing method is provided applied to a hardware accelerator of a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are configured in a NIC between a cloud storage terminal and a cloud server. The method includes: parsing a sending message element sent by the cloud server to obtain message header address information and message body address information; obtaining the message header and the message body from the cloud server based on the message header address information and the message body address information; and generating a second cloud service message based on the message header and the message body.
[0015] In another implementation of the present invention, the message header address information includes at least the storage address of the message header on the cloud server, and the message body address information includes the storage addresses of multiple sub-message bodies of the message body on the cloud server. Obtaining the message header and the message body from the cloud server based on the message header address information and the message body address information includes: generating a message body request queue for each of the multiple sub-message bodies based on at least the storage addresses of the multiple sub-message bodies on the cloud server; generating a message header request queue for each of the multiple sub-message heads of the message header based on the storage address of the message header on the cloud server; and sending the message body request queue and the message header request queue to the cloud server.
[0016] In another implementation of the present invention, the step of generating a message body request queue for each of the plurality of sub-message bodies according to their respective storage addresses on the cloud server includes: generating a message body request queue for each of the plurality of sub-message bodies according to their respective storage addresses on the cloud server and the length of each of the plurality of sub-message bodies.
[0017] In another implementation of the present invention, the step of generating a message header request queue for each of the multiple sub-message headers of the message header according to the storage address of the message header on the cloud server includes: generating a sub-message header request message according to the storage address of the message header on the cloud server; copying the sub-message header request information to obtain the multiple sub-message header requests; and generating a message body request queue for the multiple sub-message body requests.
[0018] In another implementation of the present invention, generating a second cloud service message based on the message header and the message body includes: padding the message header with binary bits according to the message body to obtain a padded message header; generating a first cyclic redundancy check intermediate value for the padded message header and a second cyclic redundancy check intermediate value for the message body; and performing an XOR operation on the first cyclic redundancy check data and the second cyclic redundancy check data to obtain the cyclic redundancy check value of the second cloud service message.
[0019] According to a third aspect of the present invention, a hardware accelerator for a network interface card (NIC) processor is provided. The NIC processor and the hardware accelerator are disposed in a NIC between a cloud storage terminal and a cloud server. The hardware accelerator includes: a first parsing unit for parsing the outer protocol of a cloud service message sent by the cloud storage terminal to obtain a first cloud service message; a second parsing unit for parsing the first cloud service message to obtain a message header and a message body when the first cloud service message indicates a read operation response; a sending unit for sending the message header to the NIC processor, causing the NIC processor to process the inner protocol of the message header; and a determining unit for determining the storage address of the message body on the cloud server.
[0020] According to a fourth aspect of the present invention, a hardware accelerator for a network interface card (NIC) processor is provided. The NIC processor and the hardware accelerator are disposed in a NIC between a cloud storage terminal and a cloud server. The hardware accelerator includes: a fourth parsing unit, which parses a transmission message element sent by the cloud server to obtain message header address information and message body address information; an acquisition unit, which acquires the message header and the message body from the cloud server based on the message header address information and the message body address information; and a second message generation unit, which generates a second cloud service message based on the message header and the message body.
[0021] According to a fifth aspect of the present invention, a network interface card (NIC) is provided, comprising: a NIC processor; and a hardware accelerator according to a third or fourth aspect.
[0022] In the embodiment of the present invention, the network interface card (NIC) processor and the hardware accelerator are configured in the NIC between the cloud storage end and the cloud server end. The hardware accelerator can parse the outer protocol of the cloud service message sent by the cloud storage end to obtain the first cloud service message, ensuring the protocol parsing efficiency of the hardware accelerator. In addition, when the first cloud service message indicates a read operation response, the first cloud service message is parsed to obtain a message digest and a message body, and the message digest is sent to the NIC processor, so that the NIC processor performs at least inner protocol processing based on the message digest, which utilizes the data processing flexibility of the NIC processor. Furthermore, the hardware accelerator also determines the storage address of the message body on the cloud server end as the sending address, eliminating the need for the NIC processor to parse the first cloud service message, realizing the offloading of the data plane from the NIC processor to the hardware accelerator, and improving data processing efficiency. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0024] Figure 1 This is a schematic architecture diagram of a communication system where a network interface card (NIC) is used for message processing in cloud services, based on an example.
[0025] Figure 2 This is a flowchart of the steps of a message processing method according to an embodiment of the present invention.
[0026] Figure 3 for Figure 2 A schematic block diagram illustrating the message sending and receiving process of the message processing method in this embodiment.
[0027] Figure 4 for Figure 3 A schematic block diagram illustrating the message sending process in this embodiment.
[0028] Figure 5 for Figure 4 A schematic diagram of the message fragmentation process in the message sending process of this embodiment.
[0029] Figure 6 for Figure 3 A schematic block diagram of the message receiving process in an embodiment.
[0030] Figure 7 for Figure 4 A schematic block diagram illustrating the message verification process of the message processing method in this embodiment.
[0031] Figure 8 This is a schematic diagram of a hardware accelerator according to another embodiment of the present invention.
[0032] Figure 9 This is a flowchart of the steps of a message processing method according to another embodiment of the present invention.
[0033] Figure 10 This is a schematic diagram of a hardware accelerator according to another embodiment of the present invention. Detailed Implementation
[0034] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art should fall within the protection scope of the present invention.
[0035] The specific implementation of the embodiments of the present invention will be further described below with reference to the accompanying drawings.
[0036] Figure 1This is a schematic architecture diagram of a communication system where a network interface card (NIC) is used for message processing in cloud services, based on an example. Figure 1 An exemplary communication system includes a cloud server 130, a network interface card 120 such as a smart network interface card, and a cloud storage terminal (not shown), wherein the network interface card 120 communicates with the cloud storage terminal through a switch 110, the network interface card 120 is configured for the cloud server 130 to communicate with the cloud server 130 through a bus interface such as a high-speed physical interface B, and the network interface card 120 can also communicate with the switch 110 through a bus interface such as a high-speed physical interface A.
[0037] Network interface card 120 includes a network interface processor 122, a hardware accelerator 121 such as a cloud infrastructure chip for the network interface processor 122, and a storage medium (e.g., memory) 123 managed by controller A. Cloud server 130 is configured with a server processor (CPU) and a storage medium (i.e., memory) managed by controller B.
[0038] The improvements in this embodiment of the invention focus on the communication and coordination between the network card processor 122 and the hardware accelerator 121, as well as the internal improvements of the hardware accelerator 121, thereby improving the efficiency of the network card configuration when performing data processing between the cloud server and the cloud storage.
[0039] The various embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0040] Figure 2 This is a flowchart illustrating the steps of a message processing method according to an embodiment of the present invention. The message processing method of this embodiment is applied to a hardware accelerator (e.g., a cloud infrastructure chip) of a network interface card (NIC) processor, and the NIC processor and hardware accelerator are configured in the NIC between the cloud storage terminal and the cloud server terminal. The message processing method includes:
[0041] S210: Parse the outer protocol of the cloud service message sent by the cloud storage terminal to obtain the first cloud service message.
[0042] S220: When the first cloud service message indicates a read operation response, parse the first cloud service message to obtain the message digest and message body.
[0043] It should be understood that in various embodiments of the present invention, the first cloud service message is a part of the received cloud service message. The outer protocol of the first cloud service message is parsed. The parsing of the outer protocol includes, but is not limited to, parsing the multi-level protocol headers of the data link layer, network layer, transport layer, and application layer of the first cloud service message, and analyzing the message type to generate message parsing elements.
[0044] In addition, the second cloud service message is a portion of the cloud service message to be sent. The hardware accelerator acquires and processes the second service message based on the message elements to be sent. The message elements are sent by the cloud server and include, but are not limited to, the storage address of the message header (e.g., memory address), the storage address of the message body (e.g., memory address), the message header length, the length of each protocol header layer in the message header, the message body length, and the message hardware offloading mode.
[0045] It should also be understood that a message digest may include message parsing elements and a message header. The message header includes, but is not limited to, parsing protocol headers for multi-level protocol messages at the data link layer, network layer, transport layer, and application layer. It should be understood that the message header of a first service message may consist of multiple blocks of information stored at different addresses.
[0046] Furthermore, both the message bodies of the first and second cloud service messages include a payload portion for sending and receiving data. The specific semantics of the payload portion of the first cloud service message include, but are not limited to, cloud storage write operation responses and cloud storage read operation responses, while the specific semantics of the payload portion of the second cloud service message include, but are not limited to, cloud storage write operations and cloud storage read operations. Additionally, the message body of the first cloud service message may contain multiple storage addresses (e.g., memory addresses) sent to the cloud server. The message body of the second cloud service message may consist of information blocks representing multiple storage addresses (e.g., memory addresses).
[0047] S230: Sends a message digest to the network interface card (NIC) processor, enabling the NIC processor to perform at least inner-layer protocol processing based on the message digest.
[0048] It should be understood that by simply sending the message digest to the network interface card (NIC) processor, the NIC processor can perform complex processing procedures such as memory protocol processing and cloud service management on the message digest. Compared to sending the unparsed first cloud service message to the NIC processor, this reduces the amount of data processing required by the NIC processor, while also maintaining compatibility with the data processing capabilities of the hardware accelerator itself.
[0049] S240: Determine the storage address of the message body on the cloud server as the sending address.
[0050] It should be understood that a hardware accelerator can send the message body to the sending address once the sending address has been determined.
[0051] In the embodiment of the present invention, the network interface card (NIC) processor and the hardware accelerator are configured in the NIC between the cloud storage end and the cloud server end. The hardware accelerator can parse the outer protocol of the cloud service message sent by the cloud storage end to obtain the first cloud service message, ensuring the protocol parsing efficiency of the hardware accelerator. In addition, when the first cloud service message indicates a read operation response, the first cloud service message is parsed to obtain a message digest and a message body, and the message digest is sent to the NIC processor, so that the NIC processor performs at least inner protocol processing based on the message digest, which utilizes the data processing flexibility of the NIC processor. Furthermore, the hardware accelerator also determines the storage address of the message body on the cloud server end as the sending address, eliminating the need for the NIC processor to parse the first cloud service message, thus realizing the offloading of the data plane from the NIC processor to the hardware accelerator.
[0052] Furthermore, after determining the sending address, the hardware accelerator can send the message body to the sending address. In other words, it can bypass the network card processor and send the message body directly to the storage address on the cloud server, thereby offloading the data plane from the network card processor to the hardware accelerator and improving the transmission efficiency of the message body.
[0053] The following will combine Figure 3 The various functional modules of the hardware accelerator in this embodiment of the invention are described in detail. Figure 3 As shown, the hardware accelerator 121 includes a control module instruction processing 310, a message sending offload 330, a message receiving offload 340, a data plane fast channel 320, and a message buffering and scheduling module 350.
[0054] The control module instruction processing unit 310 is used to parse, operate, and distribute control commands sent by the processor to the hardware accelerator. Specific operations can be categorized as cloud storage read requests, cloud storage write requests, data plane fast channel creation commands, and data plane fast channel deletion commands.
[0055] Message sending offload 330 and message receiving offload 340 are used to offload cloud service messages from the network interface card (NIC) processor to the hardware accelerator, respectively. In other words, the sending and offloading of cloud service messages are performed within the hardware accelerator. For clarity, the cloud service message received by the hardware accelerator is referred to as the first cloud service message, and the cloud service message sent by the hardware accelerator is referred to as the second cloud service message. The message sending offload 330 and message receiving offload 340 manage and schedule the queues of the first and second cloud service messages through the message caching and scheduling module 350.
[0056] Furthermore, the network interface card processor 122 can send a request for a message digest, or a request for a message parser and a first cloud service message to the hardware accelerator 121. Then, the hardware accelerator 121 returns a message digest, or a first cloud service message and a message parser, to the network interface card processor 122.
[0057] Furthermore, when the sending mode information indicates direct data transmission, the message body is sent directly to the cloud server 130 through the data plane fast channel 320.
[0058] Furthermore, the network interface card processor 122 also sends the message data to the message sending offload 330, which obtains the message header and message body from the cloud server 130 based on the message data (e.g., the storage address of the message header and message body).
[0059] The following will combine Figure 4 and Figure 5 This section describes the detailed process of message sending offload 330 in an embodiment of the present invention.
[0060] The control command processing 410 executes various operation processes from the cloud server to the cloud storage. Among them, the cloud service read request 411 is processed through message element regular processing 421, and the cloud storage write request is processed through message element regular processing 421 and message element fragmentation processing 422.
[0061] During message processing, the message information is parsed. If the cloud storage write operation does not require fragment offloading, the message is processed normally (421). Otherwise, the message is processed (422) (for example, when fragment offloading enable information is detected).
[0062] During the routine message processing step 421, the message header request and message body request are first received. Then, the message header request and message body request are parsed, and message header retrieval step 431 and message body retrieval step 432 are performed respectively. After the message header retrieval is completed, the retrieved message header is sent to the unified message header processing step 451. Similarly, after the message body retrieval is completed, the retrieved message body is sent to the unified message body processing step 452.
[0063] Without loss of generality, in the message processing method, the message element sent by the cloud server can be parsed to obtain the message header address information and the message body address information; based on the message header address information and the message body address information, the message header and message body can be obtained from the cloud server; and based on the message header and message body, a second cloud service message, that is, the cloud service message to be sent, can be generated.
[0064] The following will combine Figure 5The diagram illustrates the execution flow of message fragmentation processing 422. First, by parsing the sent message elements, the storage addresses and lengths of the message header and message body are obtained. Specifically, the message header storage addresses include hdrcell 0-hdrcell n, and the message body storage addresses include pcell 0-pcell m. Then, the storage addresses and lengths of the message body are divided based on a pre-defined message fragmentation algorithm to obtain the storage addresses and lengths of each sub-message body. That is, the message body storage addresses pcell 0-pcell m correspond to the k sub-messages. The storage addresses and lengths of each sub-message body are determined as k sub-message body request information. Based on the k sub-message body request information, a sub-message body request queue containing the k sub-message body requests is generated. The storage address (i.e., message header storage addresses hdrcell0-hdrcelln) and length of the message header in the message element are copied into k sub-message header request messages. Simultaneously, the fragmentation configuration information in each message header request message is modified. This fragmentation configuration information includes, but is not limited to, fragment sequence number, logical offset, message body length corresponding to the current message fragment, and verification mode information. Then, based on the k sub-message header request messages, a sub-message header request queue of k sub-message header requests can be generated. Finally, the sub-message body request queue and the sub-message header request queue are sent independently or in pairs to message request processing 430.
[0065] In addition, in the fragmented message request processing 422, the message header request can also be parsed and filtered. Alternatively, if fragmentation enable information is detected, the sub-message header request queue can be skipped, and only the message header request of the initial message fragment can be sent to the message request processing 431. The fragmentation configuration information of the message header requests of subsequent message fragments can be recorded for subsequent fragmented message header processing 440. The fragmentation configuration information includes, but is not limited to: fragmentation enable information, fragmentation sequence number, logical offset, message body length corresponding to the current message fragment, and verification mode information.
[0066] Without loss of generality, the message header address information includes at least the storage address of the message header on the cloud server, and the message body address information includes the storage addresses of multiple sub-message bodies on the cloud server. Accordingly, obtaining the message header and message body from the cloud server based on the message header address information and the message body address information includes: generating message body request queues for each of the multiple sub-message bodies based on their respective storage addresses on the cloud server; generating message header request queues for each of the multiple sub-headers of the message header based on their respective storage addresses on the cloud server; and sending the message body request queue and message header request queue to the cloud server.
[0067] More specifically, as a concrete example of generating message body request queues for each of the multiple sub-message bodies, message body request queues for each of the multiple sub-message bodies can be generated based on the storage address of the multiple sub-message bodies on the cloud service and the length of each of the multiple sub-message bodies.
[0068] Generally, in message request processing 430, message header retrieval 431 and message body retrieval 432 can be performed. Message header retrieval 431 can send a Direct Memory Access (DMA) read request to the cloud server processor based on the sub-message header request queue. The read request content includes, but is not limited to, the address and length of the message header. Multiple read requests can be sent to retrieve different parts of the message header from different storage addresses, and then the various parts of the message header are concatenated to complete the message header retrieval. Alternatively, message header retrieval 431 can also send a DMA read request to the cloud server processor based on the message header request of the initial message fragment.
[0069] In other words, the sub-message header request queue and sub-message body request queue generated by the sub-message element can transmit each sub-message header and each sub-message body respectively. Then, in the message request processing 430, each sub-message header and each sub-message body are combined into a message header and a message body. There is no need to wait until the message header and / or message body are determined before performing the fragmentation operation, thereby improving the efficiency of the hardware accelerator in obtaining the message header and / or message body.
[0070] Similarly, message body retrieval 432 can send DMA read requests to the cloud server processor based on the sub-message body request queue. The read request content includes, but is not limited to, the address and length of the message body. Multiple read requests can be sent to retrieve different parts of the message body from different addresses, and then the various parts of the message body can be concatenated to complete the retrieval of the message body.
[0071] Furthermore, the fragmented message header processing 440 obtains the initial message fragment header from the message header acquisition 431 and the fragmentation configuration information from the message meta-fragmentation processing 422. Further, based on the number of message fragments in the second cloud service message, the fragmented message header processing 440 copies the initial message fragment header and makes initial modifications to the protocol key fields in the message header, for example, including at least some of the fragmentation configuration information in the protocol fields. Then, the fragmented message header processing 440 sends the processed fragmented message header to the message header unified processing 451.
[0072] It should be understood that after executing message header retrieval 431 and message body retrieval 432, each sub-message header and each sub-message body are obtained. Then, further processing can be performed on each sub-message header and each sub-message body.
[0073] Specifically, message header processing 451 parses the acquired message header and queries pre-configured relevant entries to further modify the protocol header. Then, after modifying the protocol header, it performs initial CRC check processing based on the check mode information-indicated check algorithm (e.g., by calling the CRC32 module) to obtain various intermediate check values such as icrc_h and vcrc_h (an example of intermediate values for the first cyclic redundancy check). Finally, it sends the modified message header and the various intermediate check values to message encapsulation 460.
[0074] The message body is processed uniformly. The message body obtained from the message header (432) is retrieved in step 452. The PCRC payload check value of the message body is calculated. Then, the message body and the payload check value are forwarded together to the message encapsulation.
[0075] After message encapsulation 460 obtains the matching message header and message body from message header unified processing 451 and message body unified processing 452 respectively, it will perform subsequent processing of CRC verification to obtain the second cloud service message, and then pre-send the second cloud service message to... Figure 3 The message caching and scheduling module 350 in the middle then sends it to the cloud storage terminal.
[0076] The following will combine Figure 6 The detailed process of message receiving and unloading 340 according to an embodiment of the present invention is described below.
[0077] The outer protocol of the cloud service message sent by the cloud storage terminal is parsed by the message protocol parsing 610 to obtain the first cloud service message. Then, the first cloud service message is initially parsed and / or its keyword features are parsed by the message processing 620 to determine the message type of the first cloud service message, which may include a read operation response, a write operation response, or other types. When the first cloud service message is a read operation response, subsequent processing is performed by the cloud storage read operation response processing 631. When the first cloud service message is a write operation response, subsequent processing is performed by the cloud storage write operation response processing 632. When the first cloud service message is of other types, subsequent processing is performed by other processing 633.
[0078] Specifically, after the cloud storage write operation response processing 632 and other processing 633 are completed, the network interface card processor 122 can perform control plane forwarding processing. For example, it can perform message cyclic redundancy check (CRC) verification on the processing results of the cloud storage write operation response processing 632 and other processing 633, generate a write operation completion command, and then forward it to the cloud server 130 via the network interface card processor 122.
[0079] Furthermore, the cloud storage read operation response processing 631 realizes the processing of cloud storage read operation responses through the data fast channel parsing 640.
[0080] Specifically, message parsing, such as keyword parsing or initial protocol parsing, is performed on the first cloud service message by parsing message element 641 to obtain message parsing elements and message headers. Then, the message body in the first cloud service message is parsed out by parsing message body 642. Simultaneously, a data plane fast pass-through decision 643 can be invoked to determine whether direct transmission via the data plane fast channel is possible for the message body based on the message parsing elements. If the data plane fast pass-through decision 643 determines that the message body can be directly sent to the cloud server 130, a data plane fast channel 320 is created, and the message body is directly sent to the cloud server 130 through the data plane fast channel 320. Alternatively, the data plane fast channel 320 can be deleted after the message body has been sent to the cloud server 130, thereby releasing message processing resources. Specifically, when the sending mode information indicates direct data transmission, a direct data transmission channel is created, and the message body is sent to the storage address on the cloud server through the direct data transmission channel. Upon completion of message body transmission, the direct data transmission channel is deleted. In addition, the data plane fast channel 320 can also be persistently configured as the sending channel interface of the cloud server 130, for the data plane fast pass-through decision 643 to call.
[0081] Optionally, the data plane fast pass-through decision 643 can also perform cyclic redundancy checks on the message header and message body through the received message cyclic redundancy check 644.
[0082] Alternatively, the determination of whether direct transmission via the data plane fast channel can be performed on the message body can be based on the transmission mode information in the message parser (e.g., the channel identifier of the pre-configured data plane fast channel). If the message parser indicates that direct data transmission should not be performed (e.g., when the transmission mode information is not recognized, or when the recognized transmission mode information indicates a data forwarding operation), the message body can be sent directly to the cloud server 130 without going through the data plane fast channel 320. That is, forwarding is still performed through the network interface card processor 122, thereby ensuring reliable reception of the message body even when transmission mode information such as the channel identifier is not recognized.
[0083] It should be understood that when the message header is forwarded via the network interface card (NIC) processor, the first cloud service message is directly forwarded to the NIC processor without the need to perform inner protocol parsing of the first cloud service message. Specifically, keyword feature parsing can be performed before the initial protocol parsing to obtain the sending pattern information. Then, the message parser element is obtained through the initial protocol parsing. Furthermore, after parsing the message parser element, the memory protocol parsing of the message header can be performed based on the message parser element.
[0084] Regarding the aforementioned sending mode information, it indicates whether the message body of the first cloud service message is sent directly to the cloud server or indirectly to the cloud server via the network interface card (NIC) processor. The first cloud service message may (e.g., when the first cloud service message is encapsulated) be pre-configured with keyword features. When a keyword feature is identified, the sending mode information corresponding to the keyword feature is determined. For example, the keyword features and sending mode information are pre-configured in a mapping table. When the first cloud service message is received, the first cloud service message is parsed with reference to the mapping table to obtain the sending mode information. Preferably, the message parsing element is pre-configured with the sending mode information, allowing the message parsing element to be obtained from the first cloud service message, thereby yielding the sending mode information.
[0085] Without loss of generality, parsing the first cloud service message to obtain a message digest and message body includes: performing keyword parsing on the first cloud service message to obtain sending mode information; and, if the sending mode information indicates direct data transmission, parsing the first cloud service message to obtain a message digest and message body. It should be understood that the message digest includes a message header and message parsing elements used to parse the message header. The message header and message parsing elements are sent to the network interface card (NIC) processor, enabling the NIC processor to process the inner protocol of the message header based on the message parsing elements.
[0086] For example, the sending mode information can be implemented as a channel identifier for a direct data transmission channel. This channel identifier can be configured in the outer protocol of the first cloud service message and can be identified without parsing the outer protocol. When parsing the first cloud service message, if the channel identifier is matched, the cloud server can directly send the message body.
[0087] For example, at least one direct data transmission channel can be pre-configured. If the channel identifier matches a pre-configured direct data transmission channel, then the channel identifier is considered to have been matched.
[0088] For example, if a channel identifier is detected, it is determined that the channel identifier has been matched, and a direct data transmission channel corresponding to the channel identifier is created.
[0089] Refer again Figure 4 When performing message request processing 430, the cyclic redundancy check of the message header and message body can be performed separately through the scheme proposed in the embodiment of the present invention to obtain the intermediate value of the cyclic redundancy check, and then obtain the cyclic redundancy check value of the second cloud service message.
[0090] In other words, generating a second cloud service message based on the message header and message body includes: padding the message header with binary bits according to the message body to obtain a padded message header; generating a first cyclic redundancy check (CRUD) intermediate value for the padded message header and a second CRUD intermediate value for the message body; and performing an XOR operation on the first and second CRUD data to obtain the CRUD value of the second cloud service message. Since the first and second CRUD intermediate values can be calculated separately, it is unnecessary to calculate the overall CRUD value of the second cloud service message after obtaining the message header and message body, thus improving the calculation efficiency of the CRUD value of the second cloud service message.
[0091] The following is for reference. Figure 7 This describes the detailed process of Cyclic Redundancy Check (CRC) in an embodiment of the present invention. It should be understood that, as an example, in... Figure 7 In the process of calculating the intermediate value of the first cyclic redundancy check in the message header, it can be done in... Figure 4 The message header unified processing is executed in 451. The process of calculating the intermediate value of the second cyclic redundancy check of the message body can be performed in 451. Figure 4 The message body unified processing is executed in 452. Further processing based on the first cyclic redundancy check intermediate value and the first cyclic redundancy check intermediate value can be executed in message encapsulation 460. The obtained overall cyclic redundancy check value of the second cloud service message is then sent to... Figure 3 The message caching and scheduling module 350 in the middle.
[0092] It should also be understood that, Figure 7 In the example, taking the CRC32 calculation module with 64B input as an example, the actual data input bit width is selected by configuring the alignment to the smallest granularity supported by the message body.
[0093] Before generating the cyclic redundancy check (CRC) value for the second cloud service message, binary padding can be performed after the message header based on the message body. This padding can be increased to P*64B. Optionally, binary padding can be further performed before the message header, making the portion before the message header H*64B. Similarly, the message body can be padded with (H+P)*64B, and the message header and message body with the padded (H+P)*64B bits are used as ICRC preprocessing data.
[0094] It should be understood that when performing binary padding before the message header, the purpose of padding before the message header is to make the number of bits padded before and after the message header equal to the number of bits padded before the message body.
[0095] The CRC32 module in this embodiment is configured based on the CRC calculation principle of this invention. It inputs the pre-calculated icrc data and initial vector 0 into the CRC32 module for calculation, obtaining an intermediate icrc value (an example of the intermediate value for the first cyclic redundancy check). The calculated value after binary padding of the message body is consistent with the calculated value before binary padding. The message body and initial vector 0 can be input into the CRC32 module for calculation, obtaining the pcrc (an example of the intermediate value for the second cyclic redundancy check). Therefore, the intermediate icrc value and pcrc can be calculated separately, and the underlying computing resources, i.e., the CRC32 module, can be time-division multiplexed.
[0096] It should be understood that the CRC calculation principle of the CRC32 module is as follows:
[0097] CRC(Z) = CRC(A0)^CRC(B), where A0 is the binary padding of A. That is, when performing CRC calculation on data C = {A, B}, CRC(A0) and CRC(B) can be calculated separately and then XORed. The CRC32 module function CRC(·) is used to calculate CRC check data.
[0098] It should be understood that when performing CRC calculation on messages from other protocol layers (including but not limited to network layer, data link layer, or internal application layer) of the message to be sent, the intermediate value of the vcrc calculation (an example of the intermediate value of the first cyclic redundancy check) can be obtained according to the scheme of the present invention, and after performing an XOR operation with the pcrc, the vcrc result can be obtained.
[0099] In other words, since icrc, vcrc, and pcrc can be calculated in parallel, the delay of waiting until the message header and message body are obtained before calculation is avoided. At the same time, the cyclic redundancy check process in this embodiment uses pcrc as an intermediate value, which reduces the overall computational overhead.
[0100] Without loss of generality, cyclic redundancy checks are performed on the padded message header and message body separately to obtain a first intermediate cyclic redundancy check value (i.e., the intermediate value calculated by ICRC or VRC) and a second intermediate cyclic redundancy check value (i.e., PCRC). Specifically, the first intermediate cyclic redundancy check value includes the number of bits in the padded message header and its check bits, and the second intermediate cyclic redundancy check value includes the number of bits in the padded message body and its check bits. Then, an XOR operation is performed on the first and second cyclic redundancy check data to obtain the cyclic redundancy check value of the second cloud service message.
[0101] Figure 8This is a schematic diagram of a hardware accelerator according to another embodiment of the present invention. This embodiment describes a hardware accelerator for a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are disposed in a NIC between a cloud storage terminal and a cloud server. The hardware accelerator includes:
[0102] The first parsing unit 810 parses the outer protocol of the cloud service message sent by the cloud storage terminal to obtain the first cloud service message;
[0103] The second parsing unit 820 parses the first cloud service message to obtain a message digest and a message body when the first cloud service message indicates a read operation response.
[0104] The first sending unit 830 sends the message digest to the network interface card processor, so that the network interface card processor performs at least inner-layer protocol processing based on the message digest.
[0105] The determining unit 840 determines the storage address of the message body on the cloud server as the sending address.
[0106] In the embodiment of the present invention, the network interface card (NIC) processor and the hardware accelerator are configured in the NIC between the cloud storage end and the cloud server end. The hardware accelerator can parse the outer protocol of the cloud service message sent by the cloud storage end to obtain the first cloud service message, ensuring the protocol parsing efficiency of the hardware accelerator. In addition, when the first cloud service message indicates a read operation response, the first cloud service message is parsed to obtain a message digest and a message body, and the message digest is sent to the NIC processor, so that the NIC processor performs at least inner protocol processing based on the message digest, which utilizes the data processing flexibility of the NIC processor. Furthermore, the hardware accelerator also determines the storage address of the message body on the cloud server end as the sending address, eliminating the need for the NIC processor to parse the first cloud service message, thus realizing the offloading of the data plane from the NIC processor to the hardware accelerator.
[0107] In other examples, the hardware accelerator further includes a second sending unit that sends the message body to the sending address.
[0108] In other examples, the second parsing unit is specifically used to: perform keyword parsing on the first cloud service message to obtain sending mode information; and, when the sending mode information indicates direct data transmission, parse the first cloud service message to obtain a message digest and a message body.
[0109] In other examples, the second sending unit is specifically used to: create a direct data sending channel when the sending mode information indicates direct data sending; send the message body to the storage address of the cloud server through the direct data sending channel; and delete the direct data sending channel in response to the completion of the message body sending.
[0110] In other examples, the first sending unit is also configured to send the first cloud service message to the network interface card processor when the sending mode information indicates data forwarding.
[0111] In other examples, the first sending unit is further configured to: send the first cloud service message to the network interface card processor if the sending mode information is not obtained after keyword parsing of the first cloud service message.
[0112] In other examples, the hardware accelerator further includes a third parsing unit, which performs initial protocol parsing on the first cloud service message to obtain message parsing elements. The first sending unit is specifically configured to send the message parsing elements along with the first cloud service message to the network interface card (NIC) processor, enabling the NIC processor to perform further protocol parsing on the first cloud service message based on the message parsing elements.
[0113] In other examples, the first sending unit is further configured to: send the message body to the network interface card processor when the first cloud service message indicates a write operation response, so that the network interface card processor processes the inner protocol of the first cloud service message.
[0114] In other examples, the hardware accelerator further includes: a first message generation unit, which parses the sending message element sent by the cloud server to obtain message header address information and message body address information; obtains the message header and the message body from the cloud server based on the message header address information and the message body address information; and generates a second cloud service message based on the message header and the message body.
[0115] In other examples, the message header address information includes at least the storage address of the message header on the cloud server; the message body address information includes the storage addresses of multiple sub-message bodies of the message body on the cloud server. The first message generation unit is specifically configured to: generate a message body request queue for each of the multiple sub-message bodies based on at least the storage addresses of the multiple sub-message bodies on the cloud server; generate a message header request queue for each of the multiple sub-message headers of the message header based on the storage address of the message header on the cloud server; and send the message body request queue and the message header request queue to the cloud server.
[0116] In other examples, the first message generation unit is specifically used to: generate message body request queues for each of the multiple sub-message bodies according to the storage address of the multiple sub-message bodies on the cloud server and the length of each of the multiple sub-message bodies.
[0117] In other examples, the first message generation unit is specifically used to: generate a sub-message header request message based on the storage address of the message header on the cloud server; copy the sub-message header request information to obtain the plurality of sub-message header requests; and generate a message body request queue for the plurality of sub-message body requests.
[0118] In other examples, the first message generation unit is specifically used to: pad the message header with binary bits according to the message body to obtain a padded message header; generate a first cyclic redundancy check intermediate value for the padded message header and a second cyclic redundancy check intermediate value for the message body; and perform an XOR operation on the first cyclic redundancy check data and the second cyclic redundancy check data to obtain the cyclic redundancy check value of the second cloud service message.
[0119] Figure 9 This is a flowchart illustrating the steps of a message processing method according to another embodiment of the present invention. The message processing method of this embodiment is applied to a hardware accelerator of a network interface card (NIC) processor. The NIC processor and the hardware accelerator are configured in a NIC between a cloud storage terminal and a cloud server. The message processing method includes:
[0120] S910: Parse the message elements sent by the cloud server to obtain the message header address information and message body address information.
[0121] S920: Obtain the message header and message body from the cloud server based on the message header address information and message body address information.
[0122] S930: Generate a second cloud service message based on the message header and message body.
[0123] In other examples, the message header address information includes at least the storage address of the message header on the cloud server; the message body address information includes the storage addresses of multiple sub-message bodies on the cloud server; obtaining the message header and message body from the cloud server based on the message header address information and the message body address information includes: generating message body request queues for each of the multiple sub-message bodies based on their respective storage addresses on the cloud server; generating message header request queues for each of the multiple sub-headers of the message header based on their respective storage addresses on the cloud server; and sending the message body request queue and the message header request queue to the cloud server.
[0124] In other examples, at least based on the storage addresses of the multiple sub-message bodies on the cloud server, message body request queues for each of the multiple sub-message bodies are generated, including: generating message body request queues for each of the multiple sub-message bodies based on the storage addresses of the multiple sub-message bodies on the cloud server and the length of each of the multiple sub-message bodies.
[0125] In other examples, based on the storage address of the message header on the cloud server, a message header request queue is generated for each of the sub-message header requests of the message header, including: generating a sub-message header request message based on the storage address of the message header on the cloud server; copying the sub-message header request information to obtain multiple sub-message header requests; and generating a message body request queue for multiple sub-message body requests.
[0126] In other examples, generating a second cloud service message based on the message header and message body includes: padding the message header with binary bits according to the message body to obtain a padded message header; generating a first cyclic redundancy check intermediate value for the padded message header and a second cyclic redundancy check intermediate value for the message body; and performing an XOR operation on the first and second cyclic redundancy check data to obtain the cyclic redundancy check value of the second cloud service message.
[0127] It should be understood that the detailed description of each step in this embodiment refers to... Figures 1-7 The various embodiments are not described in detail here.
[0128] Figure 10 This is a schematic diagram of a hardware accelerator according to another embodiment of the present invention. The hardware accelerator of this embodiment is used for a network interface card (NIC) processor. The NIC processor and the hardware accelerator are disposed in the NIC between the cloud storage terminal and the cloud server. The hardware accelerator includes:
[0129] The fourth parsing unit 1010 parses the message elements sent by the cloud server to obtain the message header address information and message body address information;
[0130] The acquisition unit 1020 retrieves the message header and message body from the cloud server based on the message header address information and message body address information;
[0131] The second message generation unit 1030 generates a second cloud service message based on the message header and message body.
[0132] In other examples, the message header address information includes at least the storage address of the message header on the cloud server. The message body address information includes the storage addresses of multiple sub-message bodies on the cloud server. The acquisition module is specifically used to: generate message body request queues for each of the multiple sub-message bodies based on their respective storage addresses on the cloud server; generate message header request queues for each of the multiple sub-headers of the message header based on their respective storage addresses on the cloud server; and send the message body request queues and message header request queues to the cloud server.
[0133] In other examples, the acquisition module is specifically used to: generate message body request queues for each of the multiple sub-message bodies based on their storage addresses on the cloud service and their respective lengths.
[0134] In other examples, the acquisition module is specifically used to: generate a sub-header request message based on the storage address of the message header on the cloud server; copy the sub-header request information to obtain multiple sub-header requests; and generate a message body request queue with multiple sub-body requests.
[0135] In other examples, the second message generation module is specifically used to: pad the message header with binary bits according to the message body to obtain the padded message header; generate the first cyclic redundancy check intermediate value of the padded message header and the second cyclic redundancy check intermediate value of the message body respectively; and perform an XOR operation on the first cyclic redundancy check data and the second cyclic redundancy check data to obtain the cyclic redundancy check value of the second cloud service message.
[0136] It should be understood that a detailed description of the operation and processing of each unit in this embodiment is provided with reference to [reference needed]. Figures 1-7 The various embodiments are not described in detail here.
[0137] The specific implementation of each of the above units can be found in the description of the corresponding steps in the above method embodiments, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0138] Furthermore, it should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used for training the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of the present invention are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0139] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of the present invention can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present invention.
[0140] The methods described above according to embodiments of the present invention can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code originally stored in a remote recording medium or a non-transitory machine-readable medium and subsequently stored in a local recording medium, downloaded via a network. Thus, the methods described herein can be stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA)). It is understood that the computer, processor, microprocessor controller, or programmable hardware includes storage components (e.g., random access memory (RAM), read-only memory (ROM), flash memory, etc.) capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the methods shown herein.
[0141] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of the embodiments of the present invention.
[0142] The above embodiments are only used to illustrate the embodiments of the present invention, and are not intended to limit the embodiments of the present invention. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of the present invention. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present invention, and the patent protection scope of the embodiments of the present invention should be defined by the claims.
Claims
1. A message processing method applied to a hardware accelerator of a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are configured in a NIC between a cloud storage terminal and a cloud server, the method comprising: Parse the outer protocol of the cloud service message sent by the cloud storage terminal to obtain the first cloud service message; When the first cloud service message indicates a read operation response, keyword parsing is performed on the first cloud service message to obtain the sending mode information; When the sending mode information indicates direct data transmission, the first cloud service message is parsed to obtain a message digest and a message body, and a direct data transmission channel is created; The message digest is sent to the network interface card processor, so that the network interface card processor performs at least inner-layer protocol processing based on the message digest; The storage address of the message body on the cloud server is determined as the sending address; The message body is sent to the storage address of the cloud server through the data direct transmission channel.
2. The method according to claim 1, wherein, The method includes: Upon completion of the message body transmission, the direct data transmission channel is deleted.
3. The method according to claim 1, wherein, The method further includes: When the sending mode information indicates data forwarding, the first cloud service message is sent to the network card processor.
4. The method according to claim 1, wherein, The method further includes: If the sending mode information is not obtained after keyword parsing of the first cloud service message, the first cloud service message is sent to the network card processor.
5. The method according to claim 3 or 4, wherein, The method further includes: The first cloud service message is subjected to initial protocol parsing to obtain message parsing elements; Sending the first cloud service message to the network card processor includes: The message parser element is sent together with the first cloud service message to the network interface card (NIC) processor, so that the NIC processor can perform further protocol parsing on the first cloud service message based on the message parser element.
6. A message processing method applied to a hardware accelerator of a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are configured in a NIC between a cloud storage terminal and a cloud server, the method comprising: Parse the message elements sent by the cloud server to obtain the message header address information and message body address information; Based on the message header address information and the message body address information, obtain the message header and the message body from the cloud server; A second cloud service message is generated based on the message header and the message body; The hardware accelerator is also used to execute the message processing method according to any one of claims 1-5.
7. The method according to claim 6, wherein, The message header address information includes at least the storage address of the message header on the cloud server; The message body address information includes the storage addresses of multiple sub-message bodies of the message body on the cloud server; The step of obtaining the message header and the message body from the cloud server based on the message header address information and the message body address information includes: At least based on the storage address of the multiple sub-message bodies on the cloud server, generate a message body request queue for each of the multiple sub-message bodies. Based on the storage address of the message header on the cloud server, generate message header request queues for each of the multiple sub-message headers of the message header. Send the message body request queue and the message header request queue to the cloud server.
8. The method according to claim 7, wherein, The step of generating message body request queues for each of the multiple sub-message bodies based at least on their storage addresses on the cloud server includes: Based on the storage address of the multiple sub-message bodies on the cloud server and the length of each of the multiple sub-message bodies, a message body request queue for each of the multiple sub-message bodies is generated.
9. The method according to claim 7, wherein, The step of generating a message header request queue for each of the multiple sub-message headers of the message header, based on the storage address of the message header on the cloud server, includes: Based on the storage address of the message header on the cloud server, a sub-message header request message is generated; Copy the sub-message header request information to obtain the plurality of sub-message header requests; Generate the message body request queue for the multiple sub-message body requests.
10. The method according to claim 6, wherein, The step of generating a second cloud service message based on the message header and the message body includes: The message header is padded with binary bits according to the message body to obtain the padded message header; Generate the first cyclic redundancy check intermediate value of the padded message header and the second cyclic redundancy check intermediate value of the message body, respectively. Perform an XOR operation on the first cyclic redundancy check data and the second cyclic redundancy check data to obtain the cyclic redundancy check value of the second cloud service message.
11. A hardware accelerator for a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are disposed in a NIC between a cloud storage terminal and a cloud server terminal, the hardware accelerator comprising: The first parsing unit parses the outer protocol of the cloud service message sent by the cloud storage terminal to obtain the first cloud service message; The second parsing unit performs keyword parsing on the first cloud service message when the first cloud service message indicates a read operation response, obtains sending mode information, and when the sending mode information indicates direct data transmission, parses the first cloud service message to obtain a message digest and message body, and creates a direct data transmission channel. The first sending unit sends the message digest to the network interface card processor, so that the network interface card processor performs at least inner-layer protocol processing based on the message digest. The determining unit determines the storage address of the message body on the cloud server as the sending address, so as to send the message body to the storage address on the cloud server through the data direct transmission channel.
12. A hardware accelerator for a network interface card (NIC) processor, wherein the NIC processor and the hardware accelerator are disposed in a NIC between a cloud storage terminal and a cloud server terminal, the hardware accelerator comprising: The fourth parsing unit parses the message elements sent by the cloud server to obtain the message header address information and message body address information; The acquisition unit acquires the message header and the message body from the cloud server based on the message header address information and the message body address information; The second message generation unit generates a second cloud service message based on the message header and the message body; The hardware accelerator is also used to execute the message processing method according to any one of claims 1-5.
13. A network interface card (NIC), comprising: Network interface card (NIC) processor; The hardware accelerator according to claim 11 or 12.
Citation Information
Patent Citations
Storage data processing unit based on numerical control separation architecture
CN114415985A
KR20220071858A