Data transmission method and apparatus, communication device, and storage medium
By transmitting data between processing cores of a communication device using an MTU length greater than that of the adapted communication network, and offloading the data within the MTU length of the adapted communication network, the problem of low data transmission efficiency between multiple processing cores is solved, achieving more efficient data processing and reduced power consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-13
- Publication Date
- 2026-03-24
AI Technical Summary
In communication devices, low data transmission efficiency between multiple processing cores leads to power consumption and processing capacity exceeding the device's maximum processing capacity, and in severe cases, data loss occurs.
When processing data transfer between kernels, an MTU length greater than that of the communication network is used. Data is transferred between kernels through the first processing kernel, and the MTU length of the communication network is offloaded at the second processing kernel to reduce the data processing load.
It improves the efficiency of inter-core data processing, reduces the power consumption and cost of processing cores, and enhances processing performance.
Smart Images

Figure CN115982084B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of electronics, and in particular to a data transmission method and device, a communication device, and a storage medium. BACKGROUND
[0002] With the development of electronic technology, the processor architecture of a communication device is becoming more and more complex, and various processing cores can be integrated in the communication device, such as an application processor (AP), a graphics processing unit (GPU), an embedded neural-network processing unit (NPU), a wireless fidelity (Wi-Fi) processor, and a 4th generation mobile communication technology (4G) / 5th generation mobile communication technology (5G) modem.
[0003] Currently, the peak communication rate requirement of a 5G system is 20 G bit / s for downlink and 10 G bit / s for uplink, and when the above rates are applied to a communication device, it is also expected that the power consumption of the communication device is within an acceptable range, which has become one of the difficulties in mobile phone chip design. SUMMARY
[0004] Embodiments of the present application provide a data transmission method and device, a communication device, and a storage medium.
[0005] The technical solution of the present application is implemented as follows:
[0006] In a first aspect, a data transmission method is provided, applied to a first processing core, and comprising:
[0007] In a case where a first transmission path between the first processing core and a second processing core supports transmission of inter-core data of a first maximum transmission unit (MTU) length, the first processing core transmits inter-core data on the first transmission path based on the first MTU length, and the second processing core is configured to offload received inter-core data based on an MTU length of an adaptive communication network, wherein the first MTU length is greater than the MTU length of the adaptive communication network.
[0008] In a second aspect, a data transmission method is provided, applied to a second processing core, and comprising:
[0009] In a case where a first transmission path between a first processing core and the second processing core supports transmission of inter-core data of a first MTU length, inter-core data is transmitted on the first transmission path based on the first MTU length.
[0010] unload received inter-core data based on an MTU length of an adapted communication network.
[0011] In a third aspect, a data transmission apparatus is provided, which is applied to a first processing core and includes:
[0012] The first transceiver is configured to, in a case that a first transmission path between the first processing core and a second processing core supports transmission of inter-core data of a first MTU length, transmit inter-core data on the first transmission path based on the first MTU length, the second processing core being configured to unload received inter-core data based on an MTU length of an adapted communication network, wherein the first MTU length is greater than the MTU length of the adapted communication network.
[0013] In a fourth aspect, a data transmission apparatus is provided, which is applied to a second processing core and includes:
[0014] The second transceiver 1501 is configured to, in a case that a first transmission path between a first processing core and the second processing core supports transmission of inter-core data of a first maximum transmission unit (MTU) length, transmit inter-core data on the first transmission path based on the first MTU length.
[0015] The unloading unit 1502 is configured to unload received inter-core data based on an MTU length of an adapted communication network.
[0016] In a fifth aspect, a processing core is provided, which includes a processor configured to invoke and run a computer program from a memory, so that a device installed with the processing core performs the method of the first aspect or the second aspect.
[0017] In a sixth aspect, a communication device is provided, which includes a first processing core and a second processing core, wherein the first processing core is configured to implement the method of the first aspect, and the second processing core is configured to implement the method of the second aspect.
[0018] In a seventh aspect, a computer readable storage medium is provided, which stores a computer program, and the computer program is configured to implement the method of the first aspect or the second aspect when executed by a processor. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1 A data transmission principle diagram is provided for an embodiment of the present application;
[0020] Figure 2 A data packet structure composition diagram is provided for an embodiment of the present application;
[0021] Figure 3A TSO data segmentation principle schematic diagram provided for an embodiment of the present application;
[0022] Figure 4 A GSO data segmentation principle schematic diagram provided for an embodiment of the present application;
[0023] Figure 5 A data receiving principle schematic diagram provided for an embodiment of the present application;
[0024] Figure 6 A LRO data receiving principle schematic diagram provided for an embodiment of the present application;
[0025] Figure 7 A GRO data receiving principle schematic diagram provided for an embodiment of the present application;
[0026] Figure 8 A data transmission method flowchart provided for an embodiment of the present application Figure 1 ;
[0027] Figure 9 A data transmission method flowchart provided for an embodiment of the present application Figure 2 ;
[0028] Figure 10 A data transmission method flowchart provided for an embodiment of the present application Figure 3 ;
[0029] Figure 11 A data transmission method flowchart provided for an embodiment of the present application Figure 4 ;
[0030] Figure 12 A data transmission method flowchart provided for an embodiment of the present application Figure 5 ;
[0031] Figure 13 A data transmission method flowchart provided for an embodiment of the present application Figure 6 ;
[0032] Figure 14 A data transmission apparatus 1400 structural composition schematic diagram provided for an embodiment of the present application;
[0033] Figure 15 A data transmission apparatus 1500 structural composition schematic diagram provided for an embodiment of the present application;
[0034] Figure 16 A communication device schematic structural diagram provided for an embodiment of the present application. DETAILED DESCRIPTION
[0035] With reference to the drawings of the embodiments of the present application, the technical solutions in the embodiments of the present application will be described below. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0036] It should be understood that the term "and / or" in this document is only used to describe the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent three cases of A alone, A and B together, and B alone. In addition, the character " / " in this document generally represents an "or" relationship between the associated objects. It should also be understood that the "indicates" mentioned in the embodiments of the present application can be direct indication or indirect indication, and can also mean having an association relationship. For example, A indicates B, which can mean that B can be obtained through A; or it can mean that A indirectly indicates B, for example, A indicates C, and B can be obtained through C; or it can mean that A and B have an association relationship. The "predefined" or "predefined rule" mentioned in the embodiments of the present application can be realized by pre-saving the corresponding code, table or other means that can be used to indicate related information in the device, and the specific implementation manner of the present application is not limited. For example, the predefined can mean defined in the protocol. It should also be understood that the "protocol" in the embodiments of the present application can refer to a standard protocol in the communication field, which can include LTE protocol, NR protocol and related protocols applied to future communication systems, and the present application is not limited thereto.
[0037] In order to facilitate the understanding of the technical solutions of the embodiments of the present application, the related technologies of the embodiments of the present application will be described below. The following related technologies can be combined with the technical solutions of the embodiments of the present application in any way, and all of them belong to the protection scope of the embodiments of the present application.
[0038] In the case of sending or receiving a large data packet at the application layer, when passing through the operating system kernel protocol stack, the large data packet will be segmented into multiple small packets that do not exceed the maximum transmission unit (MTU) length.
[0039] Reference Figure 1The diagram illustrates the data transmission principle. Application layer data, after passing through the Transmission Control Protocol (TCP) stack, is segmented into multiple data packets conforming to TCP processing requirements, with a TCP header added to each packet. Furthermore, these multiple data packets with added TCP headers, when passing through the Internet Protocol (IP) stack, are also segmented and have IP headers added. These multiple data packets with added IP headers, when passing through the Ethernet stack, are simply segmented or merged, resulting in multiple data packets with added Ethernet headers. After this processing, the data packets are sent to other communication devices in the network via the network card driver and the network card itself.
[0040] MTU refers to the maximum load at the data link layer, which is set by the hardware network interface card (NIC). (See reference) Figure 2 As shown, the MTU typically includes the IP header and TCP header, but excludes Ethernet header and trailer data. It's understandable that the size of data packets sent by a network interface card (NIC) is limited to the MTU length.
[0041] Combination Figure 1 As can be seen, segmentation operations consume significant CPU resources. Offload technology can optimize these segmentation and merging processes. In practical applications, offload operations can be performed through the network interface card (NIC), and most electronic devices currently support this NIC offload technology.
[0042] TCP Segmentation Offload (TSO) is a technique that uses the network interface card (NIC) to segment large data packets, thereby reducing CPU load. TSO requires the NIC to support segmentation functionality. (See reference...) Figure 3 The diagram illustrates a TSO data segmentation principle. Application layer data packets passing through the TCP, IP, and Ethernet protocol stacks can be segmented without further segmentation, only requiring header appending. However, when passing through the hardware network interface card (NIC), the NIC segments the data packets using its hardware functionality. Hardware-based segmentation is more efficient.
[0043] Another segmented offload technique is Generic Segmentation Offload (GSO), in which GSO can perform segmentation without hardware support. (See reference) Figure 4 The diagram illustrates a GSO data segmentation principle. Application layer data packets can pass through the TCP, IP, and Ethernet protocol stack without being segmented; only header addition is performed. Before the data packets with added TCP, IP, and Ethernet headers enter the network interface card (NIC), the NIC driver performs segmentation.
[0044] The GSO process includes: first, checking if the network interface card (NIC) supports TSO (Transmission of Separate Segments). If the NIC supports TSO, it uses its hardware segmentation capability to perform segmentation; if the NIC does not support TSO, the segmentation is delayed until just before the data is pushed to the NIC. In other words, if the hardware NIC does not support segmentation, GSO can be used for segmentation. GSO allows data packets to cross the IP and data link layers, segmenting them before they leave the protocol stack and enter the NIC driver. Furthermore, GSO fragmentation is more efficient than TSO when TCP retransmissions occur. Whether it's TCP or UDP, each segmented packet has a TCP / UDP header appended, so if a segment is lost, the entire TCP / UDP packet does not need to be sent. Secondly, CPU consumption along the path is reduced, so GSO can be considered an improvement over TSO.
[0045] The above describes the data packet sending process. The following describes the data packet receiving process.
[0046] refer to Figure 5 The diagram illustrates a data reception principle. Typically, the network interface card (NIC) sends multiple data packets to its driver. The NIC driver then forwards these packets to the Ethernet protocol stack. The Ethernet protocol stack removes the Ethernet headers from the data packets and sends them to the IP protocol stack. The IP protocol stack then removes the IP headers from the data packets and sends them to the TCP protocol stack. Finally, the TCP protocol stack performs TCP header splitting on the received data packets and merges the header-free data to obtain the complete data.
[0047] In practical applications, refer to Figure 6 The diagram illustrates an LRO (Large Receive Offload) data reception principle. To reduce CPU resource consumption, the network interface card (NIC) can merge multiple data packets into a single large packet and deliver it to a higher layer. This merging process is known as Large Receive Offload (LRO) technology. Similar to TSO (Transmit-Side Offload) technology, LRO processing is performed by the NIC hardware.
[0048] LRO technology heavily relies on the network interface card (NIC) and can lead to errors in the merged data packets. Therefore, Generic Receive Offload (GRO) technology was introduced. (See reference) Figure 7 As shown, GRO technology can perform the merging operation in the network card driver, preserving the entropy information of each data packet (such as quintuple information).
[0049] In practical applications, when multiple processing cores within a communication device transmit data—for example, when a camera transmits captured video to other communication devices via a WiFi RF processor or a 4G / 5G modem—the default MTU length (e.g., 1500 bytes) is typically used to transmit data between processing cores. Therefore, when high peak WiFi or 5G speeds are required, inter-core communication efficiency is low. For instance, with a downlink peak speed requirement of 10 Gbit / s and an MTU of 1500 bytes, the communication device needs to process approximately 833 data packets per millisecond (ms). Specifically, this is calculated as 10,000,000,000 / 8 / 1500 / 1000 = 833. If the communication method is TCP, the typical uplink TCP ACK count is 417. Therefore, for downlink peak TCP services, the number of data packets processed per ms is 833 + 417 = 1250.
[0050] Currently, the multiple processing cores within communication devices handle relatively short data sets. Therefore, the number of data sets that a communication device needs to process in 1ms is a total of 1250*n, where n is the number of processing cores within the device. Each data set requires processing by the CPU or hardware / software accelerators, increasing the processing load on each core and exceeding the maximum processing capacity of the communication device. In severe cases, this can lead to data loss.
[0051] Based on this, embodiments of this application provide a data transmission method that can be applied to a first processing core within a first communication device having a multi-core processor. The first processing core can be any one of the multiple processing cores in the communication device. Specifically, when the first transmission path between the first and second processing cores supports the transmission of inter-core data with a first MTU length, the first processing core can transmit inter-core data on the first transmission path based on the first MTU length. The second processing core can be used to offload the received inter-core data based on the MTU length of the adapted communication network, wherein the first MTU length is greater than the MTU length of the adapted communication network. That is, during cross-core communication, an MTU length greater than that of the adapted communication network can be used to transmit inter-core data. When the inter-core data is transmitted to the second processing core, an offloading operation is performed based on the MTU length of the adapted communication network. This reduces the data processing load to a certain extent, while significantly improving processing performance, and consequently reducing the power consumption and cost of the processing core.
[0052] To facilitate understanding of the technical solutions of the embodiments of this application, the technical solutions of this application are described in detail below through specific embodiments. The above-mentioned related technologies are optional solutions and can be arbitrarily combined with the technical solutions of the embodiments of this application, all of which fall within the protection scope of the embodiments of this application. The embodiments of this application include at least some of the following contents.
[0053] One embodiment of this application provides a data transmission method, referencing... Figure 8 As shown, the data transmission method provided in this application includes the following steps.
[0054] Step 110: When the first transmission path between the first processing kernel and the second processing kernel supports the transmission of inter-core data of the first MTU length, the first processing kernel transmits inter-core data on the first transmission path based on the first MTU length, and the second processing kernel is used to offload the received inter-core data based on the MTU length of the adapted communication network, wherein the first MTU length is greater than the MTU length of the adapted communication network.
[0055] The data transmission method provided in this application can be applied to the first processing kernel in a first communication device. The first communication device can be a data transmission node in a communication network, such as a terminal device, wearable device, base station, core network element, application server, or other independent physical device; this application does not impose any limitations on this.
[0056] In the embodiments of this application, the first communication device may include multiple processing cores. It should be understood that a processing core may refer to a processor capable of producing, using, processing, or storing data. For example, a processing core may be an image processor, video processor, GPU, NPU, AP, data storage, radio frequency processor, modem, etc., and the embodiments of this application do not limit this.
[0057] Processing kernels can be categorized by type into data production kernels, data consumption kernels, data transceivers, and data storage devices. For example, a data production kernel may include an access point (AP). A data processing kernel may include an image processor, video processor, GPU, NPU, etc. A data transceiver may include a radio frequency processor, WiFi module, modem, etc., but this application embodiment does not impose any limitations on these aspects.
[0058] The first communication device can generate data through a data production kernel (such as an AP), process the generated data through multiple processing kernels (such as a video processor, NPU, GPU, etc.), and finally store it in a data storage device, or finally send it to other communication devices through a data transceiver.
[0059] In addition, the first communication device can also receive data sent by other communication devices through a data transceiver, process the received data through multiple processing cores (such as video processors, NPUs, GPUs, etc.), and finally store it in the data storage.
[0060] In this embodiment, the data transmitted between multiple processing cores can be referred to as inter-core data. Inter-core data can traverse multiple processing cores during transmission within the first communication device. For example, in an image acquisition and processing scenario, an AP can acquire an image, which can then be transmitted to an image processor for various image processing operations such as white balance and filtering. The processed image can then be transmitted to a radio frequency (RF) processor, which can then send the processed image to other communication devices in the communication network.
[0061] In this context, the first processing kernel and the second processing kernel can be any two different processing kernels in the inter-core data transmission path. Inter-core data can pass through both the first and second processing kernels during transmission. It should be understood that the transmission path through which inter-core data is transmitted from the first processing kernel to the second processing kernel, or from the second processing kernel to the first processing kernel, can be the first transmission path described in the above embodiments.
[0062] It should be noted that the first transmission path can be a part or all of the inter-core data transmission path, and this application embodiment does not impose any limitations on this. The first processing kernel and the second processing kernel can be the starting point or the ending point of the first transmission path. For example, in an image acquisition and image processing scenario, the first transmission path can include the path of the image from the AP to the image processor, and then to the RF processor. The first transmission path can also include the path of the image from the RF processor to the AP.
[0063] In practical applications, multiple processing kernels within a communication device use the default MTU for data transmission. It should be understood that the processing kernel's offloading of inter-kernel data based on the default MTU length leads to low efficiency in inter-kernel communication.
[0064] In this embodiment of the application, when the first processing kernel determines that the first transmission path between it and the second processing kernel supports the transmission of inter-core data of the first MTU length, the first processing kernel can directly send inter-core transmission to the next processing kernel in the first transmission path with the first MTU length, or receive inter-core data from the first transmission path.
[0065] Furthermore, when inter-core data needs to leave the first transmission path after passing through the first transmission path to the second processing core, the second processing core can offload the inter-core data received on the first transmission path based on the MTU length of the adapted communication network. This data offloading can refer to splitting and / or merging the inter-core data; for example, data offloading could involve splitting inter-core data with a larger MTU length into smaller MTU length data packets.
[0066] Optionally, data offloading may include any one of GSO, GRO, TSO, and LRO, and this application embodiment does not limit this.
[0067] The first MTU length can be greater than the MTU length of the adapted communication network. The MTU length of the adapted communication network can refer to the MTU length required for data transmission between various communication devices in the communication network. For example, the MTU length required for transmission between the first communication device and the second communication device.
[0068] Optionally, the MTU length of the adapted communication network can be the default MTU length described in the above embodiments, or the MTU length of the adapted communication network can be the MTU length that multiple communication devices in the network support for transmission. This application embodiment does not limit this.
[0069] For example, the MTU length of the adapted communication network can be 1500 bytes for the data payload as specified in the IEEE 802.3 standard. If the first communication device and other communication devices in the communication network all support the transmission of a certain MTU length, then the MTU length of the adapted communication network can be the MTU length that all communication devices in the network support for transmission.
[0070] It should be noted that the first MTU length can be a predefined length, such as the maximum length of an application layer data packet (also known as an IP packet), i.e., 65,495 bytes. Furthermore, the first MTU length can also be a length determined through negotiation among multiple processing kernels; this embodiment does not impose any limitations on this.
[0071] It should be understood that inter-core data being transmitted in the first transmission path at a first MTU length can mean that the length of each piece of inter-core data transmitted in the first transmission path is no greater than the first MTU length. In the first transmission path, processing cores other than the second processing core do not need to offload inter-core data transmitted on the first transmission path whose length is no greater than the first MTU length. Only the second processing core performs data offloading operations on the inter-core data transmitted on the first transmission path based on the MTU length adapted to the communication network. In this way, inter-core data leaving the first transmission path can be transmitted at an MTU length adapted to the communication network, ensuring the correct transmission of inter-core data in the first communication device.
[0072] It should be noted that the second processing core in the first communication device can be a data transceiver. The second processing core can perform data offloading operations before actually sending inter-core data out of the first communication device. In this way, the load on each processing core in the first communication path is reduced, the performance of inter-core communication is improved, and the power consumption and design cost of multiple processing cores are reduced.
[0073] For example, in a scenario where a first communication device transmits captured video to a second communication device, the video is transmitted from the access point (AP) of the first communication device to the video processor, then from the video processor to the radio frequency (RF) processor, and finally sent to the second communication device via the RF processor. The AP, video processor, and RF processor can form a first transmission path. The AP, video processor, and RF processor can transmit video based on the maximum length of the application layer data packet, 65,495 bytes (i.e., the first MTU length). Before the video is actually sent out of the first communication device, the RF processor can offload the video data based on a default length of 1500 bytes. In this way, the processing load of the AP, video processor, and RF processor is effectively reduced, performance is significantly improved, and power consumption and cost are reduced considerably.
[0074] In summary, the embodiments of this application can be applied to cross-core communication in communication devices, using an MTU length larger than that of the adapted communication network to transmit data between multiple processing cores. In this way, processing cores can transmit larger data lengths, which reduces the amount of packet header processing to a certain extent, improves the processing efficiency of inter-core data, reduces the power consumption and cost of processing cores, and at the same time, processing cores have more processing capabilities to process other data, resulting in a significant improvement in processing performance.
[0075] In one embodiment of this application, the first MTU length can be the maximum length of the application layer data. It should be noted that when the application layer uses TCP / IP as the transport protocol, the maximum length of the application layer data can be 65,495 bytes. Alternatively, if the application layer does not use TCP / IP as the transport protocol but uses a proprietary protocol, the length of the application layer data is not limited by the TCP / IP 65,495-byte limit, and the first MTU length used for inter-core communication can be set to a larger length, which can further improve the communication efficiency of cross-core data communication.
[0076] In one embodiment of this application, the first transmission path between the first processing core and the second processing core supports the transmission of inter-core data of a first MTU length, which may include: the maximum MTU length supported by each processing core in the first transmission path is greater than or equal to the first MTU length.
[0077] It should be understood that the maximum MTU length supported by each processing core in the first transmission path can be different. As long as the maximum MTU length supported by each node in the first transmission path is greater than the first MTU length, it can be considered that the first transmission path supports the transmission of inter-core data of the first MTU length.
[0078] In one embodiment of this application, reference is made to Figure 9 As shown, the data transmission method provided in this application embodiment may further include the following steps:
[0079] Step 1001: The first processing kernel receives capability information sent by other processing kernels on the first transmission path. The capability information is used to indicate the maximum MTU length supported by the processing kernel that sent the capability information.
[0080] Step 1002: The first processing kernel determines the first MTU length based on the capability information.
[0081] It is understandable that the processing cores in the first communication device can transmit capability information to each other, and each processing core can inform other processing cores of the maximum MTU length it supports for transmission through the capability information.
[0082] Optionally, the multiple processing cores in the first communication device can be directly connected or connected through a communication bus; this embodiment of the application does not impose any restrictions on this. The processing cores can directly exchange their respective capability information or forward capability information through other processing cores; this embodiment of the application also does not impose any restrictions on this.
[0083] In this way, the first processing kernel can determine the first MTU length that the first transmission path supports based on the maximum MTU length that other processing kernels on the first transmission path support.
[0084] In this embodiment, the first MTU length can be the minimum of the maximum MTU lengths supported by all processing kernels on the first transmission path. That is, if the maximum MTU length supported by each processing kernel on the first transmission path is greater than the first MTU length, then the first processing kernel can determine that the first transmission path supports the transmission of the first MTU length.
[0085] For example, the first transmission path may include processing kernel A, processing kernel B, and processing kernel C. Processing kernel A supports a maximum MTU length of 65,495 bytes, processing kernel B supports a maximum MTU length of 9,000 bytes, and processing kernel C supports a maximum MTU length of 1,500 bytes. Thus, processing kernels A, B, and C can determine that the first transmission path supports a first MTU length of 1,500 bytes.
[0086] It should be noted that the multiple processing cores on the first transmission path can dynamically update the first MTU length. That is, the first MTU length is not fixed but can change in real time. Optionally, each processing core on the first transmission path can determine its maximum supported MTU length based on the current real-time load, and each processing core can send its current maximum supported MTU length to other processing cores via capability information at certain time intervals. In this way, the multiple processing cores on the first transmission path can update the first MTU length based on the capability information.
[0087] It should be understood that steps 1001 and 1002 can be performed before or after step 110, and this application embodiment does not impose any limitation on this. Steps 1001 and 1002, performed after step 110, can be used to update the first MTU length supported by the first transmission path.
[0088] It should be noted that, in addition to determining the first MTU length based on the maximum MTU length supported by the processing kernel, this embodiment of the application can also determine the first MTU length by considering the application scenario of inter-core data. The following details the method for determining the first MTU length based on the application scenario of inter-core data.
[0089] In one possible implementation, if the first processing kernel is of type either a data production kernel or a data consumption kernel, the first processing kernel can determine the first MTU length based on the application scenario of inter-kernel data.
[0090] The application scenario can be understood as the scenario in which the data is used. Optionally, the application scenario may include scenarios such as device switching, application update, call, live streaming, and SMS transmission, etc., and this application embodiment does not limit this.
[0091] Optionally, the first processing kernel can determine the MTU length corresponding to the application scenario of the current inter-core data based on the correspondence between the application scenario and the MTU length, thus obtaining the first MTU length. This correspondence can be predefined or determined based on practical experience.
[0092] For example, in a handset switching scenario, because the amount of data to be transmitted is large, the first processing kernel can set the first MTU length to 65,535 bytes. In an application update scenario, because the amount of data to be transmitted is large, the first processing kernel can also set the first MTU length to 65,535 bytes. In call and SMS transmission scenarios, where the amount of data is smaller, the first processing kernel can set the first MTU length to 1500 bytes.
[0093] It should be noted that, in order to ensure normal data transmission between cores, the first MTU length needs to be less than or equal to the minimum of the maximum MTU lengths supported by all processing cores on the first transmission path. Based on this, when the type of the first processing core is a data production core or a data consumption core, the first processing core can determine the first MTU length according to the application scenario of the inter-core data and the transmission capability information of other processing cores on the first transmission path.
[0094] The first processing kernel can determine the minimum maximum MTU length supported by all processing kernels on the first transmission path based on the capability information sent by other processing kernels on the first transmission path. Simultaneously, the first processing kernel can determine the initial MTU length of the first transmission path based on the application scenario of the inter-core data. If the initial MTU length is greater than or equal to the minimum maximum MTU length supported by all processing kernels on the first transmission path, the first processing kernel can use the minimum maximum MTU length supported by all processing kernels as the first MTU length. If the initial MTU length is less than the minimum maximum MTU length supported by all processing kernels on the first transmission path, the first processing kernel can use the initial MTU length as the first MTU length. This ensures the normal transmission of inter-core data on the first transmission path.
[0095] It should be understood that after the data production kernel or data consumption kernel in the first transmission path determines the first MTU length, it can send first configuration information to other processing kernels in the first transmission path, informing them of the first MTU length through the first configuration information. In this way, each processing kernel in the first transmission path can perform inter-core data transmission according to the first MTU length.
[0096] In another possible implementation, if the first processing kernel is of another type, the first processing kernel can determine the first MTU length based on the received first configuration information.
[0097] In other words, if the first processing kernel is a processing kernel of a type other than a data production kernel or a data consumption kernel, it can receive the first configuration information sent by the data production kernel or the data consumption kernel, and determine the first MTU length based on the first configuration information.
[0098] It should be understood that the processing kernel that sends the first configuration information can determine the corresponding first MTU length based on the application scenario of the inter-core data. The determination method is the same as that described in the above embodiments, and will not be repeated here for the sake of brevity.
[0099] In some embodiments, multiple processing cores of a communication device can negotiate a first MTU length through first configuration information. A data-producing core or a data-consuming core can determine the first MTU length based on the application scenario of the inter-core data. The data-producing core or the data-consuming core can send the determined first MTU length to other processing cores in the communication device through the first configuration information. Thus, other cores, based on their own capabilities and current load, determine whether to agree to inter-core data transmission according to the first MTU length. If they agree to the first MTU length, they can send a first confirmation message to the processing core that sent the first configuration information, indicating that inter-core data transmission using the first MTU length is possible. If they do not agree to inter-core data transmission according to the first MTU length, the first processing core can send a second confirmation message to the processing core that sent the first configuration information or not send a second confirmation message, indicating that it does not support the transmission of inter-core data with the first MTU length.
[0100] In summary, the data transmission method provided in this application embodiment allows the processing kernel to flexibly adjust the first MTU length used for inter-core data transmission according to the application scenario, ensuring high-speed and efficient data transmission between cores under different application scenarios.
[0101] In one embodiment of this application, the transmission of inter-core data by the first processing kernel in step 110 above based on the first MTU length on the first transmission path can be achieved through the following steps:
[0102] The first processing core sends first inter-core data on the first transmission path, and the length of the first inter-core data is no greater than the length of the first MTU.
[0103] It should be noted that the first processing kernel can generate inter-core data and can also receive inter-core data from other processing kernels besides those in the first transmission path. For example, if the first processing kernel is a data producer, it can autonomously generate inter-core data. If the first processing kernel is another type of processing kernel, it can receive inter-core data sent by other processing kernels.
[0104] In this embodiment, inter-core data generated by the first processing kernel itself or received from other processing kernels is referred to as second inter-core data. The first processing kernel can offload the second inter-core data, sending it to processing kernels on the first transmission path with a first MTU length. Specifically, the first transmission path supports the transmission of inter-core data with a first MTU length. Therefore, after the first processing kernel obtains the second inter-core data, it can offload the data based on the first MTU length. In other words, the first processing kernel can split and / or merge the second inter-core data to obtain the first inter-core data.
[0105] In one embodiment of this application, reference is made to Figure 10 As shown, in step 110, the first processing kernel transmits inter-core data on the first transmission path based on the first MTU length, which can also be achieved through the following steps:
[0106] Step 1101: The first processing kernel, based on the cache processing parameters of each application and the first MTU length, unloads the data corresponding to each application in the second inter-core data to obtain the first inter-core data; the cache processing parameters include cache data threshold and / or cache time threshold.
[0107] Step 1102: The first processing kernel sends the first inter-core data on the first transmission path.
[0108] It should be noted that the configuration of the first MTU length needs to be completed during operating system initialization. In other words, the first MTU length is set every time the communication device starts. Since each processing kernel needs to transmit data according to the MTU length during data processing, this results in numerous data interruptions. In practical applications, each processing kernel includes a buffer space to store inter-kernel data to be transmitted. Based on this, buffer processing parameters can be set for each processing kernel. When the buffer processing parameters meet certain conditions, the first processing kernel reads the data to be transmitted from the buffer and sends it.
[0109] It should be understood that the first MTU length is a hardware setting parameter, while the cache processing parameter is a software setting parameter. The hardware setting parameter is only set during initialization, while the software setting parameter can be adjusted in real time. That is to say, when the data transmission scenario changes, the first MTU length, as a hardware setting parameter, cannot be changed in a timely manner. Therefore, this application embodiment introduces a cache processing parameter, which can be adjusted in a timely manner according to data transmission requirements.
[0110] In this embodiment, the cache processing parameters may include a cache data threshold and / or a cache time threshold. When the cache processing parameters include a cache data threshold, the processing kernel will only issue the cached data if the amount of data stored in the cache exceeds the cache data threshold. When the cache processing parameters include only a cache time threshold, the processing kernel will only issue the cached data if the time the data has been stored in the cache exceeds the cache time threshold. When the cache processing parameters include both a cache data threshold and a cache time threshold, the processing kernel can issue the cached data if either the amount of cached data reaches the cache data threshold or the data storage time exceeds the cache time threshold.
[0111] It's important to note that different applications have different data transmission requirements. For example, instant messaging applications have high latency requirements for data transmission and need to transmit data promptly. App store applications, on the other hand, provide downloads and updates for various applications, and since downloads and updates are not sensitive to latency, they do not require timely data transmission.
[0112] Therefore, cache processing parameters can be associated with applications. Different types of applications can have different cache processing parameters, and each application can be associated with one cache processing parameter. By setting corresponding cache processing parameters for each application, the data transmission needs of different applications can be met.
[0113] It should be understood that the inter-kernel data transferred between kernels can include data from different applications. Therefore, when the first processing kernel transfers inter-kernel data on the first transmission path, it can perform data offloading processing on the second inter-kernel data based on the cache processing parameters of each application and the first MTU length, to obtain the first inter-kernel data.
[0114] In some embodiments, the caching parameters for each application in step 1101 can be determined based on the transmission latency requirements of each application. In one possible implementation, for latency-sensitive applications, such as call applications or live streaming applications, a smaller cache data threshold and cache time threshold can be set for the application.
[0115] For example, video chat applications are highly sensitive to latency. The cache data threshold for a video chat application can be set to 100 bytes, and the cache time threshold to 0ms. This ensures that data generated by the video chat application is sent and received immediately in each processing kernel, rather than waiting until the first MTU length is reached, thereby improving the real-time performance of communication.
[0116] In another possible implementation, for applications that are not sensitive to latency, such as switching applications or program applications, a larger cache data threshold and cache time threshold can be set for the application.
[0117] For example, for application marketplaces (which are not latency-sensitive), a cached data threshold can be set to a size greater than the first MTU length. For instance, the cached data threshold could be set to twice the first MTU length. Additionally, for application marketplaces, a time threshold of 1000ms or infinity can be set to reduce the number of operating system interrupts and the number of data packets delivered to the operating system, thereby further improving the processing efficiency of inter-core data within the communication device.
[0118] In another possible implementation, for applications with low latency and low speed requirements, where cached data grows slowly, the cache time threshold can be set to 100ms. This way, even if the application's cached data volume does not reach 65,535 bytes, the processing kernel will promptly transmit the data to other processing kernels for processing 100ms after receiving the first data.
[0119] In some embodiments, when the first processing kernel is a data production kernel or a data consumption kernel, the first processing kernel can determine the cache processing parameters for each application based on the latency requirements of each application.
[0120] It should be noted that after the first processing kernel determines the cache processing parameters for each application, it can also send the obtained cache processing parameters to other processing kernels in the first transmission path so that the other processing kernels can perform data transmission according to the cache processing parameters.
[0121] Optionally, the first processing kernel can send second configuration information to other processing kernels in the first transmission path. This second configuration information can carry cache processing parameters for each application. In other words, after determining the cache processing parameters for each application, the first processing kernel informs the other processing kernels in the first transmission path of these parameters through the second configuration information. This allows the other processing kernels in the first transmission path to process the inter-core data transmitted on the first transmission path based on the cache processing parameters for each application.
[0122] It should be noted that the second configuration information and the first configuration information in the above embodiments can be the same configuration information or different configuration information. This application embodiment does not limit this.
[0123] In some embodiments, when the first processing kernel is a type of processing kernel other than a data production kernel and a data consumption kernel, the first processing kernel may receive second configuration information sent by other processing kernels and determine the cache processing parameters for each application based on the second configuration information.
[0124] In some embodiments, step 1101, based on the cache processing parameters of each application and the first MTU length, performs data offloading on the data corresponding to each application in the second inter-core data to obtain the first inter-core data. This can be achieved in the following ways:
[0125] If the storage time of the data corresponding to each application in the first processing kernel cache is equal to the cache time threshold of the application, and / or the amount of data corresponding to each application stored in the first processing kernel cache is equal to the cache data threshold, then the data corresponding to each application is unloaded based on the first MTU length to obtain the unloaded data corresponding to each application; the first inter-core data includes the unloaded data corresponding to each application in multiple applications.
[0126] It should be understood that the second inter-core data includes data corresponding to multiple applications. The first processing kernel can offload the data corresponding to each application in the second inter-core data according to the cache time threshold and / or cache data threshold for each application.
[0127] It should be noted that when the storage time of data corresponding to a certain application in the first processing kernel is equal to the cache time threshold of that application, and / or the amount of data corresponding to that application stored in the cache of the first processing kernel is equal to the cache data threshold, if the length of the data corresponding to that application is greater than the first MTU length, then the first processing kernel needs to offload the data corresponding to each application based on the first MTU length, so that the length of the inter-core data obtained after offloading is less than or equal to the first MTU length. Alternatively, if the length of the data corresponding to that application is less than or equal to the first MTU length, then the first processing kernel can directly send the data corresponding to that application as inter-core data to other processing kernels in the first transmission path.
[0128] For example, the first MTU length is set to 65,535 bytes during communication device initialization. For app store-type applications, the cached data threshold is set to 131,070 bytes (twice the first MTU length), and the time threshold is set to 1000ms. This allows the first processing kernel to unload the cached data into two 65,535-byte inter-core data transfers based on the first MTU length after the cached data reaches 131,070 bytes, and then transmit these data to other processing kernels. This reduces the number of operating system interrupts and messages delivered to the operating system, further improving the overall processing efficiency of the internal chain. For live streaming applications, the cached data threshold is set to 1500 bytes, and the time threshold is set to 0ms. This allows the first processing kernel to immediately send the cached data to other processing kernels in the first transmission path after the live streaming application's cached data reaches 1500 bytes. It should be noted that since 1500 bytes is less than the first MTU length, the first processing kernel may not need to unload the cached data and can directly transmit the cached data to other processing kernels. This improves the real-time performance of communication and meets the user experience requirements of different applications.
[0129] Based on the above embodiments, in one embodiment of this application, reference is made to... Figure 11As shown, in step 110, the first processing kernel transmits inter-core data on the first transmission path based on the first MTU length, which can also be achieved in the following ways:
[0130] Step 1103: Receive the third inter-core data on the first transmission path. The length of the third inter-core data is not greater than the length of the first MTU.
[0131] It should be understood that the first processing kernel can send and receive inter-core data on the first transmission path. Details regarding the first processing kernel sending data packets on the first transmission path are provided in the above embodiments and will not be repeated here for brevity.
[0132] In this embodiment, the first processing kernel can receive third inter-core data on the first transmission path. It should be understood that since the first transmission path can support the transmission of inter-core data of the first MTU length, the length of the third inter-core data transmitted on the first transmission path can be less than or equal to the first MTU length.
[0133] In some embodiments, the first processing kernel and the third processing kernel may also constitute a second transmission path. The third processing kernel is different from all the processing kernels included in the first transmission path. That is, the third processing kernel is not any one of the processing kernels in the first transmission path, and the first processing kernel can constitute the second transmission path with other processing kernels besides those in the first transmission path.
[0134] For example, in a scenario where a first communication device receives video sent by a second communication device, the radio frequency (RF) processor receives the video and transmits it to a video processor. After processing by the video processor, the video is transmitted to a storage processor for storage. The access point (AP) can then read the video from the storage processor and display it to the user on a screen. The first transmission path may include the RF processor, the video processor, and the storage processor. The second transmission path may include the storage processor and the AP.
[0135] In this embodiment of the application, the second transmission path can support the transmission of inter-core data of the second MTU length. The second transmission path supporting the transmission of inter-core data of the second MTU length means that the MTU length supported by each processing core in the second transmission path is greater than or equal to the second MTU length.
[0136] The length of the second MTU may be different from that of the first MTU. The length of the second MTU may be greater than or less than that of the first MTU. This application does not impose any restrictions on this.
[0137] In addition, the length of the second MTU can be the same as the length of the MTU of the adapted communication network in the above embodiments, or it can be different from the length of the MTU of the adapted communication network. This application does not limit this.
[0138] Based on the above embodiments, in one embodiment of this application, reference is made to... Figure 11 As shown, the data transmission method provided in this application embodiment may further include the following steps:
[0139] Step 120: Offload the third inter-core data based on the second MTU length to obtain the fourth inter-core data;
[0140] Step 130: Send the fourth inter-core data on the second transmission path.
[0141] It should be understood that the first processing kernel can send the inter-core data received on the first transmission path to the third processing kernel through the second transmission path.
[0142] Since the second transmission path supports a transmission MTU length that is different from the first transmission path's first MTU length, after the first node receives the third inter-core data on the first transmission path, it needs to offload the third inter-core data to obtain a data size that meets the requirements of the second transmission path before it can be transmitted on the second transmission path.
[0143] It should be understood that after the first processing kernel receives the inter-core data from the third core, it can unload the inter-core data from the third core based on the second MTU length. In other words, the first processing kernel can merge and / or unpack the inter-core data from the third core, and the length of the fourth inter-core data obtained after unloading is less than or equal to the second MTU length.
[0144] For example, in a scenario where a first communication device receives video data sent by a second communication device, the radio frequency (RF) processor receives the video data and transmits it to a video processor. After processing by the video processor, the video data is transmitted to a storage processor for storage. The access point (AP) can then read the video data from the storage processor and display it to the user via a screen. The first transmission path may include the RF processor, the video processor, and the storage processor. The first transmission path supports a maximum inter-core data size of 65,535 bytes. All inter-core data transmitted on the first transmission path is less than or equal to 65,535 bytes. The second transmission path may include the storage processor and the AP. The second transmission path supports a maximum inter-core data size of 1500 bytes. After receiving video data on the first transmission path, the storage processor can offload the video data, ensuring that each unloaded video data item is less than or equal to 1500 bytes.
[0145] In summary, the data transmission method provided in this application embodiment can increase the MTU length of each node in the first transmission path, further improve the processing performance of the CPU and various hardware and software message accelerators, and even increase the processing performance gain while reducing the power consumption and chip cost of communication equipment.
[0146] Based on the same inventive concept described above, another embodiment of this application provides a data transmission method, as described above. Figure 12 As shown, the data transmission method provided in this application embodiment includes the following steps:
[0147] Step 210: If the first transmission path between the first processing kernel and the second processing kernel supports the transmission of inter-core data of the first MTU length, the second processing kernel transmits inter-core data on the first transmission path based on the first MTU length.
[0148] Step 220: Offload the received inter-core data based on the MTU length of the adapted communication network.
[0149] The data transmission method provided in this application embodiment can be applied to a second processing kernel in a first communication device. The second processing kernel can be a transmission port between the first communication device and an external communication device. It is understood that after the second processing kernel receives inter-kernel data from the first transmission path, it can transmit the inter-kernel data to the external communication device.
[0150] In some embodiments, the second processing core may be a data transceiver such as a radio frequency processor, a WiFi module, or a modem module, and the embodiments of this application do not limit this.
[0151] In this embodiment, when inter-core data travels through a first transmission path to a second processing kernel and needs to leave the first transmission path, the second processing kernel can offload the inter-core data received on the first transmission path based on the MTU length of the adapted communication network. Specifically, the second processing kernel can perform segmentation processing on the received inter-core data based on the MTU length of the adapted communication network to obtain at least one data packet, and send at least one data packet to an external communication device.
[0152] The MTU length for adapting to the communication network can refer to the MTU length required for data transmission between various communication devices in the communication network, or the default MTU length for data transmission between various communication devices in the communication network, such as 1500 bytes.
[0153] The second processing core can perform data offloading operations before actually sending inter-core data out of the first communication device. This reduces the load on each processing core in the first communication path, improves the performance of inter-core communication, and reduces the power consumption and design cost of multiple processing cores.
[0154] In this embodiment, the first MTU length can be the maximum length of the application layer data. It should be noted that when the application layer uses TCP / IP as the transport protocol, the maximum length of the application layer data can be 65,495 bytes. Alternatively, if the application layer does not use TCP / IP as the transport protocol but uses a proprietary protocol, the length of the application layer data is not limited by the TCP / IP 65,495-byte limit, and the first MTU length used for inter-core communication can be set to a larger length, further improving the communication efficiency of cross-core data communication.
[0155] It is understood that during inter-core communication, the data transmission method provided in this application embodiment can increase the MTU length to the maximum data packet length of the application layer and delay the data offloading operation to the transceiver after cross-core communication. This effectively reduces the requirements on kernel processing capabilities during data transmission and reception under peak rate requirements, and also effectively reduces the power consumption and area of the processing kernel, effectively utilizing the peak processing capability resources of existing transceivers.
[0156] Optionally, due to limitations in air interface data transmission and other communication device hardware limitations, the second processing kernel can offload the inter-core data received on the first transmission path based on the MTU length adapted to the communication network. In other words, the data transmission method provided in this application embodiment can subdivide the MTU length for internal inter-core communication (i.e., the first MTU length) and the MTU length for external communication (i.e., the MTU length adapted to the communication network). This balances the efficiency of inter-core communication within the communication device with compatibility with communication devices of various MTU lengths external to the communication device, achieving both internal and external compatibility.
[0157] In one embodiment of this application, the maximum MTU length supported by each processing kernel in the first transmission path is greater than or equal to the first MTU length.
[0158] It should be understood that the maximum MTU length supported by each processing core in the first transmission path can be different. As long as the maximum MTU length supported by each node in the first transmission path is greater than the first MTU length, it can be considered that the first transmission path supports the transmission of inter-core data of the first MTU length.
[0159] In this embodiment, the second processing kernel can receive first configuration information sent by the data production kernel or the data consumption kernel. The first configuration information indicates a first MTU length. That is, the second processing kernel can determine the first MTU length supported by the first transmission path based on the first configuration information. This allows the second processing kernel to transmit inter-core data on the first transmission path based on the first MTU length.
[0160] It should be noted that the second processing kernel transmits inter-core data on the first transmission path based on the first MTU length. This can be achieved by the second processing kernel receiving inter-core data from the first transmission path based on the first MTU length, or by the second processing kernel receiving network data packets from the communication network and transmitting the received network data packets to other processing kernels through the first transmission path with the first MTU length. The data transmission of the second processing kernel is described in detail below.
[0161] In one embodiment of this application, the second processing kernel can receive first inter-core data on the first transmission path, and the length of the first inter-core data is not greater than the length of the first MTU.
[0162] It should be understood that the second processing core can receive the first inter-core data sent by other processing cores on the first transmission path. Since the MTU length supported by the first transmission path is the first MTU length, the length of the first inter-core data transmitted on the first transmission path is all less than or equal to the first MTU length.
[0163] In this embodiment of the application, after the second processing kernel receives the first inter-core data, it can unload the received first inter-core data based on the MTU length of the adapted communication network.
[0164] In some embodiments, the offloading of received inter-core data based on the MTU length of the adapted communication network in step 220 can also be achieved in the following ways:
[0165] Step 2201: Based on the cache processing parameters of each application and the MTU length of the adapted communication network, perform data offloading on the data corresponding to each application in the received first inter-core data to obtain the first network data packet; the cache processing parameters include cache data threshold value and / or cache time threshold value.
[0166] It should be understood that the first MTU length is a hardware setting parameter, while the cache processing parameter is a software setting parameter. The hardware setting parameter is only set during initialization, while the software setting parameter can be adjusted in real time. That is to say, when the data transmission scenario changes, the first MTU length, as a hardware setting parameter, cannot be changed in a timely manner. Therefore, this application embodiment introduces a cache processing parameter, which can be adjusted in a timely manner according to data transmission requirements.
[0167] In this embodiment, the cache processing parameters may include a cache data threshold and / or a cache time threshold. When the cache processing parameters include a cache data threshold, the processing kernel will only issue the cached data if the amount of data stored in the cache exceeds the cache data threshold. When the cache processing parameters include only a cache time threshold, the processing kernel will only issue the cached data if the time the data has been stored in the cache exceeds the cache time threshold. When the cache processing parameters include both a cache data threshold and a cache time threshold, the processing kernel can issue the cached data if either the amount of cached data reaches the cache data threshold or the data storage time exceeds the cache time threshold.
[0168] It's important to note that different applications have different data transmission requirements. For example, instant messaging applications have high latency requirements for data transmission and need to transmit data promptly. App store applications, on the other hand, provide downloads and updates for various applications, and since downloads and updates are not sensitive to latency, they do not require timely data transmission.
[0169] Therefore, cache processing parameters can be associated with applications. Different types of applications can have different cache processing parameters, and each application can be associated with one cache processing parameter. By setting corresponding cache processing parameters for each application, the data transmission needs of different applications can be met.
[0170] It should be understood that the inter-kernel data transferred between kernels can include data from different applications. Therefore, when the first processing kernel transfers inter-kernel data on the first transmission path, it can perform data offloading processing on the second inter-kernel data based on the cache processing parameters of each application and the first MTU length, to obtain the first inter-kernel data.
[0171] In some embodiments, the cache processing parameters for each application in step 2201 can be determined based on the transmission latency requirements of each application.
[0172] In one possible implementation, for latency-sensitive applications, such as call applications or live streaming applications, a smaller cache data threshold and cache time threshold can be set for the application.
[0173] For example, video chat applications are highly sensitive to latency. The cache data threshold for a video chat application can be set to 100 bytes, and the cache time threshold to 0ms. This ensures that data generated by the video chat application is sent and received immediately in each processing kernel, rather than waiting until the first MTU length is reached, thereby improving the real-time performance of communication.
[0174] In another possible implementation, for applications that are not sensitive to latency, such as switching applications or program applications, a larger cache data threshold and cache time threshold can be set for the application.
[0175] For example, for application marketplaces (which are not latency-sensitive), a cached data threshold can be set to a size greater than the first MTU length. For instance, the cached data threshold could be set to twice the first MTU length. Additionally, for application marketplaces, a time threshold of 1000ms or infinity can be set to reduce the number of operating system interrupts and the number of data packets delivered to the operating system, thereby further improving the processing efficiency of inter-core data within the communication device.
[0176] In another possible implementation, for applications with low latency and low speed requirements, where cached data grows slowly, the cache time threshold can be set to 100ms. This way, even if the application's cached data volume does not reach 65,535 bytes, the processing kernel will promptly transmit the data to other processing kernels for processing 100ms after receiving the first data.
[0177] Optionally, the second processing kernel can receive second configuration information sent by the data production kernel or the data consumption kernel, and determine the cache processing parameters for each application through the second configuration information. This allows the processing of the received inter-core data to be unloaded based on the cache processing parameters for each application.
[0178] It should be noted that the second configuration information and the first configuration information in the above embodiments can be the same configuration information or different configuration information. This application embodiment does not limit this.
[0179] In some embodiments, step 2201, based on the cache processing parameters of each application and the MTU length of the adapted communication network, performs data offloading on the data corresponding to each application in the received first inter-core data to obtain the first network data packet. This can be achieved in the following way:
[0180] If the storage time of the data corresponding to each application in the second processing kernel cache is equal to the cache time threshold of the application, and / or the amount of data corresponding to each application stored in the second processing kernel cache is equal to the cache data threshold, then the data corresponding to each application is unloaded based on the MTU length of the adapted communication network to obtain the unloaded data corresponding to each application.
[0181] The first network data packet includes uninstallation data for each of the various applications.
[0182] It should be understood that the inter-core data transmitted on the first transmission path may include data corresponding to multiple applications. The second processing kernel can offload data for each application in the inter-core data based on the cache time threshold and / or cache data threshold for each application.
[0183] It should be noted that when the storage time of data corresponding to a certain application in the second processing kernel is equal to the cache time threshold of that application, and / or the amount of data corresponding to that application stored in the cache of the first processing kernel is equal to the cache data threshold, if the length of the data corresponding to that application is greater than the MTU length of the adapted communication network, then the second processing kernel needs to offload the data corresponding to each application based on the first MTU length, so that the length of the first network data packet obtained after offloading is less than or equal to the MTU length of the adapted communication network. Alternatively, if the length of the data corresponding to that application is less than or equal to the MTU length of the adapted communication network, then the second processing kernel can directly use the data corresponding to that application as the first network data packet.
[0184] Furthermore, after the second processing kernel obtains the first network data packet, it can send the first network data packet to other communication devices in the communication network.
[0185] For example, the MTU length of the adapted communication network is set to 9000 bytes. Specifically, for application stores, the cache data threshold is set to 131,070 bytes (twice the first MTU length), and the time threshold is set to 1000ms. This allows the second processing kernel to segment the cached data into eight first network packets, each no longer than 9000 bytes, once the cached data reaches 131,070 bytes. This reduces the number of operating system interrupts and messages delivered to the operating system, further improving the overall processing efficiency. For live streaming applications, the cache data threshold is set to 1500 bytes, and the time threshold is set to 0ms. This allows the second processing kernel to use 1500 bytes of cached data as the first network packet once the cached data reaches 1500 bytes. It should be noted that since 1500 bytes is less than the MTU length of the adapted communication network, the first processing kernel can directly use the cached data as the first network packet without unloading it. This improves the real-time performance of communication and meets the user experience requirements of different applications.
[0186] In one embodiment of this application, in addition to the above-described offloading method, the second processing kernel can also offload data based on the MTU length supported by multiple communication devices in the communication network to obtain the first network data packet. Specifically, the second processing kernel can also offload received inter-core data based on the MTU length adapted to the communication network in the following ways:
[0187] When the third transmission path between the first communication device and the second communication device, to which the second processing kernel belongs, supports the transmission of data packets with an MTU length adapted to the communication network, the second processing kernel is used to unload the received first inter-core data based on the MTU length of the adapted communication network to obtain at least one first network data packet; wherein, the second communication device is used to unload at least one data packet transmitted on the third transmission path based on a third MTU length; the third MTU length is less than the MTU length of the adapted communication network.
[0188] It should be understood that the MTU length of the adapted communication network can be negotiated by multiple devices in the communication network. For example, a first communication device can receive capability information sent by other communication devices on a third transmission path, each capability information indicating the maximum MTU length supported by the communication device sending the capability information. Similarly, the first communication device can also send capability information to other communication devices on the third transmission path, informing them of the maximum MTU length supported by the first communication device. In this way, the first communication device can negotiate with other communication devices in the network to determine the MTU length adapted to the communication network based on the maximum MTU length supported by each communication device.
[0189] In communication networks, network data packets can traverse multiple nodes during transmission. For example, in a cellular network communication architecture, when a terminal device needs to upload video data to an application server, the video data is first sent by the terminal device to the base station. The base station then sends the video data to the UPF (User-Defined Frame) element in the core network, and the UPF element then uploads the video data to the application server. In a WiFi communication architecture, the terminal device can send video data to a router, and the router can then send the video data to an external application server.
[0190] During network data packet transmission, the data packet passes through a first communication device and a second communication device. The path taken by the network data packet from the first communication device to the second communication device is the third transmission path. It can be understood that the third transmission path may include other communication devices besides the first and second communication devices.
[0191] In other words, the third communication path can be part or all of the path of network data packets in the communication network, and the embodiments of this application do not limit this.
[0192] In this embodiment, when the third transmission path between the first communication device and the second communication device supports the MTU length of the adapted communication network, the second processing core in the first communication device can directly offload the inter-core data from the first transmission path based on the MTU length of the adapted communication network to obtain at least one first network data packet. The length of each first network data packet is less than or equal to the MTU length of the adapted communication network. When a first network data packet arrives at the second communication device via the third transmission path and is about to leave the third transmission path from the second communication device, the second communication device can offload at least one first network data packet transmitted via the third transmission path based on the third MTU length.
[0193] It should be noted that the third MTU can be the default MTU length in the communication network. In the absence of a negotiated MTU length, all communication devices in the network can transmit using this third MTU length.
[0194] In some embodiments, the MTU length of the adapted communication network can be greater than the third MTU length, the MTU length of the adapted communication network can be the maximum length of a message that can be transmitted by the PDCP layer, or the MTU length of the adapted communication network can be the length of a giant frame (Jambo): 9000 bytes. This application does not impose any limitations on these embodiments.
[0195] Understandably, the first communication device can directly transmit data packets with a larger MTU length (i.e., the MTU length adapted to the communication network) on the third transmission path. Before the first network data packet leaves the third transmission path, the second communication device performs a data offloading operation on the first network data packet, offloading the larger MTU length (i.e., the MTU length adapted to the communication network) data packet into a smaller MTU length (i.e., the third MTU length) data packet. In this way, the number of packet headers processed can be significantly reduced (e.g., reducing the number of packet headers from the terminal device application layer to the base station, or from the terminal device application layer to the core network device), reducing the CPU processing power requirements, power consumption, and area under peak rate conditions, and effectively utilizing existing IP network hardware and software processing resources.
[0196] In summary, when the MTU length supported by the first and second communication devices is greater than the third MTU length, data packets outside the communication devices can be transmitted using an MTU length greater than the third MTU length that is compatible with the communication network. This can further reduce the number of packet headers processed by the transceiver, thereby reducing the processing capability requirements at peak rates, as well as the power consumption and area of the processing core.
[0197] In one embodiment of this application, the second processing kernel in the first communication device can also receive network data packets sent by other communication devices in the communication network, and forward the received network data packets to other processing kernels in the first communication device for processing.
[0198] Optionally, the data transmission method provided in this application embodiment may further include the following steps:
[0199] The second processing kernel receives second network data packets from the communication network;
[0200] The second processing kernel, based on the first MTU length, offloads the second network data packets to obtain inter-kernel data.
[0201] It should be understood that the second network data packet can be sent from an external communication device to the first communication device. The second processing kernel, acting as the transmission port between the first and external communication devices, can first receive the second network data packet sent by the external communication device, and then send it to other processing kernels within the first communication device for processing or storage. Specifically, the second processing kernel can receive the second network data packet based on the MTU length of the external communication (i.e., the MTU length adapted to the communication network). In other words, the length of the second network data packet is less than or equal to the MTU length adapted to the communication network.
[0202] In this embodiment, the second processing kernel can communicate with other processing kernels on the first transmission path according to the first MTU length. Based on this, the second processing kernel can offload the second network data packets according to the first MTU length to obtain inter-kernel data, wherein the length of the inter-kernel data obtained by the second processing kernel can be less than or equal to the first MTU length.
[0203] For example, the MTU length of the adapted communication network can be configured to 9000 bytes, and the first MTU length supported by the first transmission path can be configured to 65,535 bytes. In a scenario where the first communication device receives video sent by the second communication device, the length of each video data packet (i.e., the second network data packet) sent by the second communication device to the first communication device is less than or equal to 9000 bytes. After receiving the video data packets, the data transceiver (i.e., the second processing core) in the first communication device can merge multiple video data packets to obtain inter-core data. The length of each inter-core data packet can be less than or equal to 65,535 bytes.
[0204] In this embodiment, the second processing core can use an MTU length greater than that of the adapted communication network to transmit data between multiple processing cores. This allows for the transmission of larger data lengths between processing cores, reducing the amount of packet header processing to some extent, improving the processing efficiency of inter-core data, reducing the power consumption and cost of the processing cores, and giving the processing cores more processing capabilities to process other data, resulting in a significant improvement in processing performance.
[0205] The data transmission method provided in this application embodiment will be described in detail below with reference to specific application scenarios.
[0206] refer to Figure 13 As shown, the processing kernel inside a communication device may include a data production kernel / consumer kernel (e.g., AP), an inter-core communication accelerator (e.g., PTA), transceiver 1 (e.g., WiFi module), and transceiver 2 (modem module).
[0207] When the communication device starts up, each processing core can send capability information to other processing cores, informing them of the maximum MTU length it supports for transmission. Specifically, transceiver 1 can send capability information to the inter-core communication accelerator, informing it that transceiver 1 supports transmitting inter-core data with the maximum length of application-layer data packets. Transceiver 2 (modem module) can also send capability information to the inter-core communication accelerator, informing it that transceiver 2 supports transmitting inter-core data with the maximum length of application-layer data packets. Additionally, the inter-core communication accelerator can send capability information to the data production / consumer cores, informing them that the inter-core communication accelerator supports transmitting inter-core data with the maximum length of application-layer data packets.
[0208] Furthermore, when there is a need for inter-core data transmission between the data production kernel and the consumption kernel, the internal communication MTU length (i.e., the first MTU length) can be determined first based on the application scenario of the inter-core data. The data production kernel / consumer kernel informs the inter-core communication accelerator, as well as transceiver 1 and transceiver 2, of the internal communication MTU length through the first configuration information.
[0209] When inter-core data includes data from multiple applications, the data production kernel / consumer kernel can also determine the cache processing parameters for each application. The data production kernel / consumer kernel then notifies the inter-core communication accelerator, as well as transceiver 1 and transceiver 2, of these cache processing parameters via a second configuration message.
[0210] The inter-core communication accelerator, as well as transceiver 1 and transceiver 2, can determine whether to use the internal communication MTU length indicated by the data production kernel / consumer kernel, and the cache processing parameters, based on the first configuration information and / or the second configuration information. In other words, the inter-core communication accelerator, as well as transceiver 1 and transceiver 2, can negotiate with the data production kernel / consumer kernel to determine the final internal communication MTU length and cache processing parameters to be used.
[0211] After the above information is determined, the data production kernel / consumer kernel can send the generated inter-core data to the inter-core communication accelerator, as well as transceiver 1 and transceiver 2, according to the internal communication MTU length and cache processing parameters.
[0212] Furthermore, transceiver 1 and transceiver 2 can determine the external MTU length (i.e., the MTU length adapted to the communication network) based on the maximum MTU length supported by the external communication device along the data packet transmission path, and offload inter-core data according to the external MTU length. For example, when communicating with an external communication device via transceiver 2, the data offloading segmentation operation can be delayed until transceiver 2 performs it. Specifically, transceiver 2 can segment the received inter-core data according to the determined external MTU to obtain at least one data packet.
[0213] In summary, the data transmission method provided in this application does not use the default 1500-byte MTU size to transmit data between kernels, but instead uses the maximum length of the application layer data packet. This allows the processing kernels within the communication device to handle larger data volumes, delaying the data offloading operation until just before the data is actually sent out of the communication device. This reduces the data packet header load on the processing kernels by more than 43 times, significantly improving processing performance and reducing power consumption and cost. Furthermore, the processing kernels have more processing capacity to handle other data.
[0214] The preferred embodiments of this application have been described in detail above with reference to the accompanying drawings. However, this application is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this application, various simple modifications can be made to the technical solutions of this application, and these simple modifications all fall within the protection scope of this application. For example, the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, this application will not describe the various possible combinations separately. Furthermore, various different embodiments of this application can also be arbitrarily combined, as long as they do not violate the spirit of this application, they should also be considered as the content disclosed in this application. Moreover, without conflict, the various embodiments and / or the technical features in the various embodiments described in this application can be arbitrarily combined with the prior art, and the resulting technical solutions should also fall within the protection scope of this application.
[0215] One embodiment of this application also provides a data transmission device 1400, applied in a first processing kernel, see reference. Figure 14 As shown, the data transmission device 1400 may include:
[0216] The first transceiver unit 1401 is configured to transmit inter-core data on the first transmission path based on the first MTU length, provided that the first transmission path between the first processing core and the second processing core supports the transmission of inter-core data with a first maximum transmission unit (MTU) length. The second processing core is configured to offload the received inter-core data based on the MTU length of the adapted communication network, wherein the first MTU length is greater than the MTU length of the adapted communication network.
[0217] Optionally, the first MTU length is the maximum length of the application layer data packet.
[0218] Optionally, the first transmission path between the first processing core and the second processing core supports the transmission of inter-core data of a first MTU length, including:
[0219] In the first transmission path, the maximum MTU length supported by each processing core is greater than or equal to the first MTU length.
[0220] Optionally, the data transmission device 1400 may further include a determining unit. The first transceiver unit 1301 is further configured to receive capability information sent by other processing kernels on the first transmission path, the capability information indicating the maximum MTU length supported by the processing kernel sending the capability information.
[0221] The determining unit is configured to determine the length of the first MTU based on the capability information.
[0222] Optionally, the determining unit can also be configured to determine the first MTU length based on the application scenario of the inter-core data, when the first processing kernel is a data production kernel or a data consumption kernel.
[0223] Optionally, the first transceiver unit 1401 is further configured to send first configuration information to other processing kernels in the first transmission path besides the first processing kernel, the first configuration information being used to indicate the length of the first MTU.
[0224] Optionally, the determining unit can also be configured to determine the first MTU length based on the received first configuration information if the first processing kernel is another type of processing kernel.
[0225] Optionally, the first transceiver unit 1401 is further configured to transmit first inter-core data on the first transmission path, wherein the length of the first inter-core data is not greater than the length of the first MTU.
[0226] Optionally, the first transceiver unit 1401 is further configured to offload data corresponding to each application in the first inter-core data based on the cache processing parameters of each application and the first MTU length, to obtain the first inter-core data; the cache processing parameters include a cache data threshold value and / or a cache time threshold value; and to send the first inter-core data on the first transmission path.
[0227] Optionally, the first transceiver unit 1401 is further configured to perform data offloading on the data corresponding to each application based on the first MTU length if the storage time of the data corresponding to each application in the first processing kernel cache is equal to the cache time threshold value of the application, and / or the data volume of the data corresponding to each application stored in the first processing kernel cache is equal to the cache data threshold value, thereby obtaining the offloaded data corresponding to each application; the first inter-core data includes the offloaded data corresponding to each application in the multiple applications.
[0228] Optionally, the caching parameters for each application are determined based on the transmission latency requirements of each application.
[0229] Optionally, the first transceiver unit 1401 is further configured to receive third inter-core data on the first transmission path, wherein the length of the third inter-core data is not greater than the length of the first MTU.
[0230] Optionally, the second transmission path between the first processing core and the third processing core supports the transmission of inter-core data with a second MTU length. The first transceiver unit 1301 is also configured to offload the third inter-core data based on the second MTU length to obtain fourth inter-core data; and to send the fourth inter-core data on the second transmission path.
[0231] Those skilled in the art should understand that the description of the data transmission device in the embodiments of this application can be understood with reference to the description of the data transmission method in the embodiments of this application.
[0232] One embodiment of this application also provides a data transmission device 1500, applied in a second processing kernel, see reference. Figure 15 As shown, the data transmission device 1500 may include:
[0233] The second transceiver unit 1501 is configured to transmit inter-core data on the first transmission path based on the first MTU length, provided that the first transmission path between the first processing core and the second processing core supports the transmission of inter-core data with a first maximum transmission unit (MTU) length.
[0234] The offloading unit 1502 is configured to offload received inter-core data based on the MTU length of the adapted communication network.
[0235] Optionally, the first MTU length is the maximum length of the application layer data.
[0236] The first transmission path between the first processing core and the second processing core supports the transmission of inter-core data of a first MTU length, including:
[0237] In the first transmission path, the maximum MTU length supported by each processing core is greater than or equal to the first MTU length.
[0238] Optionally, the second transceiver unit 1501 is further configured to receive first configuration information sent by the data production kernel or the data consumption kernel, the first configuration information being used to indicate the first MTU length.
[0239] Optionally, the second transceiver unit 1501 is further configured to receive first inter-core data on the first transmission path, wherein the length of the first inter-core data is not greater than the length of the first MTU.
[0240] Optionally, the offloading unit 1502 is configured to offload data corresponding to each application in the received first inter-core data based on the cache processing parameters of each application and the MTU length of the adapted communication network to obtain a first network data packet; the cache processing parameters include a cache data threshold and / or a cache time threshold.
[0241] Optionally, the unloading unit 1502 is further configured to unload the data corresponding to each application based on the MTU length of the adapted communication network if the storage time of the data corresponding to each application in the second processing kernel cache is equal to the cache time threshold value of the application, and / or the data amount of the data corresponding to each application stored in the second processing kernel cache is equal to the cache data threshold value, thereby obtaining the unloaded data corresponding to each application.
[0242] The first network data packet includes uninstallation data for each of the multiple applications.
[0243] Optionally, the caching parameters for each application are determined based on the transmission latency requirements of each application.
[0244] Optionally, the unloading unit 1502 is further configured to unload the received first inter-core data based on the MTU length of the adapted communication network if the third transmission path between the first communication device to which the second processing core belongs and the second communication device supports the transmission of data packets with an MTU length of the adapted communication network, thereby obtaining at least one first network data packet.
[0245] The second communication device is used to offload at least one first network data packet transmitted through the third transmission path based on a third MTU length; the third MTU length is less than the MTU length of the adapted communication network.
[0246] Optionally, the second transceiver unit 1501 is also configured to receive a second network data packet from the communication network;
[0247] The offloading unit is also configured to offload the second network data packet based on the first MTU length to obtain the inter-core data.
[0248] Those skilled in the art should understand that the description of the data transmission device in the embodiments of this application can be understood with reference to the description of the data transmission method in the embodiments of this application.
[0249] This application also provides a processing kernel, which includes a processor for calling and running a computer program from memory, so that a device equipped with the processing kernel executes the corresponding processes implemented by the first processing kernel in the various methods of this application. For the sake of brevity, these will not be described in detail here.
[0250] Figure 16 This is a schematic structural diagram of a communication device 1600 provided in an embodiment of this application. Figure 16As shown, the communication device 1600 includes a first processing core 1610 and a second processing core 1620.
[0251] Optionally, the communication equipment can be a terminal device, wearable device, base station, core network element, application server, or other independent physical device, and this application embodiment does not limit this.
[0252] The first processing kernel 1610 can be used to implement the corresponding functions implemented by the first processing kernel in the above method, and the second processing kernel 1620 can be used to implement the corresponding functions implemented by the second processing kernel in the above method. For the sake of brevity, these will not be elaborated here.
[0253] This application also provides a computer storage medium, specifically a computer-readable storage medium. It stores computer instructions, which, when executed by a processor on a data transmission device, implement any step of the data transmission method described in this application.
[0254] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0255] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0256] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or at least two units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0257] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0258] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0259] It should be noted that the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.
[0260] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data transmission method, characterized in that, A first processing kernel is applied in a first communication device, the first communication device further comprising a second processing kernel, the data transmission method comprising: When the first transmission path between the first processing kernel and the second processing kernel supports the transmission of inter-core data with a first maximum transmission unit (MTU) length, the first processing kernel transmits inter-core data on the first transmission path based on the first MTU length, and the second processing kernel is used to offload the received inter-core data based on the MTU length of the adapted communication network, wherein the first MTU length is greater than the MTU length of the adapted communication network. The inter-core data refers to the data transmitted between multiple processing cores included in the first communication device, wherein the multiple processing cores include at least the first processing core and the second processing core.
2. The method according to claim 1, characterized in that, The first MTU length is the maximum length of the application layer data.
3. The method according to claim 1, characterized in that, The first transmission path between the first processing core and the second processing core supports the transmission of inter-core data of a first MTU length, including: In the first transmission path, the maximum MTU length supported by each processing core is greater than or equal to the first MTU length.
4. The method according to claim 3, characterized in that, The method further includes: The first processing kernel receives capability information sent by other processing kernels on the first transmission path, wherein the capability information is used to indicate the maximum MTU length supported by the processing kernel that sent the capability information. The first processing kernel determines the first MTU length based on the capability information.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: When the first processing kernel is a data production kernel or a data consumption kernel, the first processing kernel determines the first MTU length based on the application scenario of the inter-core data.
6. The method according to claim 5, characterized in that, The method further includes: Send first configuration information to other processing kernels in the first transmission path besides the first processing kernel. The first configuration information is used to indicate the length of the first MTU.
7. The method according to any one of claims 1-4, characterized in that, The method further includes: If the first processing kernel is another type of processing kernel, the first processing kernel determines the first MTU length based on the received first configuration information.
8. The method according to any one of claims 1-4, characterized in that, The first processing kernel transmits inter-core data on the first transmission path based on the first MTU length, including: First inter-core data is transmitted on the first transmission path, and the length of the first inter-core data is not greater than the length of the first MTU.
9. The method according to any one of claims 1-4, characterized in that, The transmission of inter-core data on the first transmission path based on the first MTU length includes: Based on the cache processing parameters for each application and the first MTU length, the data corresponding to each application in the second inter-core data is unloaded to obtain the first inter-core data; the cache processing parameters include cache data threshold and / or cache time threshold. The first inter-core data is sent on the first transmission path.
10. The method according to claim 9, characterized in that, The process of unloading data corresponding to each application in the second inter-core data based on the cache processing parameters of each application and the first MTU length, to obtain the first inter-core data, includes: If the time that the data corresponding to each application is stored in the first processing kernel cache is equal to the cache time threshold of the application, and / or the amount of data corresponding to each application stored in the first processing kernel cache is equal to the cache data threshold, then the data corresponding to each application is unloaded based on the first MTU length to obtain the unloaded data corresponding to each application. The first inter-core data includes uninstallation data for each of the various applications.
11. The method according to claim 9, characterized in that, The cache processing parameters for each application are determined based on the transmission latency requirements of each application.
12. The method according to any one of claims 1-4, characterized in that, The first processing kernel transmits inter-core data on the first transmission path based on the first MTU length, including: Third-core inter-data is received on the first transmission path, wherein the length of the third-core inter-data is not greater than the length of the first MTU.
13. The method according to claim 12, characterized in that, The second transmission path between the first processing core and the third processing core supports the transmission of inter-core data of a second MTU length, and the method further includes: Based on the second MTU length, the third inter-core data is offloaded to obtain the fourth inter-core data; The fourth inter-core data is transmitted on the second transmission path.
14. A data transmission method, characterized in that, A second processing kernel applied in a first communication device, the first communication device further comprising a first processing kernel, including: When the first transmission path between the first processing kernel and the second processing kernel supports the transmission of inter-core data with a first maximum transmission unit (MTU) length, the second processing kernel transmits inter-core data on the first transmission path based on the first MTU length. Offloading received inter-core data based on the MTU length of the adapted communication network; The inter-core data refers to the data transmitted between multiple processing cores included in the first communication device, wherein the multiple processing cores include at least the first processing core and the second processing core.
15. The method according to claim 14, characterized in that, The first MTU length is the maximum length of the application layer data.
16. The method according to claim 14, characterized in that, The first transmission path between the first processing core and the second processing core supports the transmission of inter-core data of a first MTU length, including: In the first transmission path, the maximum MTU length supported by each processing core is greater than or equal to the first MTU length.
17. The method according to claim 14, characterized in that, The method further includes: Receive first configuration information sent by the data production kernel or the data consumption kernel, the first configuration information being used to indicate the first MTU length.
18. The method according to claim 14, characterized in that, The second processing kernel transmits inter-core data on the first transmission path based on the first MTU length, including: First inter-core data is received on the first transmission path, and the length of the first inter-core data is not greater than the length of the first MTU.
19. The method according to claim 14, characterized in that, The inter-core data received by the MTU length offloading based on the adaptive communication network includes: Based on the cache processing parameters for each application and the MTU length of the adapted communication network, the data corresponding to each application in the received first inter-core data is offloaded to obtain the first network data packet; the cache processing parameters include cache data threshold and / or cache time threshold.
20. The method according to claim 19, wherein, Based on the cache processing parameters for each application and the MTU length of the adapted communication network, the data corresponding to each application in the received first inter-core data is offloaded to obtain a first network data packet, including: If the time that the data corresponding to each application is stored in the second processing kernel cache is equal to the cache time threshold of the application, and / or the amount of data corresponding to each application stored in the second processing kernel cache is equal to the cache data threshold, then the data corresponding to each application is unloaded based on the MTU length of the adapted communication network to obtain the unloaded data corresponding to each application. The first network data packet includes uninstallation data for each of the various applications.
21. The method according to claim 19 or 20, characterized in that, The cache processing parameters for each application are determined based on the transmission latency requirements of each application.
22. The method according to any one of claims 14-20, characterized in that, The inter-core data received by the MTU length offloading based on the adaptive communication network includes: If the third transmission path between the first communication device and the second communication device to which the second processing kernel belongs supports the transmission of data packets with an MTU length of the adapted communication network, the received first inter-core data is offloaded based on the MTU length of the adapted communication network to obtain at least one first network data packet. The second communication device is used to offload at least one first network data packet transmitted through the third transmission path based on a third MTU length; the third MTU length is less than the MTU length of the adapted communication network.
23. The method according to any one of claims 14-20, characterized in that, Also includes: Receive a second network data packet from the communication network; Based on the first MTU length, the second network data packet is offloaded to obtain the inter-core data.
24. A data transmission device, characterized in that, A first processing kernel is applied in a first communication device, the first communication device further includes a second processing kernel, and the data transmission device includes: The first transceiver unit is configured to transmit inter-core data on the first transmission path based on the first MTU length, provided that the first transmission path between the first processing core and the second processing core supports the transmission of inter-core data with a first maximum transmission unit (MTU) length. The second processing core is configured to offload the received inter-core data based on the MTU length of the adapted communication network, wherein the first MTU length is greater than the MTU length of the adapted communication network. The inter-core data refers to the data transmitted between multiple processing cores included in the first communication device, wherein the multiple processing cores include at least the first processing core and the second processing core.
25. A processing apparatus, characterized in that, A second processing kernel applied in a first communication device, the first communication device further comprising a first processing kernel, including: The second transceiver unit is configured to transmit inter-core data on the first transmission path based on the first MTU length, provided that the first transmission path between the first processing core and the second processing core supports the transmission of inter-core data with a first maximum transmission unit (MTU) length. The offloading unit is configured to offload received inter-core data based on the MTU length of the adapted communication network. The inter-core data refers to the data transmitted between multiple processing cores included in the first communication device, wherein the multiple processing cores include at least the first processing core and the second processing core.
26. A processing kernel, characterized in that, include: A processor for calling and running a computer program from memory, causing a device having the processor kernel installed to perform the method as claimed in any one of claims 1-13, or the method as claimed in any one of claims 14-23.
27. A communication device, characterized in that, It includes a first processing kernel and a second processing kernel, wherein the first processing kernel is used to execute the method as described in any one of claims 1-13, and the second processing kernel is used to execute the method as described in any one of claims 14-23.
28. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the method of any one of claims 1-13, or the method of any one of claims 14-23.
Citation Information
Patent Citations
Method and apparatus to perform segmentation off-load between two logical partitions
US20080184224A1