Task execution method and device, electronic equipment, computer readable storage medium and computer program product
By generating the first computational segmentation map and determining the location information of the largest data packet, and reconfiguring computational resources, the problem of data loss caused by the adjustment of the computational segmentation map in edge-end collaboration is solved, and the integrity and efficiency of the computational task are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-03
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, adjustments to the computational segmentation map during edge-end collaboration can easily lead to the loss of computational data.
By generating the first computational segmentation map, the location information of the largest data packet of the target node is determined. After the terminal device obtains the task calculation result of the target service data packet, the computing resources are reconfigured to use the adjusted computational segmentation map to execute the unfinished sub-tasks and reduce the loss of calculation results.
It effectively reduces the loss of task calculation results caused by the adjustment of the calculation segmentation map, and improves the integrity and efficiency of the calculation task.
Smart Images

Figure CN121645356A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of data processing, and in particular to a task execution method and device, electronic equipment, computer readable storage medium and computer program product. BACKGROUND
[0002] In future wireless networks, how to efficiently integrate communication and distributed computing, make full use of the rich computing power on the network side, and improve computing efficiency is a problem to be solved. The current industry algorithm integration mainly includes edge cloud computing and bearer network algorithm collaboration. Edge cloud computing is a computing model that deploys computing, storage and applications closer to the source of data generation (deploys edge nodes) to provide faster data processing, lower latency services and more efficient resource utilization.
[0003] At present, considering the limited computing power on the terminal side, end-side (terminal and edge node) cooperation can be applied to related task execution. For example, a task is divided into multiple parts, one part is allocated for execution on the terminal, and the other part is allocated for execution on the edge node, and the computing result is transmitted through the uplink and downlink channels. In this way, on the one hand, the privacy of the terminal side data can be protected, and on the other hand, the problem of insufficient computing power on the terminal side can be solved by making use of the surplus resources on the network side.
[0004] However, if only the combination of edge-end computing power is considered, and the computing task is uploaded to the edge-end computing, if the network side needs to adjust the task computing partition graph (i.e. the task computing allocation graph of each node participating in task computing in the terminal and the network side for distributed task computing, which can also be called task computing partition mode, for example, subtask 1 in the computing task is allocated in the terminal, subtask 2 is allocated in node 1 on the network side, subtask 3 is allocated in node 2 on the network side, and subtask 3 is allocated in node 3 on the network side, then the nodes of the task computing partition graph can include the terminal and nodes 1-3, and each node in the task computing partition graph has a corresponding subtask), the change of the task computing partition graph is easy to cause the problem of loss of task computing data. SUMMARY
[0005] The embodiments of the present application provide a task execution method, device and electronic equipment to solve the problem that the existing computing partition graph adjustment easily leads to loss of task computing data.
[0006] To solve the above technical problems, the present application is implemented as follows:
[0007] In a first aspect, the embodiments of the present application provide a task execution method applied to a first network device, the method comprising:
[0008] For the first task, a first computational partitioning graph is generated. The first task includes multiple subtasks. The first computational partitioning graph includes M nodes. Each node in the first computational partitioning graph is assigned at least one subtask of the multiple subtasks. The first computational partitioning graph is a partitioning graph after adjusting the subtasks assigned to at least some nodes in the second computational partitioning graph. M is an integer greater than 1.
[0009] By comparing the first computational segmentation map and the second computational segmentation map, target nodes with subtask adjustments are determined;
[0010] Based on the status information of the task data packets in the cache corresponding to the target node, determine the location information of the maximum data packet;
[0011] If the terminal device obtains the task calculation result of the target service data packet corresponding to the maximum data packet location information, the computing resources are reconfigured according to the first computing segmentation graph so that the nodes in the first computing segmentation graph execute the corresponding sub-tasks in the unfinished sub-tasks among the multiple sub-tasks. The completed sub-tasks among the multiple sub-tasks are the sub-tasks that have been completed by the nodes in the second computing segmentation graph.
[0012] Secondly, embodiments of this application provide a task execution method applied to a terminal device, the method comprising:
[0013] Receive a first message sent by a first network device, the first message including the location information of the largest data packet;
[0014] When the terminal device obtains the task calculation result of the target service data packet, it sends a second message to the first network device. The second message is used to indicate that the terminal device has successfully obtained the task calculation result of the target service data packet, and the target service data packet is the data packet corresponding to the maximum data packet location information.
[0015] Thirdly, embodiments of this application provide a task execution apparatus applied to a first network device, the apparatus comprising:
[0016] A generation module is used to generate a first computational segmentation graph for a first task, the first task including multiple subtasks, the first computational segmentation graph including M nodes, each node in the first computational segmentation graph being assigned at least one subtask of the multiple subtasks, and the first computational segmentation graph being a segmentation graph after adjusting the subtasks assigned to at least some nodes in a second computational segmentation graph, where M is an integer greater than 1.
[0017] The first comparison module is used to compare the first computational segmentation map and the second computational segmentation map to determine the target node with subtask adjustment.
[0018] The first determining module is used to determine the location information of the maximum data packet based on the status information of the task data packet in the cache corresponding to the target node;
[0019] The configuration module is used to reconfigure computing resources according to the first computing segmentation graph when the terminal device obtains the task calculation result of the target service data packet corresponding to the maximum data packet location information, so that the nodes in the first computing segmentation graph execute the corresponding sub-tasks of the unfinished sub-tasks among the multiple sub-tasks, wherein the completed sub-tasks among the multiple sub-tasks are the sub-tasks that have been completed by the nodes in the second computing segmentation graph.
[0020] Fourthly, embodiments of this application provide a task execution device applied to a terminal device, the device comprising:
[0021] The first receiving module is configured to receive a first message sent by the first network device, wherein the first message includes maximum data packet location information;
[0022] The first sending module is configured to send a second message to the first network device when the terminal device obtains the task calculation result of the target service data packet. The second message is used to indicate that the terminal device has successfully obtained the task calculation result of the target service data packet, wherein the target service data packet is the data packet corresponding to the maximum data packet location information.
[0023] Fifthly, embodiments of this application provide an electronic device, including a transceiver and a processor.
[0024] The processor is used for:
[0025] For the first task, a first computational partitioning graph is generated. The first task includes multiple subtasks. The first computational partitioning graph includes M nodes. Each node in the first computational partitioning graph is assigned at least one subtask of the multiple subtasks. The first computational partitioning graph is a partitioning graph after adjusting the subtasks assigned to at least some nodes in the second computational partitioning graph. M is an integer greater than 1.
[0026] By comparing the first computational segmentation map and the second computational segmentation map, target nodes with subtask adjustments are determined;
[0027] Based on the status information of the task data packets in the cache corresponding to the target node, determine the location information of the maximum data packet;
[0028] If the terminal device obtains the task calculation result of the target service data packet corresponding to the maximum data packet location information, the computing resources are reconfigured according to the first computing segmentation graph so that the nodes in the first computing segmentation graph execute the corresponding sub-tasks in the unfinished sub-tasks among the multiple sub-tasks. The completed sub-tasks among the multiple sub-tasks are the sub-tasks that have been completed by the nodes in the second computing segmentation graph.
[0029] Sixthly, embodiments of this application provide an electronic device, including a transceiver and a processor.
[0030] The processor is used for:
[0031] Receive a first message sent by a first network device, the first message including the location information of the largest data packet;
[0032] When the terminal device obtains the task calculation result of the target service data packet, it sends a second message to the first network device. The second message is used to indicate that the terminal device has successfully obtained the task calculation result of the target service data packet, and the target service data packet is the data packet corresponding to the maximum data packet location information.
[0033] In a seventh aspect, embodiments of this application provide an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the steps of the task execution method described in the first aspect, or implements the steps of the task execution method described in the second aspect.
[0034] Eighthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the task execution method described in the first aspect, or implements the steps of the task execution method described in the second aspect.
[0035] Ninthly, embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps in the above-described method.
[0036] In the task execution method of this embodiment, it can be determined when to use the adjusted computational segmentation graph for task execution. Specifically, the maximum data packet location information is first determined. When it is determined that the terminal device has obtained the task calculation result of the target service data packet, the computing resources of the nodes in the first computational segmentation graph are reconfigured so that the nodes in the first computational segmentation graph can execute the corresponding sub-tasks in the unfinished sub-tasks. That is, when it is determined that the terminal device has obtained the task calculation result of the target service data packet, the adjusted computational segmentation graph is used for task execution to reduce the occurrence of task calculation result loss due to the adjustment of the computational segmentation graph. Attached Figure Description
[0037] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0038] Figure 1 This is one of the flowcharts of a task execution method provided in the embodiments of this application;
[0039] Figure 2 This is a second flowchart of a task execution method provided in an embodiment of this application;
[0040] Figure 3 This is a schematic diagram illustrating the computational principle of edge-end collaboration for AI model inference tasks provided in this embodiment of the application.
[0041] Figure 4 This is a functional block diagram of a terminal device and a network side for implementing end-to-end collaboration in AI model inference tasks, provided in an embodiment of this application.
[0042] Figure 5 This is a schematic diagram of the second calculated segmentation map provided in the embodiments of this application;
[0043] Figure 6 This is a schematic diagram of the first calculated segmentation map provided in an embodiment of this application;
[0044] Figure 7 This is the third flowchart of a task execution method provided in the embodiments of this application;
[0045] Figure 8 This is a schematic diagram illustrating the interaction between a TM / TC_xNB and a terminal device to obtain cache status, provided in an embodiment of this application.
[0046] Figure 9 This is a schematic diagram of a TM / TC_xNB feedback maximum data packet location information provided in an embodiment of this application;
[0047] Figure 10 This is a flowchart illustrating how to determine the location information of the largest data packet, as provided in an embodiment of this application.
[0048] Figure 11 This is a schematic diagram of a graph structure generated by TM based on the aforementioned state information fed back by corresponding nodes in an old computational segmentation graph, provided in an embodiment of this application.
[0049] Figure 12 This is a schematic diagram of a graph structure generated by TM based on the state information fed back by the corresponding nodes in a new computational segmentation graph, provided in an embodiment of this application.
[0050] Figure 13 This is a schematic diagram of a graph structure generated by TC_xNB based on the state information fed back by corresponding nodes in the new / old computational segmentation graph, provided in an embodiment of this application.
[0051] Figure 14 This is a schematic diagram of a queue on the TM_UE side provided in an embodiment of this application;
[0052] Figure 15 This is a schematic diagram of a UE-side CCB queue provided in an embodiment of this application;
[0053] Figure 16 This is a schematic diagram of a network-side CCB queue provided in an embodiment of this application;
[0054] Figure 17 This is an older computational segmentation map provided in an embodiment of this application;
[0055] Figure 18 This application provides a novel computational segmentation map.
[0056] Figure 19 This is a flowchart illustrating how to determine the maximum data packet number based on calculation time, as provided in an embodiment of this application.
[0057] Figure 20 This is one of the structural schematic diagrams of a task execution device provided in the embodiments of this application;
[0058] Figure 21 This is a second schematic diagram of the structure of a task execution device provided in an embodiment of this application;
[0059] Figure 22 This is one of the structural schematic diagrams of an electronic device provided in the embodiments of this application;
[0060] Figure 23 This is a second schematic diagram of the structure of an electronic device provided in the embodiments of this application. Detailed Implementation
[0061] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0062] See Figure 1 , Figure 1 This is a flowchart of a task execution method provided in an embodiment of this application, applied to a first network device. The first network device can be a network-side task management device (TM, which can be used to manage network nodes, such as for task management of base stations) or a first base station, etc. Figure 1 As shown, the task execution method provided in this embodiment includes the following steps:
[0063] Step 101: For the first task, generate a first computational partitioning graph. The first task includes multiple subtasks. The first computational partitioning graph includes M nodes. Each node in the first computational partitioning graph is assigned at least one subtask of multiple subtasks. The first computational partitioning graph is a partitioning graph after adjusting the subtasks assigned to at least some nodes in the second computational partitioning graph. M is an integer greater than 1.
[0064] It should be understood that the M nodes may include terminal devices participating in task computation, and may also include at least one node on the network side participating in task computation. The computation partitioning graph is the task allocation graph for distributed task computation among the nodes participating in task computation. For example, in a certain computation task, subtask 1 is allocated to a terminal device, subtask 2 is allocated to node 1 on the network side, subtask 3 is allocated to node 2 on the network side, and subtask 4 is allocated to node 3 on the network side. Then, the nodes in the computation partitioning graph corresponding to this computation task may include terminal devices and nodes 1-3, and each node in the computation partitioning graph is allocated a corresponding subtask. Before generating the first computation partitioning graph, a second computation partitioning graph already exists. By adjusting the subtasks allocated to at least some nodes in the existing second computation partitioning graph, an adjusted computation partitioning graph, i.e., the first computation partitioning graph, can be obtained. However, at this time, the first computation partitioning graph is not actually used yet; the second computation partitioning graph is still used for task execution. Subsequently, under certain conditions (e.g., when it is determined that the terminal device has obtained the task computation result of the target service data packet corresponding to the maximum data packet location information), the adjusted first computation partitioning graph is used for task execution.
[0065] Step 102: Compare the first computational segmentation map and the second computational segmentation map to determine the target node with subtask adjustment.
[0066] It should be noted that, in this embodiment, the nodes in the second computational segmentation graph can be the same as the nodes in the first computational segmentation graph. The differences between the two include the different sub-tasks assigned to the nodes in the computational segmentation graph. Therefore, by comparing the first computational segmentation graph and the second computational segmentation graph, the target node with sub-task adjustment can be determined, which is the node involved in the adjustment of the computational segmentation graph.
[0067] Step 103: Determine the location information of the largest data packet based on the status information of the task data packets in the cache corresponding to the target node.
[0068] In other words, the cache status information of the relevant nodes involved in the computational segmentation graph adjustment can be obtained, and the status information of the task data packets in the cache corresponding to the target node can be used to determine the location information of the maximum data packet. The data packet location information can refer to information about the location of the locating data packet, such as its number. For example, the location information of the maximum data packet could be the maximum data packet number.
[0069] Step 104: After determining the task calculation result of the target service data packet corresponding to the maximum data packet location information obtained by the terminal device, the computing resources are reconfigured according to the first computing segmentation graph so that the nodes in the first computing segmentation graph execute the corresponding sub-tasks in the unfinished sub-tasks among the multiple sub-tasks, and the completed sub-tasks among the multiple sub-tasks are the sub-tasks that have been completed by the nodes in the second computing segmentation graph.
[0070] It should be understood that the task calculation result of the aforementioned target service data packet is obtained by performing task calculations on the target service data packet through nodes in the second computational segmentation graph. If the terminal device obtains the task calculation result of the target service data packet corresponding to the maximum data packet location information, it indicates that the task calculation for the target service data packet has been completed through the old computational segmentation graph (i.e., the second computational segmentation graph). In this case, computational resources can be reconfigured according to the first computational segmentation graph; that is, resources are reallocated to each node in the new computational segmentation graph so that the nodes in the first computational segmentation graph can continue to execute tasks, for example, executing the corresponding subtasks in the unfinished subtasks among multiple subtasks. Additionally, it should be noted that, for example, when the terminal device obtains the task calculation result of the target service data packet corresponding to the maximum data packet location information, it can mean that the terminal device has obtained the task calculation result of the target service data packet corresponding to the maximum data packet location information and the calculation result of the data packets corresponding to the location information before the maximum data packet location information. For example, if the maximum data packet location information is the maximum data packet number, then the terminal device has obtained the calculation result of the data packet corresponding to the maximum data packet number and the calculation result of the data packets corresponding to the number before the maximum data packet number. For example, if the maximum data packet number is i, when the terminal device obtains the task calculation result of the data packet with number i and the task calculation result of the data packets with number less than i, the computing resources are reconfigured.
[0071] In the task execution method of this embodiment, it can be determined when to use the adjusted computational segmentation graph for task execution. Specifically, the maximum data packet location information is first determined. When it is determined that the terminal device has obtained the task calculation result of the target service data packet, the computing resources of the nodes in the first computational segmentation graph are reconfigured so that the nodes in the first computational segmentation graph can execute the corresponding sub-tasks in the unfinished sub-tasks. That is, when it is determined that the terminal device has obtained the task calculation result of the target service data packet, the adjusted computational segmentation graph is used for task execution to reduce the occurrence of task calculation result loss due to the adjustment of the computational segmentation graph.
[0072] In some embodiments, when it is determined that the terminal device has obtained the task calculation result of the target service data packet, reconfiguring the computing resources according to the first calculation segmentation map includes:
[0073] Send a first message to the terminal device, the first message including the location information of the largest data packet;
[0074] Upon receiving a second message from the terminal device based on the first message, the computing resources are reconfigured according to the first computing segmentation map. The second message is used to indicate that the terminal device has successfully obtained the task computing result of the target service data packet.
[0075] After determining the location information of the largest data packet, the first network device can send it to the terminal device. If the terminal device successfully obtains the task calculation result of the target service data packet, it can send a second message to the first network device to indicate that it has successfully obtained the task calculation result. Upon receiving the second message, the first network device can determine that the terminal device has obtained the task calculation result of the target service data packet. In this case, it can reconfigure computing resources according to the first computational segmentation graph so that subsequent task execution can be performed using the first computational segmentation graph, i.e., by using the adjusted computational segmentation graph. In this embodiment, upon receiving the second message, it can be determined that the terminal device has obtained the task calculation result of the target service data packet. That is, when the first network device receives the second message indicating that the terminal device has obtained the task calculation result of the target service data packet, it uses the adjusted computational segmentation graph to perform task execution, thereby reducing the possibility of task calculation result loss due to computational segmentation graph adjustments.
[0076] In some embodiments, the location information of the maximum data packet is determined based on the status information of the task data packet in the cache corresponding to the target node, including:
[0077] Send a first request to the target node. The first request is used to request the status information of the task data packet in the corresponding cache of the target node.
[0078] Receive a third message sent by the target node based on the first request. The third message includes the status information of the task data packet in the corresponding cache of the target node.
[0079] Based on the status information of the task data packets in the cache corresponding to the target node, the location information of the largest data packet is determined.
[0080] The first network device sends a first request to the target node to request the status information of the task data packets in the target node's cache. Upon receiving the first request, the target node responds by sending a third message to the first network device, including the status information of the task data packets in its cache. Upon receiving the third message, the first network device can determine the maximum data packet location information based on the status information of the task data packets in the target node's cache. That is, in this embodiment, the status information of the task data packets in the target node's cache is considered during the determination of the maximum data packet location information to improve the rationality of the determined maximum data packet location information.
[0081] In some embodiments, the status information includes, but is not limited to, at least one of the following:
[0082] Data packet number information;
[0083] Data packet arrival frequency;
[0084] Data packet processing rate.
[0085] That is, the maximum data location information can be determined by at least one of the following: data packet numbering information, data packet arrival frequency, and data packet processing rate, thereby improving the rationality of the determined maximum data location information. For example, the aforementioned data packet numbering information may include, but is not limited to, at least one of the following: a numbering list and a maximum number.
[0086] In some embodiments, the location information of the maximum data packet is determined based on the status information of the task data packet in the cache corresponding to the target node, including:
[0087] Based on the status information of the task data packets in the cache corresponding to the target node, predict the first time required to perform task computation on each task data packet in the cache corresponding to the target node based on the first computational segmentation map, and predict the second time required to perform task computation on each task data packet in the cache corresponding to the target node based on the second computational segmentation map.
[0088] By comparing the first duration and the second duration, the location information of the largest data packet is determined.
[0089] Because adjustments to the computational segmentation graph can alter the subtasks a node is responsible for, and because different nodes may have varying computing power and resources, the time required to perform task computation on data packets may differ. In this embodiment, the first time required for the first computational segmentation graph to perform task computation on each task data packet in the target node's corresponding cache can be predicted, as can the second time required for the second computational segmentation graph to perform task computation on each task data packet in the target node's corresponding cache. By comparing the first and second times, the location information of the maximum data packet is determined, thereby improving the rationality of the maximum data packet location information.
[0090] In some embodiments, the maximum data packet location information is the location information of the task data packet with the largest number in the cache corresponding to the target node; or...
[0091] The location information of the largest data packet is number i, where i is a positive integer, and i satisfies the following condition:
[0092] The sum of the first durations of the i data packets is greater than or equal to the sum of the second durations of the i data packets, and the sum of the first durations of the i+1 data packets is less than the sum of the second durations of the i+1 data packets. The i data packets include data packets numbered 1 to i in the task data packets in the corresponding cache of the target node, and the i+1 data packets include data packets numbered 1 to i+1 in the task data packets in the corresponding cache of the target node.
[0093] It should be understood that the location information of the task data packet with the largest number can be its number; that is, the location information of the largest data packet can be the number of the business data packet with the largest number in the target node's cache. Or,
[0094] The maximum data packet location information can be the number i that meets the above conditions. That is, the number i that satisfies the condition that the sum of the first duration of i data packets is greater than or equal to the sum of the second duration of i data packets, and the sum of the first duration of i+1 data packets is less than the sum of the second duration of i+1 data packets, is used as the maximum data packet location information. For example, if multiple numbers meet the above conditions, the number that first meets the above conditions is selected as the maximum data packet location information. For example, if i is 1, the above conditions are not met, i.e., number 1 does not meet the above conditions and is not selected as the maximum data packet location information. If i is 2, the above conditions are not met, i.e., number 2 does not meet the above conditions and is not selected as the maximum data packet location information. If i is 3, the above conditions are met, i.e., number 3 meets the above conditions and can be determined as the maximum data packet location information. In other words, once a number that meets the above conditions appears, that number can be determined as the maximum data packet location information, which can also be understood as the smallest number that meets the above conditions.
[0095] In some embodiments, before reconfiguring computing resources according to the first computational partitioning map, the method further includes:
[0096] Send a release request to the target node. The release request is used to request the target node to release the corresponding cache.
[0097] Before switching to the adjusted first computational partitioning graph to execute the task, the cache corresponding to the target node can be released first to provide cache space for the task computation data obtained by executing the task through the first computational partitioning graph.
[0098] In some embodiments, the first network device has a network-side cache, which maintains a first queue and a second queue for the first task. The first queue is used to cache the task calculation results received from the terminal device, and the second queue is used to cache the task calculation results of each node participating in the task calculation of the first task on the network side.
[0099] This network-side cache, also known as the network-side compute-transfer buffer (CCB), can maintain a pair of queues (a first queue and a second queue) for each task. For example, the pair of queues maintained by the network-side cache can be I / O queues, the first queue can be an I queue, and the second queue can be an O queue. The first queue can receive the task computation results obtained by the terminal device side in performing task computation (inference), and the task computation results can be submitted to the network-side compute layer for task computation. The second queue can receive the task computation results obtained by the network side inference, and the task computation results can be submitted to the network-side transport layer for transmission to the terminal device, etc.
[0100] On the network side, a network-side cache can be maintained. The first queue of the cache is used to cache the task calculation results received from the terminal device, so that the network side can perform further task calculations on the task calculation results in the first queue. The second queue of the cache can cache the task calculation results of each node participating in the task calculation of the first task on the network side, so that they can be subsequently transmitted to the terminal device. The terminal device caches the task calculation results transmitted by the network side.
[0101] See Figure 2 , Figure 2 This is a flowchart of a task execution method provided in an embodiment of this application, applied to a terminal device, such as... Figure 2 As shown, the task execution method provided in this embodiment includes the following steps:
[0102] Step 201: Receive a first message sent by the first network device, the first message including the location information of the largest data packet;
[0103] Step 202: When the terminal device obtains the task calculation result of the target service data packet, it sends a second message to the first network device. The second message is used to indicate that the terminal device has successfully obtained the task calculation result of the target service data packet, which is the data packet corresponding to the maximum data packet location information.
[0104] In some embodiments, before receiving the first message sent by the first network device, the method further includes:
[0105] Receive the first request sent by the first network device;
[0106] Based on the first request, a third message is sent to the first network device, the third message including the status information of the task data packets in the cache of the terminal device.
[0107] In some embodiments, the status information includes at least one of the following:
[0108] Data packet number information;
[0109] Data packet arrival frequency;
[0110] Data packet processing rate.
[0111] In some embodiments, after sending the second message to the first network device, the method further includes:
[0112] Receive a release request sent by the first network device;
[0113] In response to the release request, release the corresponding cache on the terminal device.
[0114] In some embodiments, the terminal device has a terminal-side cache, which maintains a third queue and a fourth queue for the first task. The third queue is used to cache the task calculation results from the terminal device, and the fourth queue is used to cache the task calculation results of each node on the network side that participates in the task calculation of the first task.
[0115] In some embodiments, when the terminal device obtains the task calculation result of the target service data packet, it sends a second message to the first network device, including:
[0116] When the terminal device obtains the task calculation result of the target service data packet, it puts the task calculation result of the target service data packet into the fifth queue of the terminal device, adjusts the first pointer of the fifth queue so that the adjusted first pointer points to the task calculation result of the target service data packet, and adjusts the second pointer of the sixth queue of the terminal device so that the adjusted second pointer points to the next data packet of the target service data packet. The sixth queue is used to buffer data packets that the terminal device needs to perform task calculation on.
[0117] If the adjustment of the first and second pointers is successful, a second message is sent to the first network device.
[0118] The data scheduling method for terminal devices provided in this embodiment corresponds to the data scheduling method for the first network device described above. It is applied to different device sides, with one-to-one correspondence in technical features, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0119] The process of the above method will be described in detail below with some specific embodiments. Taking the application of the method of this embodiment to an artificial intelligence (AI) model inference task scenario as an example, the process will be explained.
[0120] Introduction to related technologies:
[0121] In future wireless networks (e.g., 6G), how to efficiently integrate communication and distributed computing, fully utilize the abundant computing power on the network side, and improve computing efficiency is a pressing issue. Currently, the industry's convergence of communication and computing mainly includes edge computing and network-based computing collaboration. Edge computing is a computing model that deploys computing, storage, and applications closer to the data source at the network edge to provide faster data processing, lower latency services, and more efficient resource utilization. For example, smart IoT devices reduce data transmission to the cloud by performing data processing and decision-making on the device itself, reducing latency and improving response speed and device intelligence. Another example is autonomous vehicles, which place complex data processing and decision-making functions on the vehicle itself or nearby edge nodes, reducing reliance on the cloud and improving real-time performance and security.
[0122] The network-wide computing collaboration mechanism is introduced at the routing layer. It uses in-line control signaling of IP layer protocols such as Border Gateway Protocol (BGP), Interior Gateway Protocol (IGP), or Segment Routing IPv6 (SRv6) to spread and synchronize computing and network performance information. Therefore, the routing layer can combine the current computing capacity, application performance, and network conditions to route computing task packets to the corresponding computing nodes, thereby achieving global optimization of connectivity and computing resources in the network.
[0123] However, edge computing has some limitations in controlling and managing tasks in progress. Edge computing typically involves multiple edge nodes or devices located in different geographical locations. Limited by factors such as network bandwidth and latency, this distributed environment makes real-time and precise control and management of tasks difficult. Edge devices usually have limited computing power and storage capacity, which cannot support large-scale task scheduling and management. When tasks are executed on edge nodes, resource constraints can lead to difficulties in task scheduling and optimization. Regarding the coordination between the bearer network and the computing network: Since the bearer network is the basic network providing connections between the Radio Access Network (RAN) and the Core Network (CN), it operates at a different protocol layer than the service network and cannot directly perceive users and sessions, nor provide user access control, adapt to dynamic wireless channel environments, or manage user mobility.
[0124] The above two schemes only consider the scenario of uploading computing tasks to the edge computing. If the network side needs to adjust the computing task partitioning graph of the computing task on the edge and network side computing nodes, it may lead to problems such as loss and waste of computing task data. Considering that the network side will frequently adjust, control and manage the computing task partitioning graph according to the air interface channel quality.
[0125] This application proposes a computational segmentation graph smoothing adjustment scheme to reduce the loss of task computation results. It mainly includes the partial functional design of the CCB layer in the UE and the base station (xNB), the computational segmentation graph adjustment function in the network-side task management layer (TM), and the interaction process between the network and the terminal.
[0126] Taking edge-end collaborative AI model inference tasks in 6G networks as an example, the edge-end AI model is divided into multiple parts. One part is allocated to the terminal device, where inference calculations are performed. The other part is allocated to the network side, where inference calculations are performed, and intermediate calculation results are transmitted through the air interface uplink and downlink channels. The advantages of this approach are becoming increasingly apparent with the growing prevalence of large-scale models: on the one hand, it protects the privacy of edge-end data, and on the other hand, it utilizes the network's surplus computing resources to address the problem of insufficient edge-end computing power.
[0127] The schematic diagram of the AI model inference task calculation principle involving the terminal device (UE) and the network side (end-edge collaboration) in this embodiment is as follows: Figure 3 As shown.
[0128] Divided into UE and network sides:
[0129] UE side:
[0130] Task Management Layer (TM_UE): Receives AI inference tasks (Task 1 to n) from the application layer. It maintains an I-queue and an O-queue for each task. The I-queue stores the input data packets of the AI model for that task, and the O-queue stores the inference results for that task. The TM_UE function manages all AI inference tasks, including task and queue management, task QoS assessment and assurance, and task scheduling.
[0131] Inference Computation Layer: Receives input data for inference computation from the Task Management Layer and the CCB Layer, and performs inference computation.
[0132] Computation Transport Buffer (CCB): Maintains a pair of I / O queues for each AI inference task. The I queue receives the inference computation results from the UE side and delivers them to the UE transport layer; the O queue receives the inference settlement results from the network side and delivers them to the UE inference computation layer.
[0133] Transport layer: Sends the intermediate calculation results of the CCB layer to the network side through the uplink computation radio bearer (CRB) over the air interface; receives the intermediate calculation results of the network side through the downlink computation radio bearer and delivers them to the UE's CCB layer;
[0134] UE-side task control function (TC_UE): The UE-side task control function (TC_UE) performs real-time adjustments to computing power scheduling and inference model segmentation points; TC_UE schedules data packets in the CCB layer queue for both upper and lower layers.
[0135] Network side:
[0136] Transport layer: Receives intermediate computation results from the UE side via the uplink compute radio bearer (CRB) and delivers them to the CCB layer on the network side; sends the intermediate computation results of the CCB layer to the UE side via the downlink compute radio bearer (CRB) over the air interface.
[0137] Computation Transport Buffer (CCB): Maintains a pair of I / O queues for each AI inference task. The I queue receives the inference computation results from the UE side and submits them to the network-side computation layer; the O queue receives the inference settlement results from the network side and submits them to the network-side transport layer.
[0138] Inference Computation Layer: Receives input data for inference computation from the network-side CCB layer and performs distributed inference computation.
[0139] Task Management Layer (TM): Manages AI inference tasks (which can be within a single base station (xNB) or across multiple xNBs), including task scheduling and QoS assessment and assurance; configures the resources required for AI tasks, including model selection / replacement, decision-making and updating of computing topology, selection of computing nodes and configuration of computing power, etc.
[0140] TC_xNB: The network-side task control function controls the air interface radio resources of the transport layer, schedules data packets at the CCB layer to the upper and lower layers, and performs real-time adjustment of computing power scheduling within the xNB and model segmentation among multiple xNBs at the computing layer.
[0141] Among them, the functional requirements within the UE and xNB are as follows: Figure 4 As shown. The dashed boxes contain the functional entities that need to be added, including task management, inference computation, computation transmission buffer (CCB), computation transmission air interface protocol stack, and task control.
[0142] This application's embodiments relate to certain aspects of the CCB (Computation Transmission Buffer), TM, and TC functions on the terminal and network sides. Specifically, the technical solution of this application's embodiments can address the problem that: dynamic changes in air interface channel quality require the AI inference model to re-determine the segmentation points (including uplink and downlink segmentation points) on both sides of the edge. Due to the change in segmentation points, the overall computation task segmentation graph changes. The network side's adjustment of the computation segmentation graph may lead to the loss of data packets previously cached in the network and terminal computing nodes, thereby causing the loss of computation results.
[0143] To fully utilize the surplus computing power of multiple network element nodes on the network side, a distributed inference computing approach can be adopted. This involves dividing the inference computing portion of each AI inference task assigned to the network side across multiple network element nodes for serial-parallel computation. The computation partitioning graph represents the computational allocation pattern of the entire computational task operation graph among the nodes participating in the computation on the terminal and network side, illustrating the distributed inference computing.
[0144] For example, a schematic diagram illustrating how dynamic changes in the channel quality cause the AI inference model to readjust the split points on both sides of the edge is shown below. Figures 5-6 As shown. For example, Figure 5 This is the second computational segmentation map before adjustment, in which the AI model uses... Figure 5 Taking the neural network model as an example, Figure 5 In the model, the first layer (Layer1) of the neural network model is assigned to UE, the second layer (Layer2) and the third layer (Layer3) are assigned to xNB1, the fourth layer (Layer4) is assigned to xNB2, and the fifth layer (Layer5) and the sixth layer (Layer6) are assigned to xNB3. Figure 6 This is the adjusted first calculated segmentation image. Figure 6 In the neural network model, the first and second layers (Layer 1 and Layer 2) are assigned to UE, the third layer (Layer 3) to xNB1, the fourth and fifth layers (Layer 5) to xNB2, and the sixth layer (Layer 6) to xNB3, relative to... Figure 5 The second calculated segmentation graph in the image, Figure 6 If the model assigned to each node in the first computational partitioning graph changes, then the task assigned to each node in the first computational partitioning graph (i.e., the part of the achievable task of the model assigned to the node) changes.
[0145] Changes to the computational segmentation graph may involve changes to the network-side computational nodes and changes to the computational content within each node (including nodes on both the terminal and network sides). This means that tasks computed according to the old computational segmentation graph, if not yet fully computed on the network side (still in the cache), require a decision to either continue computation using the old mode or recompile using the new mode to avoid losing computational results. This application proposes a smooth adjustment scheme for the computational segmentation graph that minimizes the loss of computational results. This scheme mainly includes the design of some functionalities in the CCB layer of the UE and xNB, the computational segmentation graph adjustment function within the network-side TM, the TC_xNB adjustment function in the xNB, and the interaction process between the terminal and the network.
[0146] It should be noted that there are two scenarios: Scenario 1: Adjusting the computational partition map can be done by the network-side task management device (TM); Scenario 2: Adjusting the computational partition map can be done by the network-side xNB.
[0147] Scenario 1: Decision-making scheme for adjusting the computational partitioning graph on the network side:
[0148] After TM generates a new computational segmentation graph for a specific AI inference task, it first determines the range of network element nodes (i.e., target nodes) involved in the adjustment of the computational segmentation graph:
[0149] If model segmentation points (including uplink and downlink model segmentation points) are involved between the UE and xNB, the decision is made according to the following technical solution: The TM interacts with the corresponding computing nodes (including the terminal) in the old computing segmentation graph to obtain the status of cached data packets in these nodes, determines the location information of the largest data packet that is calculated using the old computing segmentation graph, clears the node cache after these data packets have been calculated, and migrates to the new computing segmentation graph mode.
[0150] Scenario 2: Decision-making scheme for adjusting the computational segmentation map in xNB using TC_xNB:
[0151] After generating a new computational segmentation map for a certain AI inference task, the TC_xNB adjusts the following within the xNB and on the UE side: The TC_xNB interacts with the xNB and the terminal to obtain the status of the cached data packets in the xNB and the terminal, determines the location information of the largest data packet that completes the calculation with the old computational segmentation map, clears the node cache after these data packets have been calculated, and migrates to the new computational segmentation map mode.
[0152] like Figure 7 As shown, the flow of the solution in this application embodiment is as follows:
[0153] TM / TC_X generates a new computational partitioning graph (i.e., the first computational partitioning graph): For example, TM generates a new computational partitioning graph based on the computational capacity of network-side nodes and other relevant algorithms (Scenario 1), and TC_xNB generates a new computational partitioning graph based on the internal computational capacity of xNB and other relevant algorithms (Scenario 2).
[0154] Determine the range of network element nodes involved in the adjustment of the calculation segmentation map. If the nodes involved in the adjustment include terminal devices, that is, the model segmentation points between the UE and xNB (including uplink and downlink model segmentation points), then continue with the following steps:
[0155] TM / TC_X tracks the cache status of computing nodes related to the adjustment in the old computing segmentation map (i.e., the second computing segmentation map): For example, TM interacts with the corresponding nodes based on the old computing segmentation map: the terminal and network-side nodes participating in the computation send the computing task number, the data packet number information of the task in the cache, the arrival frequency of the computing task, the computation completion rate, and other task status information to TM (Scenario 1). Another example is that TC_xNB interacts with the terminal and xNB: the terminal and xNB send the computing task number, the data packet number information of the task in the cache, the arrival frequency of the computing task, the computation completion rate, and other task status information to TC_xNB (Scenario 2).
[0156] TM / TC_xNB uses node status to estimate the computation time in the new and old computation partitioning maps, and determines the maximum data packet location information for completing the computation according to the old computation partitioning map based on the computation time.
[0157] After obtaining the maximum data packet location information, TM / TC_xNB sends the maximum data packet location information back to the TM of the terminal device;
[0158] After the terminal device's TM waits for the task calculation result corresponding to the largest numbered data packet to arrive at the TM layer's O queue (fifth queue), it adjusts the first pointer PO_r_head of the TM layer's O queue to point to the task calculation result.
[0159] The terminal TM modifies the second pointer PI_c_head of the I queue (sixth queue) in the TM layer, making it point to the next data packet with the highest number;
[0160] The terminal device sends a second message to the network side TM / TC_xNB, informing that the task calculation result of the largest numbered data packet has been successfully received and the pointer has been successfully changed, and the calculation segmentation diagram can be adjusted.
[0161] The network side TM / TC_xNB informs the relevant computing nodes (including terminals) in the old computing style graph to release the cache and reconfigure computing resources according to the new computing style graph so that the nodes in the first computing segmentation graph can continue to execute tasks.
[0162] Among them, obtaining the cache status of relevant nodes (the status information of business data packets in the cache): The relevant interaction process and new message content of TM / TC_xNB statistical terminal device cache status are as follows: Figure 8 As shown.
[0163] The triggering conditions for the TM / TC_xNB statistical terminal device cache status are as follows:
[0164] Triggering condition 1: TM decides to adjust the computation task split (Scenario 1);
[0165] Triggering condition 2: TC_xNB decides to adjust the calculation of the segmentation (Scenario 2);
[0166] After TM / TC_xNB decides to adjust the computational partitioning map, it also needs to obtain the maximum packet location information (such as the maximum packet number, packet number list, etc.) calculated according to the old computational partitioning map. This information must be obtained by TM / TC_xNB through interaction with the compute nodes. Figure 8 As shown.
[0167] TM_network / TC_xNB->UE:
[0168] The TM / TC_xNB sends a Compute Task Buffer State Request message to request cache information (such as cache location, remaining computing capacity, etc.) for one or more computing tasks on the terminal. The message content includes: xNB ID, UE ID (which can be any form of UE_ID, such as temporary identifier TMSI, permanent identifier PEI, newly defined identifier, etc.), computing task number (which can be in task ID form, such as "com_task_a") or a list of numbers (which can be an ordered list, such as "com_list_a").
[0169] UE->TM_Network / TC_xNB:
[0170] The UE provides the required information via a Compute Task Buffer State Response message. The message content includes: xNB ID, UE ID (which can be any form of UE_ID, such as temporary identifier TMSI, permanent identifier PEI, newly defined identifier, etc.), computation task number (which can be a task ID such as "com_task_a") or a list of numbers (which can be an ordered list such as "com_list_a"), and the buffer state corresponding to each computation task. The buffer state may include:
[0171] The cache status of the I / O queue for this computation task in the TM_UE layer;
[0172] The cache status of the I / O queue for this computation task in the CCB_UE layer;
[0173] The aforementioned cache status includes: data packet numbering information for the task in the IO cache (such as a numbering list or maximum number), data packet arrival frequency, data packet processing rate, etc.
[0174] For the TM / TC_xNB feedback of the maximum data packet location information: Triggering condition 1: The network-side TM obtains the maximum data packet location information that the current computing task needs to complete according to the old computing segmentation map through an algorithm (Scenario 1); Triggering condition 2: The TC_xNB obtains the maximum data packet location information that the current computing task needs to complete according to the old computing segmentation map through an algorithm (Scenario 2). After obtaining the maximum data packet location information, the TM_network / TC_xNB sends it to the TM_UE. The UE waits for the results corresponding to all data packets before this number to arrive at the TM layer O queue, and then adjusts the pointer of the IO queue according to the maximum data packet location information. Figure 9 As shown, the specific process is as follows:
[0175] TM_network / TC_xNB->UE:
[0176] The TM_network / TC_xNB sends a Compute Pattern Change Request message to the UE. This message includes the xNB ID, UE ID (which can be any form of UE_ID, such as temporary identifier TMSI, permanent identifier PEI, newly defined identifier, etc.), calculation task number (which can be in the form of task ID, such as "com_task_a") or number list (which can be an ordered list, such as "com_list_a"), and the maximum data packet location information that needs to be completed before adjusting the calculation segmentation map.
[0177] UE->TM_Network / TC_xNB:
[0178] After receiving the maximum data packet location information result and all previous results, and completing the pointer adjustment, the UE sends a Compute pattern Change Response message to TM_network / TC_xNB. The message content includes whether the adjustment was successful or failed (the UE obtains another maximum data packet location information through the algorithm). If the indication is failure, TM_network / TC_xNB will regenerate a new maximum data packet location information based on the maximum data packet location information generated by the UE.
[0179] TM_network / TC_xNB->UE:
[0180] TM_network / TC_xNB sends a message content Buffer Release to the UE. This message contains the xNB ID, UE ID (which can be any form of UE_ID, such as temporary identifier TMSI, permanent identifier PEI, newly defined identifier, etc.), calculation task number (which can be in the form of task ID such as "com_task_a") or number list (which can be an ordered list such as "com_list_a"), and the latest network-side maximum data packet location information.
[0181] For the scheme of determining the location information of the largest data packet in TM / TC_xNB:
[0182] When TM / TC_xNB determines that the computational partitioning graph needs to be adjusted, it interacts with the relevant computational nodes of the old computational partitioning graph through the above process to obtain the data packet status information in their caches. The status information includes:
[0183] If the node is a network-side computing node, the status information includes: the data packet number information of the task in the cache (such as the number of all data packets of the task and their position in the cache), the arrival frequency of the computing task, and the computing completion rate.
[0184] If the node is a terminal device, the status information includes: the data packet number information (such as a number list or maximum number) of the task in the IO buffer of the TM layer and CCB layer, the data packet arrival frequency, and the data packet processing rate;
[0185] TM / TC_xNB uses this state information to simultaneously estimate the time required for these data packets to complete the calculation based on both the old and new computational segmentation maps, and determines the location information of the largest data packet that can be calculated according to the old computational segmentation map. For example... Figure 10 As shown, the specific process is as follows:
[0186] TM / TC_xNB interacts with the corresponding nodes in the old computation partitioning graph to obtain the data packet number information of the task in the node (such as the number of all data packets of the task and their position in the cache), the arrival frequency of the computation task, the computation completion rate, and other computation status; TM / TC_xNB interacts with the corresponding nodes in the new computation partitioning graph to obtain the number of data packets in the cache, the arrival frequency of data packets, the computation completion rate, and other computation status.
[0187] TM generates a graph structure based on the state information fed back by the corresponding nodes in the old computational segmentation graph, such as... Figure 11 As shown; TM generates a graph structure based on the state information fed back from the corresponding nodes in the new computational segmentation graph. The specific graph structure is as follows: Figure 12 As shown, TC_xNB generates a graph structure based on the state information fed back from the corresponding nodes in the new / old computational partitioning graph. The specific graph structure is as follows: Figure 13 As shown;
[0188] TM / TC_xNB uses a graph algorithm to calculate the computation time required to complete each data packet in the TM_UE layer I queue buffer on the old computational partitioning graph; and to calculate the computation time required for each data packet on the new computational partitioning graph.
[0189] TM / TC_xNB determines the maximum packet number that uses the old computational partitioning graph by comparing the computation time required for each packet on the old computational partitioning graph with the computation time required for each packet on the new computational partitioning graph.
[0190] TM / TC_xNB sends the maximum packet number to the UE.
[0191] Design scheme for the numbering and pointers in the cache queues of each computing task on both the UE and network sides
[0192] Due to differences in node computing speed and channel conditions, AI computing tasks cannot be performed synchronously, and the CCB layer plays a similar buffering role on both the UE and network sides. This patent provides protection for the CCB layer on both the UE and network sides.
[0193] For the numbering scheme of computation task data packets:
[0194] On both the terminal and network sides, the number of a computing task data packet must include at least the following three pieces of information:
[0195] Terminal identifier (such as UE temporary identifier, used to distinguish terminals)
[0196] Computation task identifier (used to distinguish different computing tasks on the same terminal)
[0197] Data packet identifier (used to distinguish different input data packets and intermediate calculation result data packets associated with the same input data packet for the same computing task on the same terminal).
[0198] For the pointer scheme of IO queue buffering data packets in the TM_UE layer, CCB layer, and xNB in xNB:
[0199] UE-side pointer design:
[0200] 1TM_UE manages all AI inference tasks and queues, provides task QoS assessment and guarantee, and schedules tasks. It maintains the queue (I queue) of the edge AI model before it is sent to the inference computing layer and the queue (O queue) of the AI model after the inference computing results, taking AI inference tasks as the unit.
[0201] TM_UE numbers the data packets in the IO queue according to the FIFO rule; it maintains the transmission / computation status of each data packet, and maintains transmission pointers and computation pointers. After numbering, the queue on the TM_UE side is as follows: Figure 14 As shown:
[0202] Wherein, PI_c_head: is the head pointer of the AI inference task in the queue before it is sent to the inference computing layer, pointing to the next data packet to be transmitted in the queue.
[0203] PI_r_head: This is the head pointer of the AI inference task that has received the corresponding result in the O queue. It points to the first data packet in the queue that has not yet received a satisfactory result in the O queue.
[0204] PO_c_head: This is the head pointer of the endpoint O queue before it is sent to the application layer, pointing to the next data packet submitted to the application layer in this queue.
[0205] PO_r_head: The result expected to be received by the next inference layer in the TM_UE layer O queue on the end side, pointing to the first data packet in the queue that has not yet received a satisfactory result in the application layer.
[0206] Data packets from multiple Class I queues are scheduled for local inference; data packets from multiple Class O queues are scheduled for submission to the application layer.
[0207] Based on the transmission / computation results of the data packets, multiple deletion modes are supported: deletion based on the success indication of the lower layer transmission or computation, and deletion based on the satisfaction index in the corresponding result data packet in the O queue.
[0208] For the pointer design of the CCB on the UE side:
[0209] The CCB layer serves as a buffer layer between UE-side computation and air interface transmission. It maintains a queue (I queue) for AI inference calculation results from the end-side AI model before air interface transmission, and a queue (O queue) for network-side inference calculation results received from the end-side network before end-side computation. The CCB can perform operations such as adding, deleting, and reordering data packets in the queues.
[0210] The CCB layer numbers the data packets in the IO queue according to the FIFO rule; it maintains the transmission / computation state of each data packet, and maintains transmission pointers and computation pointers. After numbering, the queue on the UE side is as follows: Figure 15 As shown:
[0211] Wherein, PI_c_head: is the head pointer of the queue of the AI model inference calculation results on the edge side before air interface transmission, pointing to the next data packet to be transmitted in the queue.
[0212] PI_r_head: This is the head pointer of the AI model inference calculation results on the edge side that has received corresponding results in the O queue. It points to the first data packet in the queue that has not yet received a satisfactory result in the O queue.
[0213] PO_c_head: This is the head pointer of the edge-side O queue before edge-side inference computation or task management, pointing to the next data packet submitted to the inference computation layer or task management layer in this queue.
[0214] PO_r_head: This is the head pointer of the end-side CCB layer O queue that has received the corresponding result in the TM_UE layer O queue. It points to the first data packet in the queue that has not yet received a satisfactory result in the TM_UE layer O queue.
[0215] Data packets from multiple Class I queues are scheduled for over-the-air transmission; data packets from multiple Class O queues are scheduled for end-side computation.
[0216] Based on the transmission / computation results of the data packets, multiple deletion modes are supported: deletion based on the success indication of the lower layer transmission or computation, and deletion based on the satisfaction index in the corresponding result data packet in the O queue.
[0217] For the pointer design of the network-side CCB:
[0218] The CCB layer serves as a buffer layer between network-side computation and air interface transmission. It maintains a queue (I queue) for network-side AI model inference computation results before network distributed computation, and a queue (O queue) for network-side computation results received by the network side before air interface transmission, based on AI inference tasks. The CCB can perform operations such as adding, deleting, and reordering data packets in the queues.
[0219] The CCB layer numbers the data packets in the IO queue according to the FIFO rule; it maintains the transmission / computation state of each data packet, and maintains transmission pointers and computation pointers. After numbering, the network-side queue is as follows: Figure 16 As shown:
[0220] Wherein, PI_c_head: is the head pointer of the network-side I queue before network inference computation, pointing to the next data packet submitted for inference computation in the queue.
[0221] PI_r_head: This is the head pointer of the network-side AI model inference calculation results that have received corresponding results in the O queue. It points to the first data packet in the queue that has not yet received a satisfactory result in the O queue.
[0222] PO_c_head: This is the head pointer of the network-side O queue before air interface transmission, pointing to the next data packet submitted to the air interface transport layer in this queue.
[0223] PO_r_head: This is the head pointer of the network-side CCB layer O queue that has been successfully received on the UE side, pointing to the first data packet in the queue that has not yet been successfully received on the UE side.
[0224] Data packets in multiple Class I queues within the xNB are scheduled for network-side computation; data packets in multiple Class O queues within the xNB are scheduled for air interface transmission.
[0225] Based on the transmission / computation results of the data packets, multiple deletion modes are supported: deletion based on the success indication of the lower layer transmission or computation, and deletion based on the satisfaction index in the corresponding result data packet in the O queue.
[0226] Additionally, the following example illustrates how to determine the location information of the largest data packet, using the largest data packet number as an example:
[0227] Let μ1, μ2, ... μ n For nodes xNB1, xNB2, ... xNB n The computational execution rate; λ1,λ2,…λ n For nodes xNB1, xNB2, ... xNB nThe arrival frequency of data packets can be obtained from queuing theory at xNB1, xNB2, ... xNB n The average computation time for data packets is
[0228] Taking the old calculated segmentation graph as an example (e.g.) Figure 17 As shown in the figure, suppose the data packet Num_x needs to be calculated in xNB_1, xNB_2, and xNB_3. The amount of computation in node xNB_1 is Com1, and the amount of computation with higher priority than Num_x is Comh1. Then, the computation time required for Num_x in this node is tx1 = Ws1 * (Comx1 + Comh1).
[0229] After xNB_1 completes its calculation, the intermediate calculation results are sent to xNB_2. The computational cost of the data packets arriving at xNB_2 within tx1 is λ2*tx1; the computational cost of the data packets executed by xNB_2 within tx1 is μ2*tx1. Therefore, the additional computational cost of xNB_2 within tx1 is Coma2 = (λ2 - μ2)*tx1. Thus, the computation time required for Num_x in this node is tx2 = Ws1*(Coma2 + Comh2 + Comx2).
[0230] Similarly, the computation time of Num_x in xNB_3 can be calculated. Therefore, the total computation time of Num_x in the old computation partition graph is tx_old=tx1+tx2+tx3.
[0231] Taking the new computational segmentation map above as an example (e.g.) Figure 18 As shown in the figure, the same data packet Num_x needs to be calculated at anchor points xNB, xNB_4, xNB_5, and xNB_6.
[0232] The computational cost in anchor point xNB is ComN, and the computational cost with higher priority than Num_x is ComhN. Therefore, the computation time required for Num_x in this node is txN = WsN * (ComxN + ComhN).
[0233] After the intermediate calculation result of the anchor point xNB is calculated, it is sent to xNB_4 and xNB_5. The amount of calculation for the data packets reaching xNB_4 within txN is λ4 * tx4; the amount of calculation for the data packets executed by xNB_4 within txN is μ4 * txN. Thus, the new amount of calculation Coma4 for xNB_4 within txN = (λ4 - μ4) * txN. Then, the required calculation duration tx4 for Num_x at this node = Ws4 * (Coma4 + Comh4 + Comx4). Similarly, the calculation duration tx5 for xNB_5 can be obtained. Compare the magnitudes of tx4 and tx5, and select the larger one as the calculation duration required for xNB_6. Thus, the total calculation duration tx_new for Num_x in the old calculation segmentation graph is tx_new = txN + tx4 + tx6 (tx4 > tx5) or tx_new = txN + tx5 + tx6 (tx5 > tx4).
[0234] Suppose there are n data packets, and the total calculation duration of data packet Num_i (i = 1…n) in the old segmentation graph is ti_old (i = 1…n). Similarly, the total calculation duration in the new segmentation graph is ti_new (i = 1…n).
[0235] After calculating the calculation duration required in the old calculation segmentation graph and the calculation duration required in the new calculation segmentation graph, determine the maximum data packet number (Num_Max) based on the calculated calculation duration. The specific process is as Figure 19 shown below:
[0236] 1. Calculate the calculation duration required for Num_i in the new calculation segmentation graph and the old calculation segmentation graph respectively;
[0237] 2. Set the parameter i = 1;
[0238] 3. Set tsum_old = ti_old; tsum_new = ti_new. Here, ti_old represents the calculation duration of data packet Num_i in the old calculation segmentation graph; ti_new represents the calculation duration of data packet Num_i in the new segmentation graph;
[0239] 4. Judge whether tsum_new < tsum_old. If so, TM / TC_xNB notifies all nodes participating in the calculation to release the current cache; if not, go to step 5;
[0240] 5. Let i = i + 1;
[0241] 6. tsum_old = tsum_old + ti_old; tsum_new = tsum_new + ti_new;
[0242] 7. Determine if tsum_new < tsum_old or i = n. If so, then Num_Max = Num_(i - 1) (when tsum_new < tsum_old) or Num_Max = Num_i (when i = n); if not, go back to step 5.
[0243] The solutions of the related art do not consider the later adjustment, control, and management of AI computing tasks by the network side. If the network side adjusts the computing tasks, it will lead to situations such as packet loss and data waste. The embodiments of the present application propose a smooth adjustment scheme for the computing segmentation graph to ensure the task computing results. Including but not limited to the following technical advantages:
[0244] TM can adjust the computing task segmentation graph by monitoring the network side nodes and terminals, improving the usage efficiency of the terminal side and network side nodes;
[0245] TM can determine when it is suitable to adjust the computing segmentation graph, ensure that data is not lost, and maintain high data utilization and minimum latency.
[0246] As a buffer layer between the network side computing and air interface transmission, CCB can adjust, manage, and control the task computing data uploaded by the terminal side in the IO queue at any time to ensure data integrity;
[0247] TM can adjust the computing task segmentation graph according to the air interface channel quality to ensure the timeliness and effectiveness of the AI inference service.
[0248] As Figure 20 shown, Figure 20 is a schematic structural diagram of a task execution device 2000 provided by an embodiment of the present application. The task execution device 2000 can be applied to a first network device. As Figure 20 shown, the task execution device 2000 includes:
[0249] A generation module 2001, configured to generate a first computing segmentation graph for a first task. The first task includes multiple subtasks. The first computing segmentation graph includes M nodes. Each node in the first computing segmentation graph is assigned at least one subtask of the multiple subtasks. The first computing segmentation graph is a segmentation graph obtained by adjusting the subtasks assigned to at least some nodes in the second computing segmentation graph, and M is an integer greater than 1;
[0250] A first comparison module 2002, configured to compare the first computing segmentation graph and the second computing segmentation graph to determine the target nodes with subtask adjustments;
[0251] A first determination module 2003, configured to determine the maximum packet location information according to the status information of the task packets in the cache corresponding to the target nodes;
[0252] The configuration module 2004 is used to reconfigure computing resources according to the first computing segmentation map when it is determined that the terminal device has obtained the task calculation result of the target service data packet corresponding to the maximum data packet location information. This is to enable the nodes in the first computing segmentation map to execute the corresponding sub-tasks in the unfinished sub-tasks among the multiple sub-tasks. The completed sub-tasks among the multiple sub-tasks are the sub-tasks that have been completed by the nodes in the second computing segmentation map.
[0253] In some embodiments, the configuration module includes:
[0254] The first sending unit is used to send a first message to the terminal device, the first message including the maximum data packet location information;
[0255] The resource configuration unit is used to reconfigure computing resources according to the first computing segmentation map when it receives a second message sent by the terminal device based on the first message, wherein the second message is used to indicate that the terminal device has successfully obtained the task computing result of the target service data packet.
[0256] In some embodiments, the first determining module includes:
[0257] The second sending unit is used to send a first request to the target node. The first request is used to request the status information of the task data packet in the corresponding cache of the target node.
[0258] The first receiving unit is used to receive a third message sent by the target node based on the first request. The third message includes the status information of the task data packet in the corresponding cache of the target node.
[0259] The information determination unit is used to determine the location information of the largest data packet based on the status information of the task data packets in the cache corresponding to the target node.
[0260] In some embodiments, the information determining unit includes:
[0261] The duration prediction unit is used to predict, based on the status information of the task data packets in the cache corresponding to the target node, the first duration required to perform task calculation on each task data packet in the cache corresponding to the target node based on the first computational segmentation map, and the second duration required to perform task calculation on each task data packet in the cache corresponding to the target node based on the second computational segmentation map.
[0262] The comparison unit is used to compare the first duration and the second duration to determine the location information of the largest data packet.
[0263] In some embodiments, the maximum data packet location information is the location information of the task data packet with the largest number in the cache corresponding to the target node; or...
[0264] The location information of the largest data packet is number i, where i is a positive integer, and i satisfies the following condition:
[0265] The sum of the first durations of the i data packets is greater than or equal to the sum of the second durations of the i data packets, and the sum of the first durations of the i+1 data packets is less than the sum of the second durations of the i+1 data packets. The i data packets include data packets numbered 1 to i in the task data packets in the corresponding cache of the target node, and the i+1 data packets include data packets numbered 1 to i+1 in the task data packets in the corresponding cache of the target node.
[0266] In some embodiments, the status information includes at least one of the following:
[0267] Data packet number information;
[0268] Data packet arrival frequency;
[0269] Data packet processing rate.
[0270] In some embodiments, the apparatus further includes:
[0271] The release request sending module is used to send release requests to the target node. The release request is used to request the target node to release the corresponding cache.
[0272] In some embodiments, the first network device has a network-side cache, which maintains a first queue and a second queue for the first task. The first queue is used to cache the task calculation results received from the terminal device, and the second queue is used to cache the task calculation results of each node participating in the task calculation of the first task on the network side.
[0273] The task execution device 2000 provided in this embodiment can realize the various processes of the above-described task execution method applied to terminal devices. The technical features are one-to-one and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0274] See Figure 21 , Figure 21 This is a schematic diagram of the structure of a task execution device 2100 provided in an embodiment of this application, as shown below. Figure 21 As shown, the task execution device 2100 can be applied to a terminal device, and the task execution device 2100 includes:
[0275] The first receiving module 2101 is used to receive a first message sent by the first network device, the first message including the maximum data packet location information;
[0276] The first sending module 2102 is used to send a second message to the first network device when the terminal device obtains the task calculation result of the target service data packet. The second message is used to indicate that the terminal device has successfully obtained the task calculation result of the target service data packet, and the target service data packet is the data packet corresponding to the maximum data packet location information.
[0277] In some embodiments, the task execution device 2100 further includes:
[0278] The first request receiving module is used to receive a first request sent by the first network device before the first receiving module performs the function of receiving the first message sent by the first network device.
[0279] The third message sending module is used to send a third message to the first network device based on the first request. The third message includes the status information of the task data packet in the cache of the terminal device.
[0280] In some embodiments, the status information includes at least one of the following:
[0281] Data packet number information;
[0282] Data packet arrival frequency;
[0283] Data packet processing rate.
[0284] In some embodiments, the task execution device 2100 further includes:
[0285] The release request receiving module is used to receive the release request sent by the first network device after the first sending module sends the second message to the first network device;
[0286] The release module is used to release the corresponding cache on the terminal device in response to a release request.
[0287] In some embodiments, the terminal device has a terminal-side cache, which maintains a third queue and a fourth queue for the first task. The third queue is used to cache the task calculation results from the terminal device, and the fourth queue is used to cache the task calculation results of each node on the network side that participates in the task calculation of the first task.
[0288] In some embodiments, when the terminal device obtains the task calculation result of the target service data packet, it sends a second message to the first network device, including:
[0289] When the terminal device obtains the task calculation result of the target service data packet, it puts the task calculation result of the target service data packet into the fifth queue of the terminal device, adjusts the first pointer of the fifth queue so that the adjusted first pointer points to the task calculation result of the target service data packet, and adjusts the second pointer of the sixth queue of the terminal device so that the adjusted second pointer points to the next data packet of the target service data packet. The sixth queue is used to buffer data packets that the terminal device needs to perform task calculation on.
[0290] If the adjustment of the first and second pointers is successful, a second message is sent to the first network device.
[0291] The task execution device 2100 provided in this embodiment can implement the various processes of the above-described task execution method applied to terminal devices. The technical features are one-to-one and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0292] This application also provides an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described task execution method embodiment applied to the first network device and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0293] For details, see Figure 22 This application also provides an electronic device, which, by way of example, can be a first network device, and includes a bus 2201, a transceiver 2202, an antenna 2203, a bus interface 2204, a processor 2205, and a memory 2206.
[0294] The processor 2205 is used for:
[0295] For the first task, a first computational partitioning graph is generated. The first task includes multiple subtasks. The first computational partitioning graph includes M nodes. Each node in the first computational partitioning graph is assigned at least one subtask of multiple subtasks. The first computational partitioning graph is a partitioning graph after adjusting the subtasks assigned to at least some nodes in the second computational partitioning graph. M is an integer greater than 1.
[0296] By comparing the first computational segmentation map and the second computational segmentation map, the target node with subtask adjustment is determined;
[0297] The location information of the largest data packet is determined based on the status information of the task data packets in the cache corresponding to the target node;
[0298] Given the task calculation result of the target service data packet corresponding to the location information of the largest data packet obtained by the terminal device, the computing resources are reconfigured according to the first computing segmentation graph so that the nodes in the first computing segmentation graph execute the corresponding sub-tasks in the unfinished sub-tasks among the multiple sub-tasks, and the completed sub-tasks among the multiple sub-tasks are the sub-tasks that have been completed by the nodes in the second computing segmentation graph.
[0299] In some embodiments, the processor 2205 is further configured to:
[0300] Send a first message to the terminal device, the first message including the location information of the largest data packet;
[0301] Upon receiving a second message from the terminal device based on the first message, the computing resources are reconfigured according to the first computing segmentation map. The second message is used to indicate that the terminal device has successfully obtained the task computing result of the target service data packet.
[0302] In some embodiments, the processor 2205 is further specifically used for:
[0303] Send a first request to the target node. The first request is used to request the status information of the task data packet in the corresponding cache of the target node.
[0304] Receive a third message sent by the target node based on the first request. The third message includes the status information of the task data packet in the corresponding cache of the target node.
[0305] Based on the status information of the task data packets in the cache corresponding to the target node, the location information of the largest data packet is determined.
[0306] In some embodiments, the processor 2205 is further specifically used for:
[0307] Based on the status information of the task data packets in the cache corresponding to the target node, predict the first time required to perform task computation on each task data packet in the cache corresponding to the target node based on the first computational segmentation map, and predict the second time required to perform task computation on each task data packet in the cache corresponding to the target node based on the second computational segmentation map.
[0308] By comparing the first duration and the second duration, the location information of the largest data packet is determined.
[0309] In some embodiments, the maximum data packet location information is the location information of the task data packet with the largest number in the cache corresponding to the target node; or...
[0310] The location information of the largest data packet is number i, where i is a positive integer, and i satisfies the following condition:
[0311] The sum of the first durations of the i data packets is greater than or equal to the sum of the second durations of the i data packets, and the sum of the first durations of the i+1 data packets is less than the sum of the second durations of the i+1 data packets. The i data packets include data packets numbered 1 to i in the task data packets in the corresponding cache of the target node, and the i+1 data packets include data packets numbered 1 to i+1 in the task data packets in the corresponding cache of the target node.
[0312] In some embodiments, the status information includes at least one of the following:
[0313] Data packet number information;
[0314] Data packet arrival frequency;
[0315] Data packet processing rate.
[0316] In some embodiments, the processor 2205 is further configured to:
[0317] Send a release request to the target node. The release request is used to request the target node to release the corresponding cache.
[0318] In some embodiments, the first network device has a network-side cache, which maintains a first queue and a second queue for the first task. The first queue is used to cache the task calculation results received from the terminal device, and the second queue is used to cache the task calculation results of each node participating in the task calculation of the first task on the network side.
[0319] exist Figure 22 In this document, a bus architecture (represented by bus 2201) is used. Bus 2201 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 2205 and memory represented by memory 2206. Bus 2201 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 2204 provides an interface between bus 2201 and transceiver 2202. Transceiver 2202 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 processor 2205 is transmitted over a wireless medium via antenna 2203, which further receives data and transmits it to processor 2205.
[0320] Processor 2205 is responsible for managing bus 2201 and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 2206 can be used to store data used by processor 2205 during operation.
[0321] Optionally, the processor 2205 can be a CPU, ASIC, FPGA, or CPLD.
[0322] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes described in the above-described task execution method embodiment applied to the first network device, and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0323] This application also provides an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described task execution method embodiments applied to terminal devices and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0324] For details, see Figure 23 As shown in the embodiments of this application, an electronic device is also provided. Exemplarily, the electronic device may be a terminal device, which includes a bus 2301, a transceiver 2302, an antenna 2303, a bus interface 2304, a processor 2305, and a memory 2306.
[0325] The processor 2305 is used for:
[0326] Receive a first message sent by a first network device, the first message including the location information of the largest data packet;
[0327] When the terminal device obtains the task calculation result of the target service data packet, it sends a second message to the first network device. The second message is used to indicate that the terminal device has successfully obtained the task calculation result of the target service data packet, which is the data packet corresponding to the maximum data packet location information.
[0328] In some embodiments, the processor 2305 is further configured to:
[0329] Before receiving the first message sent by the first network device, receive the first request sent by the first network device;
[0330] Based on the first request, a third message is sent to the first network device, the third message including the status information of the task data packets in the cache of the terminal device.
[0331] In some embodiments, the status information includes at least one of the following:
[0332] Data packet number information;
[0333] Data packet arrival frequency;
[0334] Data packet processing rate.
[0335] In some embodiments, the processor 2305 is further configured to:
[0336] After sending the second message to the first network device, receive the release request sent by the first network device;
[0337] In response to the release request, release the corresponding cache on the terminal device.
[0338] In some embodiments, the terminal device has a terminal-side cache, which maintains a third queue and a fourth queue for the first task. The third queue is used to cache the task calculation results from the terminal device, and the fourth queue is used to cache the task calculation results of each node on the network side that participates in the task calculation of the first task.
[0339] In some embodiments, the processor 2305 is further configured to:
[0340] When the terminal device obtains the task calculation result of the target service data packet, it puts the task calculation result of the target service data packet into the fifth queue of the terminal device, adjusts the first pointer of the fifth queue so that the adjusted first pointer points to the task calculation result of the target service data packet, and adjusts the second pointer of the sixth queue of the terminal device so that the adjusted second pointer points to the next data packet of the target service data packet. The sixth queue is used to buffer data packets that the terminal device needs to perform task calculation on.
[0341] If the adjustment of the first and second pointers is successful, a second message is sent to the first network device.
[0342] exist Figure 23 In this document, a bus architecture (represented by bus 2301) is used. Bus 2301 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 2305 and memory represented by memory 2306. Bus 2301 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 2304 provides an interface between bus 2301 and transceiver 2302. Transceiver 2302 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 processor 2305 is transmitted over a wireless medium via antenna 2303, which further receives data and transmits it to processor 2305.
[0343] Processor 2305 manages bus 2301 and general processing, and also provides various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 2306 can be used to store data used by processor 2305 during operation.
[0344] Optionally, the processor 2305 can be a CPU, ASIC, FPGA, or CPLD.
[0345] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the task execution method embodiments described above for use in terminal devices, achieving the same technical effects. To avoid repetition, these details will not be repeated here. The computer-readable storage medium may be, for example, ROM, RAM, a magnetic disk, or an optical disk.
[0346] This application also provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the various processes of the above method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0347] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0348] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or first network device, etc.) to execute the methods of the various embodiments of this application.
[0349] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A task execution method characterized by, The method is applied to a first network device, and the method comprises: generating a first computing partition graph for a first task, the first task comprising a plurality of subtasks, the first computing partition graph comprising M nodes, each node in the first computing partition graph being assigned at least one subtask of the plurality of subtasks, the first computing partition graph being a partition graph in which subtasks assigned to at least some nodes in a second computing partition graph are adjusted, M being an integer greater than 1; comparing the first computing partition graph and the second computing partition graph to determine a target node having a subtask adjustment; determining maximum data packet positioning information according to state information of task data packets in a cache corresponding to the target node; in a case where it is determined that a terminal device obtains a task computing result of a target service data packet corresponding to the maximum data packet positioning information, reconfiguring computing resources according to the first computing partition graph, so that nodes in the first computing partition graph execute corresponding subtasks of uncompleted subtasks in the plurality of subtasks, completed subtasks in the plurality of subtasks being subtasks completed by nodes in the second computing partition graph.
2. The method of claim 1, wherein, The reconfiguring of the computing resources according to the first computing partition graph in the case where it is determined that the terminal device obtains the task computing result of the target service data packet comprises: sending a first message to the terminal device, the first message comprising the maximum data packet positioning information; in a case where a second message sent by the terminal device based on the first message is received, reconfiguring the computing resources according to the first computing partition graph, wherein the second message is used to indicate that the terminal device successfully obtains the task computing result of the target service data packet.
3. The method of claim 1, wherein, The determining of the maximum data packet positioning information according to the state information of the task data packets in the cache corresponding to the target node comprises: sending a first request to the target node, the first request being used to request state information of task data packets in a cache corresponding to the target node; receiving a third message sent by the target node based on the first request, the third message comprising the state information of the task data packets in the cache corresponding to the target node; determining the maximum data packet positioning information based on the state information of the task data packets in the cache corresponding to the target node.
4. The method of claim 3, wherein, The determining of the maximum data packet positioning information according to the state information of the task data packets in the cache corresponding to the target node comprises: predicting a first time length required for task computing of each task data packet in the cache corresponding to the target node based on the first computing partition graph and a second time length required for task computing of each task data packet in the cache corresponding to the target node based on the second computing partition graph according to the state information of the task data packets in the cache corresponding to the target node; comparing the first time length and the second time length to determine the maximum data packet positioning information.
5. The method of claim 4, wherein, The maximum data packet positioning information is positioning information of a task data packet with the largest number in the cache corresponding to the target node; or The maximum data packet positioning information is a number i, the i being a positive integer, and the i satisfying the following condition: a sum of the first durations of i data packets is greater than or equal to a sum of the second durations of the i data packets, and a sum of the first durations of i+1 data packets is less than a sum of the second durations of the i+1 data packets, the i data packets including data packets numbered 1 to i in the task data packets in the corresponding cache of the target node, and the i+1 data packets including data packets numbered 1 to i+1 in the task data packets in the corresponding cache of the target node.
6. The method according to any one of claims 1-5, characterized in that, The state information includes at least one of: data packet number information; data packet arrival frequency; data packet processing rate.
7. The method of claim 1, wherein, Before the reconfiguring of the computing resource according to the first computing partition diagram, the method further includes: sending a release request to the target node, the release request being used to request the target node to release the corresponding cache.
8. The method of claim 1, wherein, The first network device has a network-side cache, and the network-side cache has a first queue and a second queue maintained for the first task, the first queue being used to cache the task computing result received from the terminal device, and the second queue being used to cache the task computing result of each node participating in the task computing of the first task on the network side.
9. A task execution method characterized by, The method applied to a terminal device includes: receiving a first message sent by a first network device, the first message including maximum data packet positioning information; in a case where the terminal device obtains a task computing result of a target service data packet, sending a second message to the first network device, the second message being used to indicate that the terminal device successfully obtains the task computing result of the target service data packet, the target service data packet being a data packet corresponding to the maximum data packet positioning information.
10. The method of claim 9, wherein, Before the receiving of the first message sent by the first network device, the method further includes: receiving a first request sent by the first network device; based on the first request, sending a third message to the first network device, the third message including state information of task data packets in a cache of the terminal device.
11. The method of claim 10, wherein, The state information includes at least one of: data packet number information; data packet arrival frequency; data packet processing rate.
12. The method of claim 9, wherein, After the sending of the second message to the first network device, the method further includes: receiving a release request sent by the first network device; in response to the release request, releasing the corresponding cache of the terminal device.
13. The method of claim 9, wherein, The terminal device has a terminal-side cache, and the terminal-side cache has a third queue and a fourth queue maintained for the first task, the third queue being used to cache the task computing result of the terminal device, and the fourth queue being used to cache the task computing result of each node participating in the task computing of the first task on the network side.
14. The method of claim 9, wherein, In a case where the terminal device obtains a task computing result of a target service data packet, sending a second message to the first network device includes: In a case that the terminal device obtains a task calculation result of a target service data packet, the terminal device puts the task calculation result of the target service data packet into a fifth queue of the terminal device, adjusts a first pointer of the fifth queue, and adjusts a second pointer of a sixth queue of the terminal device, wherein the adjusted first pointer points to the task calculation result of the target service data packet, and the adjusted second pointer points to a next data packet of the target service data packet, and the sixth queue is used to buffer data packets to be calculated by the terminal device; In a case that the first pointer and the second pointer are successfully adjusted, the terminal device sends a second message to the first network device.
15. A task execution apparatus characterized by comprising: The apparatus applied to a first network device, and the apparatus comprises: a generation module configured to generate a first calculation partition graph for a first task, wherein the first task comprises a plurality of subtasks, the first calculation partition graph comprises M nodes, each node in the first calculation partition graph is allocated at least one subtask of the plurality of subtasks, the first calculation partition graph is a partition graph after adjustment of subtasks allocated to at least part of nodes in a second calculation partition graph, and M is an integer greater than 1; a first comparison module configured to compare the first calculation partition graph and the second calculation partition graph to determine a target node with subtask adjustment; a first determination module configured to determine maximum data packet positioning information according to state information of a task data packet in a cache corresponding to the target node; a configuration module configured to reconfigure a calculation resource according to the first calculation partition graph in a case that a terminal device obtains a task calculation result of a target service data packet corresponding to the maximum data packet positioning information, so that nodes in the first calculation partition graph perform corresponding subtasks in uncompleted subtasks of the plurality of subtasks, and completed subtasks of the plurality of subtasks are subtasks completed by nodes in the second calculation partition graph.
16. A task execution apparatus characterized by comprising: The apparatus applied to a terminal device, and the apparatus comprises: a first receiving module configured to receive a first message sent by a first network device, wherein the first message comprises maximum data packet positioning information; a first sending module configured to send a second message to the first network device in a case that the terminal device obtains a task calculation result of a target service data packet, wherein the second message is used to indicate that the terminal device successfully obtains the task calculation result of the target service data packet, and the target service data packet is a data packet corresponding to the maximum data packet positioning information.
17. An electronic device, comprising: The apparatus comprises a transceiver and a processor, the processor is configured to: generate a first calculation partition graph for a first task, wherein the first task comprises a plurality of subtasks, the first calculation partition graph comprises M nodes, each node in the first calculation partition graph is allocated at least one subtask of the plurality of subtasks, the first calculation partition graph is a partition graph after adjustment of subtasks allocated to at least part of nodes in a second calculation partition graph, and M is an integer greater than 1; compare the first calculation partition graph and the second calculation partition graph to determine a target node with subtask adjustment; determine maximum data packet positioning information according to state information of the task data packets in the cache corresponding to the target node; in a case where it is determined that the terminal device obtains a task calculation result of a target service data packet corresponding to the maximum data packet positioning information, reconfigure the calculation resource according to the first calculation partition graph, so that nodes in the first calculation partition graph execute corresponding subtasks in uncompleted subtasks in the plurality of subtasks, and completed subtasks in the plurality of subtasks are subtasks completed through nodes in the second calculation partition graph.
18. An electronic device, comprising: comprising a transceiver and a processor, the processor is configured to: receive a first message sent by a first network device, wherein the first message comprises maximum data packet positioning information; in a case where the terminal device obtains a task calculation result of a target service data packet, send a second message to the first network device, wherein the second message is used to indicate that the terminal device successfully obtains the task calculation result of the target service data packet, and the target service data packet is a data packet corresponding to the maximum data packet positioning information.
19. An electronic device, comprising: comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program is executed by the processor to implement steps of the method according to any one of claims 1 to 8, or implement steps of the method according to any one of claims 9 to 14. 20.A computer readable storage medium, having stored thereon a computer program, wherein the computer program is executed by a processor to implement steps of the method according to any one of claims 1 to 8, or implement steps of the method according to any one of claims 9 to 14.
21. A computer program product, characterised in that, comprising computer instructions, wherein the computer instructions are executed by a processor to implement steps of the method according to any one of claims 1 to 14.