Multi-physical channel communication method and apparatus, electronic device, and storage medium
By establishing multiple physical channels between the mobile device and the external computing power expansion module, and splitting and transmitting task data in parallel, the problem of insufficient computing power of the mobile device is solved, achieving efficient computing power expansion and task scheduling optimization, and improving system performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HANGZHOU WEIHENG TECHNOLOGY CO LTD
- Filing Date
- 2026-01-09
- Publication Date
- 2026-06-02
AI Technical Summary
Mobile devices' processors and neural network processing units are insufficient to efficiently support the training and inference tasks of large-scale models, resulting in insufficient computing power.
By establishing multiple physical channels between mobile devices and external computing power expansion modules, task data is divided into multiple fragments, and these channels are used for parallel transmission and aggregation calculation. Intelligent offloading decisions are made by combining operator characteristics, device status, and expansion module status to optimize data transmission strategies.
It effectively expands the computing power of mobile devices, improves data transmission throughput, optimizes task scheduling, reduces latency, and enhances system energy efficiency and resource utilization, meeting the needs of complex AI applications.
Smart Images

Figure CN122132124A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a multi-physical-channel communication method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the rapid growth in demand for running artificial intelligence (AI) applications on mobile devices such as smartphones and tablets, their built-in processors, neural network processing units (NPUs), and storage resources are often insufficient to efficiently support the training and inference tasks of large-scale models.
[0003] How to increase the available computing power of mobile devices to support the training and inference tasks of large-scale models is an urgent problem to be solved. Summary of the Invention
[0004] The purpose of this application is to provide at least one multi-physical channel communication method, device, electronic device and storage medium, which can at least solve the problem of insufficient computing power of mobile devices and at least achieve the effect of increasing the available computing power of mobile devices.
[0005] To address the aforementioned technical problems, at least one embodiment of this application provides a multi-physical-channel communication method applied to a mobile device in a communication system. The communication system further includes an external computing power expansion module. Both the mobile device and the external computing power expansion module integrate multiple physical interfaces. Multiple physical channels are constructed between the mobile device and the external computing power expansion module based on these physical interfaces. The method includes: acquiring task data of a computational task to be deployed from an AI application running on the mobile device; dividing the task data into multiple data fragments; and sending the multiple data fragments to the external computing power expansion module using the multiple physical channels, so that the external computing power expansion module aggregates the multiple data fragments, executes a computational task based on the aggregated task data, and returns the result.
[0006] By utilizing an external computing power expansion module as the execution end of computing tasks and transmitting AI task data from the mobile device to this module via a communication link, the local computing power of the mobile device is effectively expanded to meet the needs of complex AI applications, thus realizing the expansion of computing power of the mobile device.
[0007] Furthermore, by segmenting task data and sending it in parallel using multiple physical channels, the aggregation of physical layer bandwidth is achieved, effectively improving the total data transmission throughput between mobile devices and external modules, and solving the problem that the bandwidth of a single channel is limited and easily becomes a bottleneck.
[0008] In some optional embodiments, acquiring task data of the AI application running on the mobile device for the task to be delegated includes: acquiring operator features, mobile device status, and extension module status. The operator features include at least one of the following: operator type of the target operator, shape of the input / output tensor, computational load, and latency requirements. The target operator is the operator in the AI application used to process the current computation task. The mobile device status indicates the current state of the mobile device, and the extension module status indicates the current state of the external computing power extension module. Based on the operator features, mobile device status, and extension module status, it is determined whether the current computation task is a task to be delegated. In response to the current computation task being a task to be delegated, task data of the task to be delegated during the operation of the AI application is acquired.
[0009] By comprehensively considering operator characteristics (determining computational load and real-time performance), mobile device status (such as local CPU load and battery level), and expansion module status (such as computing power and connectivity), a scientific decision-making process for determining whether to offload computing power is achieved. This avoids unnecessary communication overhead or latency caused by blind offloading, solves the problem of a lack of dynamic channel allocation and aggregation mechanisms for AI application scenarios, and avoids unintelligent task scheduling, enabling dynamic and optimized task scheduling. It ensures that only suitable and worthwhile tasks (such as computationally intensive tasks, tasks that external modules excel at, and tasks where current communication conditions permit) are offloaded to external computing power expansion modules. This balances expanding computing power with energy consumption, local resource utilization, and task completion speed, improving the overall system energy efficiency and responsiveness.
[0010] In some optional embodiments, dividing the task data into multiple data fragments includes: identifying the various data types contained in the task data; and dividing the task data according to the data type to obtain multiple data fragments.
[0011] AI task data typically contains different types (such as model weights, input feature maps, and control commands), each with varying requirements for bandwidth, latency, and reliability. Segmenting by data type allows subsequent steps to match different data fragments with varying transmission strategies and physical channels, laying the foundation for differentiated transmission. Furthermore, it avoids the resource waste or performance compromises caused by mixing data with different requirements, enabling high-bandwidth data to use high-speed channels and low-latency data to use low-latency channels. This achieves precise matching of communication resources with data characteristics, improving communication efficiency and resource adaptability.
[0012] In some optional embodiments, the computing task to be delegated includes multiple sub-computing tasks to be processed serially, the task data includes multiple sub-computing task data, one sub-computing task corresponds to one sub-computing task data, and the step of dividing the task data into multiple data fragments includes: dividing the task data into multiple sub-computing task data, each sub-computing task data being a data fragment.
[0013] For computational tasks consisting of multiple sequential subtasks (such as consecutive operators in AI inference), the data corresponding to each subtask (such as the input / output tensors of the operator) is treated as an independent slice. This allows external modules to compute the current subtask while the mobile device simultaneously transmits the data for the next subtask. This segmentation method enables greater overlap between computation and communication, reducing idle time on the mobile device while waiting for data transmission. Consequently, it significantly reduces end-to-end latency across the entire task chain, improves system throughput, and effectively hides communication latency.
[0014] In some optional embodiments, sending the multiple data fragments to the external computing power expansion module using the multiple physical channels includes: determining the transmission priority of each data fragment; and sequentially sending each data fragment in descending order of transmission priority as follows: determining the transmission requirements of the current data fragment; obtaining the current channel status of the multiple physical channels; selecting a physical channel that meets the transmission requirements from the multiple physical channels based on the channel status; and selecting the physical channel with the largest available bandwidth from the physical channels that meet the transmission requirements to send the current data fragment.
[0015] By determining transmission requirements (such as high bandwidth and low latency) for each data segment and matching them based on real-time channel status, an optimal mapping between data characteristics and physical channel performance is achieved. This solves the core problem of the lack of unified scheduling due to differences in bandwidth, latency, and stability among different channels, enabling intelligent and differentiated data transmission. Through transmission priority scheduling, data with the greatest impact on overall task progress or the highest real-time requirements (such as control commands and critical intermediate results) are prioritized for transmission, optimizing the overall task completion time and ensuring the timely transmission of critical data. Dynamically selecting channels that meet requirements based on channel status, and favoring the channel with the highest available bandwidth, helps with load balancing, fully utilizing all available link resources, and automatically avoiding channels with degraded performance, thus improving link utilization and reliability.
[0016] In some alternative embodiments, the multiple physical interfaces include at least two of Universal Serial Bus (USB), Wi-Fi, Bluetooth, and Ultra Wideband (UWB).
[0017] At least one embodiment of this application also provides a multi-physical-channel communication device applied to a mobile device in a communication system. The communication system further includes an external computing power expansion module. Both the mobile device and the external computing power expansion module integrate multiple physical interfaces. Multiple physical channels are constructed between the mobile device and the external computing power expansion module based on the multiple physical interfaces. The device includes: an acquisition module for acquiring task data of a computational task to be deployed from an AI application running on the mobile device; a segmentation module for segmenting the task data into multiple data fragments; and a sending module for sending the multiple data fragments to the external computing power expansion module using the multiple physical channels, so that the external computing power expansion module can aggregate the multiple data fragments, execute a computational task based on the aggregated task data, and return the result.
[0018] In some optional embodiments, an acquisition module is used to acquire operator features, mobile device status, and extension module status. The operator features include at least one of the following: operator type of the target operator, shape of the input / output tensor, computational complexity, and latency requirements. The target operator is an operator used in the AI application to process the current computing task. The mobile device status indicates the current state of the mobile device, and the extension module status indicates the current state of the external computing power extension module. Based on the operator features, mobile device status, and extension module status, it is determined whether the current computing task is a computing task to be delegated. In response to the current computing task being a computing task to be delegated, task data of the computing tasks to be delegated during the operation of the AI application is acquired.
[0019] In some optional embodiments, a segmentation module is used to identify the multiple data types contained in the task data; and to segment the task data according to the data type to obtain multiple data fragments.
[0020] In some optional embodiments, the computing task to be delegated includes multiple sub-computing tasks to be processed serially, the task data includes multiple sub-computing task data, one sub-computing task corresponds to one sub-computing task data, and the segmentation module is used to segment the task data into multiple sub-computing task data, each sub-computing task data being a data slice.
[0021] In some optional embodiments, the sending module is used to determine the transmission priority of each data fragment; and to sequentially send each data fragment in descending order of transmission priority as follows: determine the transmission requirements of the current data fragment; obtain the current channel status of the plurality of physical channels; select the physical channel that meets the transmission requirements from the plurality of physical channels according to the channel status; and select the physical channel with the largest available bandwidth from the physical channels that meet the transmission requirements to send the current data fragment.
[0022] At least one embodiment of this application also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above-described multi-physical channel communication method.
[0023] At least one embodiment of this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described multi-physical channel communication method.
[0024] At least one embodiment of this application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described multi-physical channel communication method. Attached Figure Description
[0025] One or more embodiments are illustrated by way of example with reference to the accompanying drawings, and these illustrative descriptions do not constitute a limitation on the embodiments.
[0026] Figure 1 This is a schematic diagram of a communication system provided in one embodiment of this application; Figure 2 This is a flowchart of a multi-physical channel communication method provided in one embodiment of this application; Figure 3 This is a schematic diagram of a multi-physical channel communication device provided in another embodiment of this application. Detailed Implementation
[0027] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0028] Furthermore, the accompanying drawings are merely illustrative of this application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0029] Example 1: The specific implementation methods of the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0030] Figure 1 A schematic diagram of a communication system according to an embodiment of this application is shown. Figure 1 As shown, the system may include a mobile device 11 and an external computing power expansion module 12.
[0031] Both the mobile device 11 and the external computing power expansion module 12 integrate multiple physical interfaces, and multiple physical channels are built between the mobile device 11 and the external computing power expansion module 12 based on these multiple physical interfaces.
[0032] In some cases, multiple physical interfaces include at least two of USB (Universal Serial Bus), Wi-Fi (Wireless Fidelity), Bluetooth, and UWB (Ultra Wideband).
[0033] The mobile device 11 can run AI applications. The external computing power expansion module 12 is used to assist the mobile device 11 in storage or AI computing power enhancement. It can be selected according to user needs and supports hot-swapping. The mobile device 11 and the external computing power expansion module 12 can establish multiple physical communication channels simultaneously, such as USB, Wi-Fi, Bluetooth, UWB, etc.; each channel maintains independent connection identifiers, bandwidth / latency parameters, etc.
[0034] In some examples, the mobile device 11 may include a task analysis and scheduling module for determining a data allocation strategy based on operator characteristics (e.g., operator type, computational cost, shape of input / output tensors, latency requirements, computational cost), mobile device status, and extension module status, in order to determine which task data needs to be transferred to the external computing power extension module 12 and which task data is kept for local execution; and to label data fragments.
[0035] In some examples, the mobile device 11 may include a communication management module for detecting and maintaining multiple physical communication channels; collecting channel status (bandwidth, latency, packet loss rate, power consumption); and dynamically allocating data fragments to different channels.
[0036] In some examples, the mobile device 11 may include a virtual channel aggregation module for providing a single logical link to the task analysis and scheduling module; and for completing data fragmentation, distribution, serial number labeling, and cross-channel reassembly identification; and for providing a unified API interface to shield the underlying differences between different physical channels.
[0037] In some examples, the mobile device 11 may include a security and authentication module for authenticating external modules (certificates / keys); session key negotiation and encrypted transmission; and replay protection and data integrity verification.
[0038] In some examples, the mobile device 11 may include a fallback and fault tolerance module for quickly migrating task data back to local execution when the external computing power expansion module 12 is disconnected or the channel is abnormal.
[0039] In some examples, the external computing power expansion module 12 includes a module management unit for reporting module capabilities (computing power, operator support, precision limitations, storage capacity, etc.) to the mobile device 11 when the external computing power expansion module 12 is inserted / enabled; and for supporting hot-plug detection and status reporting.
[0040] In some examples, the external computing power expansion module 12 includes a communication access module for supporting multiple physical interfaces (USB, Wi-Fi, Bluetooth, UWB, etc.) and providing channel status reports (available bandwidth, latency, load status).
[0041] In some examples, the external computing power expansion module 12 includes a virtual channel reassembly module for receiving data fragments from different channels; reassembling them based on sequence numbers / tags to restore complete task data; and checking the integrity of task data and discarding illegal or duplicate data.
[0042] In some examples, the external computing power expansion module 12 includes a secure execution and isolation module for verifying the identity of the mobile device and the session key; ensuring that tasks are executed only under an authenticated session; and preventing unauthorized access to data.
[0043] In some examples, the external computing power extension module 12 includes a computing power execution module containing computing units for performing inference based on task data and returning result tensors.
[0044] In some examples, the external computing power expansion module 12 includes a caching and scheduling module for providing a data buffer to support the reassembly of out-of-order data arriving from multiple channels; and for collaborative scheduling to prioritize tasks with high real-time requirements.
[0045] Mobile device 11 can be various electronic devices, including but not limited to smartphones, tablets, laptops, desktop computers, smartwatches, in-vehicle systems, etc.
[0046] The external computing power expansion module 12 can be a data processing unit that provides computing services, such as a processing unit that includes core computing units such as NPU, GPU, and FPGA.
[0047] Example 2: The multi-physical-channel communication method of this embodiment can be applied to mobile devices with communication, computing, and data storage capabilities. This mobile device is a communication system, which also includes an external computing power expansion module. Both the mobile device and the external computing power expansion module integrate multiple physical interfaces. Multiple physical channels are established between the mobile device and the external computing power expansion module based on these multiple physical interfaces. The specific process can be as follows: Figure 2 As shown, this includes S201-S203. In some examples, the multiple physical interfaces include at least two of USB, Wi-Fi, Bluetooth, and UWB.
[0048] S201, Obtain task data for the computational tasks to be delegated from the AI application running on the mobile device.
[0049] When an AI application runs on a mobile device, a series of computational tasks are performed to generate the final computational inference result. The embodiments of this application do not limit which of these computational tasks need to be offloaded to an external computing power expansion module.
[0050] In some examples, acquiring task data for a pending computation task of an AI application running on the mobile device may include: acquiring operator features, mobile device status, and extension module status; determining whether the current computation task is a pending computation task based on the operator features, mobile device status, and extension module status; and in response to the current computation task being a pending computation task, acquiring task data for pending computation tasks during the operation of the AI application.
[0051] The operator features include at least one of the following: the operator type of the target operator, the shape of the input / output tensor, the computational cost, and the latency requirement. The target operator is the operator used in the AI application to process the current computational task. The mobile device state is used to indicate the current state of the mobile device. The extension module state is used to indicate the current state of the external computing power extension module.
[0052] For example, a convolution operator of type convolution with an input tensor shape of [1,3,640,640] (approximately 1.5MB) has a computational cost of approximately 1.5MB, which is relatively large. The latency requirement is medium (or 10ms; the latency requirement can be expressed in terms of latency levels or specific latency times, which is not limited in this application).
[0053] Operator features are used to represent the computing and storage resources required to execute the computational task, as well as the latency requirements of the computational task.
[0054] The mobile device state represents the currently available computing and storage resources of the mobile device, indicating its current capacity to process computing tasks. The extension module state represents the currently available computing and storage resources of the extension module, indicating its current capacity to process computing tasks.
[0055] In some examples, mobile device status may include one or more of the following: CPU utilization, memory usage, battery status, local NPU status, and the current network environment.
[0056] In some examples, the status of an extension module may include one or more of the following: computing power information (current percentage of idle computing power), operator support (e.g., explicit support for operators such as convolution and pooling), storage capacity (remaining capacity), and communication interface status.
[0057] For example, the communication interface status can be as follows: USB: Connection is normal, reported available bandwidth is approximately 800Mbps, latency is approximately 2ms; Wi-Fi: Connection is normal, reported available bandwidth is approximately 600Mbps, latency is approximately 10ms; UWB: Connection is normal, reported available bandwidth is approximately 100Mbps, latency is approximately 1ms.
[0058] Regarding how to determine whether the current computing task is a computing task to be offloaded based on the operator characteristics, mobile device status, and extension module status, the embodiments of this application are not limited and can be determined based on experience. Any task selection method used to offload computing tasks to other devices for processing can be applied here.
[0059] For example, necessary conditions include: the external computing power expansion module must be connected and authenticated, and the type of the target operator must be supported by its hardware. In this example, the external computing power expansion module is connected correctly and supports convolution operators, thus meeting the conditions.
[0060] Computational power assessment: If the computational load of the target operator exceeds the local processing capacity threshold (e.g., >100 MFLOPs (Million Floating-Point Operations Per Second)) and / or the load of the local related computing units (CPU / local NPU) exceeds the threshold (e.g., >80%), then decentralization is preferred. In this example, the operator computational load of 176.9 MFLOPs > 100 MFLOPs, and the CPU load of 85% > 80%, thus meeting the decentralization criteria.
[0061] By comprehensively considering operator characteristics (determining computational load and real-time performance), mobile device status (such as local CPU load and battery level), and expansion module status (such as computing power and connectivity), a scientific decision-making process for determining whether to offload computing power is achieved. This avoids unnecessary communication overhead or latency caused by blind offloading, solves the problem of a lack of dynamic channel allocation and aggregation mechanisms for AI application scenarios, and avoids unintelligent task scheduling, enabling dynamic and optimized task scheduling. It ensures that only suitable and worthwhile tasks (such as computationally intensive tasks, tasks that external modules excel at, and tasks where current communication conditions permit) are offloaded to external computing power expansion modules. This balances expanding computing power with energy consumption, local resource utilization, and task completion speed, improving the overall system energy efficiency and responsiveness.
[0062] S202, divide the task data into multiple data fragments.
[0063] In some examples, the task data is divided into multiple data shards, which may include randomly dividing the task data into multiple data shards.
[0064] In other examples, the task data is divided into multiple data fragments, including: identifying the various data types contained in the task data; and dividing the task data according to data type to obtain multiple data fragments.
[0065] For example, all the identified weight data (data type A) are aggregated together and encapsulated into data slice 1. The identified input image tensor (data type B) is encapsulated into data slice 2.
[0066] AI task data typically contains different types (such as model weights, input feature maps, and control commands), each with varying requirements for bandwidth, latency, and reliability. Segmenting by data type allows subsequent steps to match different data fragments with varying transmission strategies and physical channels, laying the foundation for differentiated transmission. Furthermore, it avoids the resource waste or performance compromises caused by mixing data with different requirements, enabling high-bandwidth data to use high-speed channels and low-latency data to use low-latency channels. This achieves precise matching of communication resources with data characteristics, improving communication efficiency and resource adaptability.
[0067] In other examples, the computation task to be delegated includes multiple sub-computation tasks to be processed serially, and the task data includes multiple sub-computation task data, with one sub-computation task corresponding to one sub-computation task data. Dividing the task data into multiple data fragments includes: dividing the task data into multiple sub-computation task data, with each sub-computation task data being a data fragment.
[0068] For example, mobile devices need to recognize user voice input in real time. Due to the large size of the model and its sensitivity to latency, the entire voice recognition pipeline is offloaded to an external AI computing box for execution. This voice recognition pipeline contains the following sub-computational tasks that must be processed serially: Subtask A: Audio Feature Extraction - Convert the raw audio waveform into a Mel spectrogram; Subtask B: Acoustic Model Inference - Converting spectrograms into phoneme probability sequences; Subtask C: Decoder and Language Model Integration - Converting Phoneme Sequences into Text.
[0069] There are strict data dependencies among these three subtasks: the input of subtask B depends on the output of subtask A, and the input of subtask C depends on the output of subtask B.
[0070] The task data is divided into sub-computation task data A, sub-computation task data B, and sub-computation task data C, corresponding to sub-tasks A, B, and C, respectively. Sub-computation task data A, B, and C are all data fragments.
[0071] For computational tasks consisting of multiple sequential subtasks (such as consecutive operators in AI inference), the data corresponding to each subtask (such as the input / output tensors of the operator) is treated as an independent slice. This allows external modules to compute the current subtask while the mobile device simultaneously transmits the data for the next subtask. This segmentation method enables greater overlap between computation and communication, reducing idle time on the mobile device while waiting for data transmission. Consequently, it significantly reduces end-to-end latency across the entire task chain, improves system throughput, and effectively hides communication latency.
[0072] S203, the multiple data fragments are sent to the external computing power expansion module through the multiple physical channels, so that the external computing power expansion module can aggregate the multiple data fragments, execute the computing task based on the aggregated task data and return the result.
[0073] In some examples, sending the multiple data fragments to the external computing power expansion module using the multiple physical channels may include: determining the transmission priority of each data fragment; and sequentially sending each data fragment in descending order of transmission priority as follows: determining the transmission requirements of the current data fragment; obtaining the current channel status of the multiple physical channels; selecting the physical channel that meets the transmission requirements from the multiple physical channels based on the channel status; and selecting the physical channel with the largest available bandwidth from the physical channels that meets the transmission requirements to send the current data fragment.
[0074] If multiple data fragments are obtained by dividing them according to data type, then determining the transmission priority of each data fragment can include: determining the transmission priority of each data fragment according to the preset priority of each data type.
[0075] Since multiple data fragments are obtained by dividing them into sub-computation tasks, the transmission priority of each data fragment is determined according to the execution order of the sub-computation tasks, with the first sub-computation task executed having a higher transmission priority.
[0076] In some examples, transmission requirements are latency requirements. For data fragments segmented by data type, the latency requirement corresponds to the data type; each data type has a preset latency requirement. The latency requirement of a data fragment can be determined based on its data type, thus determining the transmission requirements. For data fragments segmented by sub-computation tasks, the latency requirement corresponds to the transmission priority of the sub-computation tasks; each transmission priority corresponds to a preset latency requirement. The latency requirement of a data fragment can be determined based on its corresponding transmission priority, thus determining the transmission requirements.
[0077] In some cases, channel status includes channel latency. When the channel latency is less than the latency requirement, it indicates that the physical channel meets the data fragmentation transmission requirements.
[0078] By determining transmission requirements (such as high bandwidth and low latency) for each data segment and matching them based on real-time channel status, an optimal mapping between data characteristics and physical channel performance is achieved. This solves the core problem of the lack of unified scheduling due to differences in bandwidth, latency, and stability among different channels, enabling intelligent and differentiated data transmission. Through transmission priority scheduling, data with the greatest impact on overall task progress or the highest real-time requirements (such as control commands and critical intermediate results) are prioritized for transmission, optimizing the overall task completion time and ensuring the timely transmission of critical data. Dynamically selecting channels that meet requirements based on channel status, and favoring the channel with the highest available bandwidth, helps with load balancing, fully utilizing all available link resources, and automatically avoiding channels with degraded performance, thus improving link utilization and reliability.
[0079] To clearly illustrate the embodiments of this application, a specific example will be used below for further explanation.
[0080] S301, Task Analysis and Intelligent Delegation Decision-Making.
[0081] Take, for example, a real-time video object recognition application running on a mobile device. This AI application is based on a deep learning model (such as YOLO).
[0082] The mobile device parsing model identifies key operators involved in the current frame recognition task, such as a convolution operator. Its features are: operator type is convolution, input tensor shape is [1,3,640,640] (approximately 1.5MB), computational complexity is high, and latency requirement is "medium" (high real-time requirements but not extreme).
[0083] The mobile device detected a high local CPU load (mobile device status). Simultaneously, it learned via the handshake protocol that the external AI computing box is connected, its NPU computing power is sufficient, and the bandwidth currently reported via USB and Wi-Fi channels is 800Mbps and 600Mbps respectively, indicating a good status (expansion module status).
[0084] Based on a comprehensive assessment of the computational density of the convolution operator, high local load, availability of external modules, and good channel status, the decision module of the mobile device determines to offload the convolution computation task to an external AI computing box for execution. Subsequently, the task data corresponding to this task is obtained, mainly including: the weight parameters of the convolutional layer (15MB) and the input image tensor to be processed (1.5MB).
[0085] S302, data sharding.
[0086] Since the task data contains two data types, weight parameters and input images, it is divided into two logical data fragments: fragment A (weight parameters, 15MB) and fragment B (input images, 1.5MB).
[0087] Slice A (weight parameter) has a large data volume and can be further divided. Based on the current bandwidth ratio of USB and Wi-Fi, it is dynamically divided into 10 sub-slices (A1-A10), of which A1-A7 are planned to be transmitted via USB, and A8-A10 are planned to be transmitted via Wi-Fi. Slice B is transmitted as a whole.
[0088] S302, Dynamic Channel Selection and Parallel Transmission.
[0089] Control commands (such as starting inference) can be assigned the highest priority, with a transmission requirement of "ultra-low latency". Input image slice B has the next highest priority, requiring low latency and moderate bandwidth. Weight slice A has the lowest priority, requiring high bandwidth.
[0090] For example, real-time monitoring of mobile devices shows: USB latency 2ms, available bandwidth 800Mbps; Wi-Fi latency 10ms, available bandwidth 600Mbps; UWB latency 1ms, available bandwidth 100Mbps.
[0091] At this point, when sending control commands, the requirement is ultra-low latency, and the UWB channel (1ms) best meets the requirement, so the UWB channel is selected for transmission.
[0092] Sending input image fragment B requires low latency and moderate bandwidth. Both USB (2ms, 800Mbps) and Wi-Fi (10ms, 600Mbps) meet the bandwidth requirements, but USB has lower latency. Based on the rule of selecting the channel that meets the requirements and has the largest available bandwidth, USB has more available bandwidth; therefore, the USB channel is chosen to send fragment B.
[0093] Weighted sub-slices A1-A10 are sent, requiring high bandwidth. Based on the preset slice plan and real-time bandwidth, A1-A7 are sent via the USB channel, and A8-A10 are sent via the Wi-Fi channel. The transmission of all these slices (including control commands, input image slice B, and weighted sub-slices A1-A10) occurs in parallel.
[0094] S304, External Module Data Reorganization and Calculation.
[0095] The external computing power expansion module simultaneously receives data fragments from USB, Wi-Fi, and UWB interfaces. First, it receives control commands through the UWB channel and immediately notifies the computing power execution module to prepare. Subsequently, it receives fragment B (input image) and weighted sub-fragments A1-A7 from the USB channel, and weighted sub-fragments A8-A10 from the Wi-Fi channel.
[0096] Then, based on the sequence number and stream identifier carried by the fragment, all weighted sub-fragments (A1-A10) are correctly sorted and reassembled into a complete 15MB weight parameter.
[0097] The complete weight parameters and input image are fed into the NPU to perform convolution calculations. The NPU completes object recognition and generates result data (small amount of data) containing object category and location.
[0098] S305, Result Return and Fault Tolerance Handling.
[0099] The external computing power expansion module can encrypt the recognition results through a low-latency UWB channel and return them to the mobile device.
[0100] If the USB connection is accidentally disconnected during data transmission to the external computing power expansion module, the mobile device will immediately detect the USB channel interruption. The mobile device will immediately mark the weighted sub-fragment (e.g., A5) currently waiting for transmission in the USB queue as awaiting migration and reassess the available channels. Finding that only Wi-Fi and UWB remain, and that UWB bandwidth is insufficient, it will decide to transmit all subsequent data (including the awaiting A5 and the untransmitted A6 and A7) through the Wi-Fi channel. A control command will be sent to the external computing power expansion module via the Wi-Fi channel, notifying it that the transmission path for subsequent fragments of the weighted data stream has changed. The external computing power expansion module will adjust its reassembly logic and wait to receive the remaining fragments from the Wi-Fi channel.
[0101] Example 3: Another embodiment of this application relates to a multi-physical-channel communication device applied to a mobile device in a communication system. The communication system further includes an external computing power expansion module. Both the mobile device and the external computing power expansion module integrate multiple physical interfaces. Multiple physical channels are established between the mobile device and the external computing power expansion module based on these multiple physical interfaces. The implementation details of the multi-physical-channel communication device of this embodiment are described below. The following implementation details are provided for ease of understanding and are not essential for implementing this solution. A schematic diagram of the multi-physical-channel communication device of this embodiment can be seen as follows: Figure 3 As shown, it includes: an acquisition module 31, used to acquire task data of the AI application running on the mobile device, which is to be deployed for computing tasks; a segmentation module 32, used to segment the task data into multiple data fragments; and a sending module 33, used to send the multiple data fragments to the external computing power expansion module using the multiple physical channels, so that the external computing power expansion module can aggregate the multiple data fragments, execute computing tasks based on the aggregated task data, and return results.
[0102] In some optional embodiments, the acquisition module 34 is used to acquire operator features, mobile device status, and extension module status. The operator features include at least one of the following: operator type of the target operator, shape of the input / output tensor, computational load, and latency requirements. The target operator is the operator used in the AI application to process the current computing task. The mobile device status is used to indicate the current state of the mobile device, and the extension module status is used to indicate the current state of the external computing power extension module. Based on the operator features, mobile device status, and extension module status, it is determined whether the current computing task is a computing task to be delegated. In response to the current computing task being a computing task to be delegated, the task data of the computing tasks to be delegated during the operation of the AI application is acquired.
[0103] In some optional embodiments, the segmentation module 32 is used to identify the various data types contained in the task data; and to segment the task data according to the data types to obtain multiple data fragments.
[0104] In some optional embodiments, the computing task to be delegated includes multiple sub-computing tasks to be processed serially, and the task data includes multiple sub-computing task data, with one sub-computing task corresponding to one sub-computing task data. The segmentation module 32 is used to segment the task data into multiple sub-computing task data, with each sub-computing task data being a data slice.
[0105] In some optional embodiments, the sending module 33 is used to determine the transmission priority of each data fragment; and to perform the following sending process on each data fragment in descending order of transmission priority: determine the transmission requirements of the current data fragment; obtain the current channel status of the plurality of physical channels; select the physical channel that meets the transmission requirements from the plurality of physical channels according to the channel status; and select the physical channel with the largest available bandwidth from the physical channels that meet the transmission requirements to send the current data fragment.
[0106] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this application, this embodiment does not introduce units that are not closely related to solving the technical problems proposed in this application; however, this does not mean that other units are absent in this embodiment.
[0107] Example 4: Another embodiment of this application relates to an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the multi-physical channel communication methods described in the above embodiments.
[0108] The memory and processor are connected via a bus, which can include any number of interconnecting buses and bridges, connecting various circuits of one or more processors and memories. The bus can also connect various other circuits, such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and will not be described further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by the processor is transmitted over the wireless medium via an antenna, which further receives data and transmits it to the processor.
[0109] The processor manages the bus and general processing, and also provides various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. Memory is used to store data used by the processor during operation.
[0110] Example 5: Another embodiment of this application relates to a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the method embodiments described above.
[0111] That is, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware. This program is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps 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 USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0112] Example 6: Another embodiment of this application relates to a computer program product, including a computer program. When executed by a processor, the computer program implements the method embodiments described above.
[0113] Those skilled in the art will understand that the above embodiments are specific embodiments for implementing this application, and in practical applications, various changes can be made to them in form and detail without departing from the spirit and scope of this application.
Claims
1. A multi-physical channel communication method, characterized in that, A mobile device used in a communication system, the communication system further including an external computing power expansion module, both the mobile device and the external computing power expansion module integrating multiple physical interfaces, and multiple physical channels being constructed between the mobile device and the external computing power expansion module based on the multiple physical interfaces, including: Acquire task data for the computational tasks to be delegated from the AI application running on the mobile device; The task data is divided into multiple data fragments; The multiple data shards are sent to the external computing power expansion module through the multiple physical channels, so that the external computing power expansion module can aggregate the multiple data shards, execute computing tasks based on the aggregated task data, and return the results.
2. The method according to claim 1, characterized in that, The process of acquiring task data for the computational tasks to be delegated from the AI application running on the mobile device includes: The system acquires operator features, mobile device status, and extension module status. The operator features include at least one of the following: operator type of the target operator, shape of the input / output tensor, computational cost, and latency requirements. The target operator is the operator used in the AI application to process the current computational task. The mobile device status indicates the current state of the mobile device, and the extension module status indicates the current state of the external computing power extension module. Based on the operator features, mobile device status, and extension module status, determine whether the current computing task is a computing task to be delegated. In response to the current computing task being a computing task to be delegated, the task data of the computing tasks to be delegated during the operation of the AI application is obtained.
3. The method according to claim 1, characterized in that, The step of dividing the task data into multiple data fragments includes: Identify the various data types contained in the task data; The task data is divided according to data type to obtain multiple data fragments.
4. The method according to claim 1, characterized in that, The computational tasks to be delegated include multiple sub-computational tasks to be processed serially. The task data includes multiple sub-computational task data, with one sub-computational task corresponding to one sub-computational task data. Dividing the task data into multiple data fragments includes: The task data is divided into multiple sub-computation task data, and each sub-computation task data is a data fragment.
5. The method according to claim 3 or 4, characterized in that, Sending the multiple data fragments to the external computing power expansion module using the multiple physical channels includes: Determine the transmission priority of each data fragment; According to the transmission priority from high to low, each data fragment is sent in sequence as follows: Determine the transmission requirements of the current data fragments; Obtain the current channel status of the multiple physical channels; Based on the channel status, select a physical channel from the plurality of physical channels that meets the transmission requirements; select the physical channel with the largest available bandwidth from the physical channels that meet the transmission requirements to send the current data fragment.
6. The method according to claim 1, characterized in that, The various physical interfaces include at least two of Universal Serial Bus (USB), Wi-Fi, Bluetooth, and Ultra Wideband (UWB).
7. A multi-physical channel communication device, characterized in that, A mobile device used in a communication system, the communication system further including an external computing power expansion module, both the mobile device and the external computing power expansion module integrating multiple physical interfaces, and multiple physical channels being constructed between the mobile device and the external computing power expansion module based on the multiple physical interfaces, including: The acquisition module is used to acquire task data of the computational tasks to be deployed from the AI application running on the mobile device. The segmentation module is used to segment the task data into multiple data fragments; The sending module is used to send the multiple data fragments to the external computing power expansion module using the multiple physical channels, so that the external computing power expansion module can aggregate the multiple data fragments, execute computing tasks based on the aggregated task data, and return results.
8. An electronic device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the multi-physical channel communication method as described in any one of claims 1 to 6.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the multi-physical channel communication method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the multi-physical channel communication method according to any one of claims 1 to 6.