Multi-node cooperative computing method, device, equipment, product and storage medium

By using a multi-node collaborative computing method, the system receives requests for tasks to be computed and generates collaborative strategies, distributing tasks to multiple nodes for collaborative computing. This solves the problems of wasted computing resources and real-time requirements of base stations, achieving efficient resource utilization and improved computing services.

CN121240141APending Publication Date: 2025-12-30CHINA MOBILE COMM LTD RES INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410866689.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-28
Publication Date
2025-12-30

AI Technical Summary

Technical Problem

In existing technologies, the inability of base station computing power to be adapted to the services leads to resource waste and fails to meet the demands of computing services with high real-time requirements, thus affecting the execution of computing services.

Method used

The multi-node collaborative computing method receives requests for tasks to be computed, generates a collaboration strategy, and distributes the tasks to multiple nodes for collaborative computing. This includes collaboration strategies based on time periods and/or task segments, utilizing multiple base station nodes to collaboratively carry out the computing tasks.

Benefits of technology

Effectively utilize base station computing resources, avoid resource waste, meet the computing service requirements with high real-time requirements, and improve the execution efficiency of computing services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121240141A_ABST
    Figure CN121240141A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-node cooperative computing method, device and equipment, a product and a storage medium. The method comprises the steps of receiving a first request of a to-be-calculated task sent by a first node; the first request is used for unloading the to-be-calculated task; the first request comprises information related to the task to be calculated; based on the first request and computing power information of a plurality of second nodes, generating a cooperative strategy for computing the to-be-computed task in each two-node according to different time periods and / or different task slices; the cooperation strategy is used for the plurality of second nodes to execute the to-be-calculated task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computing power technology, and in particular to a method, apparatus, device, product and storage medium for multi-node collaborative computing. Background Technology

[0002] In existing technologies, suitable services are allocated to base stations based on their computing power, or appropriate base station computing power is selected based on the computing service requirements. When there are no services that match the computing power characteristics of a base station, the base station's computing power cannot be used and remains idle, resulting in a certain waste of resources. When the base station's computing power cannot meet the demands of computing services with high real-time requirements, services cannot run locally, thus affecting the execution of computing services and resulting in the inability to provide the corresponding computing services. Summary of the Invention

[0003] To address the existing technical problems, embodiments of this application provide a method, apparatus, device, product, and storage medium for multi-node collaborative computing.

[0004] The technical solution of this application embodiment is implemented as follows: This application embodiment provides a multi-node collaborative computing method, applied to a network device, including:

[0005] Receive a first request from a first node for a task to be computed; the first request is used to unload the task to be computed; the first request includes information related to the task to be computed;

[0006] Based on the first request and the computing power information of multiple second nodes, a collaborative strategy is generated to divide the task to be computed into different time periods and / or different task slices for computation on each of the two nodes; the collaborative strategy is used by the multiple second nodes to execute the task to be computed.

[0007] The method in the above scheme further includes:

[0008] Determine whether there exists any single second node whose computing power information satisfies the first request among the plurality of second nodes;

[0009] If none of the computing power information of a single second node satisfies the first request among the computing power information of the plurality of second nodes, determine whether the first request carries task segmentation indication information of the task to be computed;

[0010] When the first request carries task segmentation indication information of the task to be computed, a collaborative strategy is generated based on the first request and the computing power information of multiple second nodes to compute the task to be computed in different time periods and / or in different task slices on each of the two nodes.

[0011] In the above scheme, the information related to the task to be computed includes one or more of the following:

[0012] The description information of the task to be computed;

[0013] The computing power requirements of the task to be computed;

[0014] The Quality of Service (QoS) requirements of the task to be computed;

[0015] The task segmentation indication information of the task to be calculated;

[0016] The task segmentation description information of the task to be calculated;

[0017] The computation identifier of the task to be computed;

[0018] The computation file and / or access address information of the task to be computed.

[0019] In the above scheme, the computing power information includes one or more of the following:

[0020] Computing power type;

[0021] Computing power;

[0022] End-to-end delay;

[0023] Available computing power time.

[0024] In the above scheme, when the information related to the task to be computed includes the computing power requirement information of the task to be computed and the computing power information includes the computing power size and the available computing power time, the method further includes:

[0025] Determine whether the computing power and available computing time of each second node meet the computing power requirement information;

[0026] If the computing power of each second node meets the computing power requirement information, but the available computing power time of each second node does not meet the computing power requirement information, a collaborative strategy is generated based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different time periods and calculate it on each of the two nodes.

[0027] In the above scheme, the step of generating a collaborative strategy based on the first request and the computing power information of multiple second nodes to compute the task to be computed on each of the two nodes in different time periods includes:

[0028] The available computing power time of each second node is sorted by time to obtain the sorting results;

[0029] Based on the sorting results and the computing power requirement information of the task to be computed, the preceding and following node information, computing task information, computing duration, and number of round-robin computing times of the master node and at least one slave node are determined among the plurality of second nodes; the master node is at least used to start the execution of the task to be computed and to receive the computing results of the slave node after the computing is completed; the slave node is at least used to receive the interruption information and variable information of the task to be computed sent by the previous node, and to continue to execute the task to be computed based on the interruption information and the variable information;

[0030] Based on the preceding and following node information, the computation task information, the computation duration, and the number of round-robin computations, it is determined that the master node executes the task to be computed in a first time period and the slave node executes the task to be computed in a second time period; the first time period can be any time period among the different time periods; the second time period can be any time period other than the first time period.

[0031] The strategy of assigning the tasks to be computed to the master node for execution in the first time period and to the slave node for execution in the second time period is defined as the collaboration strategy.

[0032] In the above scheme, when the information related to the task to be computed includes the computing power requirement information of the task to be computed and the computing power information includes the computing power size, the method further includes:

[0033] Determine whether the computing power of each second node meets the computing power requirement information;

[0034] If the computing power of each of the second nodes does not meet the computing power requirement information, a collaborative strategy is generated based on the first request and the computing power information of the multiple second nodes to divide the task to be computed into different task slices and compute them on each of the two nodes.

[0035] In the above scheme, the step of generating a collaborative strategy based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different task slices and compute them on each of the two nodes includes:

[0036] The sharding method for the task to be computed is determined based on the first request;

[0037] Based on the sharding processing method of the task to be computed and the computing power information of the multiple second nodes, the task to be computed is determined to be divided into a first task shard and / or a second task shard; the first task shard represents the part of the task to be computed that is not related to each other; the second task shard represents the part of the task to be computed that is related to each other.

[0038] The strategy of assigning the first task slice and / or the second task slice to the plurality of second nodes for execution is the cooperation strategy.

[0039] In the above scheme, when the information related to the task to be computed includes task segmentation indication information and / or task segmentation description information of the task to be computed, determining the fragmentation processing method of the task to be computed based on the first request includes:

[0040] Based on the task segmentation indication information and / or the task segmentation description information, determine whether the task to be calculated has interrelated partial calculation tasks, and obtain the judgment result;

[0041] The segmentation method for the task to be computed is determined based on the judgment result.

[0042] In the above scheme, the fragmentation processing method includes one or more of the following:

[0043] The task to be computed is divided into multiple independent first task slices; the multiple first task slices are executed in parallel on the multiple second nodes;

[0044] The task to be computed is divided into a second task slice with a temporal dependency.

[0045] This application also provides a multi-node collaborative computing apparatus, installed on a network device, comprising:

[0046] The receiving unit is configured to receive a first request for a task to be computed sent by the first node; the first request is used to unload the task to be computed; the first request includes information related to the task to be computed.

[0047] A generation unit is configured to generate a collaborative strategy based on the first request and the computing power information of multiple second nodes, which divides the task to be computed into different time periods and / or different task slices for computation on each of the two nodes; the collaborative strategy is used by the multiple second nodes to execute the task to be computed.

[0048] This application also provides a device for multi-node collaborative computing, including:

[0049] Memory, used to store executable instructions;

[0050] A processor, when executing executable instructions stored in the memory, implements any step of the method described above.

[0051] This application also provides a computer program product, which, when executed by a processor, implements any step of the method described above.

[0052] This application also provides a computer-readable storage medium storing executable instructions for implementing any step of the method described above when executed by a processor.

[0053] This application provides a method, apparatus, device, product, and storage medium for multi-node collaborative computing. The method, applied to a network device, includes: receiving a first request for a task to be computed from a first node; the first request being used to unload the task to be computed; the first request including information related to the task to be computed; generating a collaborative strategy based on the first request and computing power information of multiple second nodes, computing the task to be computed on each of the two nodes in different time periods and / or in different task slices; the collaborative strategy being used by the multiple second nodes to execute the task to be computed. In this application embodiment, the solution involves a network device receiving a first request (e.g., a computation unloading request) for a task to be computed from a first node (e.g., a computation unloading user); generating a collaborative strategy based on the first request and computing power information of multiple second nodes (e.g., base station nodes), computing the task to be computed on each of the two nodes in different time periods and / or in different task slices; the collaborative strategy being used by the multiple second nodes to execute the task to be computed, i.e., utilizing multi-base station node collaboration to carry the computation task, providing computation services to users, and improving the service experience. Attached Figure Description

[0054] Figure 1 This is a schematic diagram illustrating a method flow for multi-node collaborative computing provided in an embodiment of this application;

[0055] Figure 2 This is a schematic diagram illustrating an application scenario of the multi-node collaborative computing method according to an embodiment of this application;

[0056] Figure 3 This is an interactive schematic diagram of the multi-node collaborative computing method according to an embodiment of this application;

[0057] Figure 4 This is a schematic diagram of the time-sharing serial computation execution process in the multi-node collaborative computation method of this application embodiment;

[0058] Figure 5 This is a schematic diagram illustrating the time-sharing, serial execution of the entire task across multiple computing nodes in the multi-node collaborative computing method of this application embodiment;

[0059] Figure 6 This is a schematic diagram illustrating how a single computing task is divided into multiple independent computing tasks and executed in parallel in the multi-node collaborative computing method of this application embodiment;

[0060] Figure 7 This is a schematic diagram illustrating how a single computation task is divided into two interrelated parts in the multi-node collaborative computation method of this application embodiment;

[0061] Figure 8 This is a schematic diagram illustrating an application scenario of the multi-node collaborative computing method according to an embodiment of this application;

[0062] Figure 9 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application;

[0063] Figure 10 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application;

[0064] Figure 11 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application;

[0065] Figure 12 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application;

[0066] Figure 13 This is a schematic diagram of a multi-node collaborative computing device according to an embodiment of this application;

[0067] Figure 14 This is a schematic diagram of the hardware structure of a multi-node collaborative computing device in the embodiments of this application. Detailed Implementation

[0068] Wireless computing power refers to the remaining computing power of network elements within a wireless access network, including base station computing power and terminal computing power. Statistics show that there are a massive number of 5G base stations, widely distributed. Due to factors such as the tidal effect of services and uneven population density, the remaining shareable computing power of base stations is not constant. To address this characteristic of base station computing power, computing power management and orchestration systems typically select appropriate services based on the characteristics of the base station's computing power, or select appropriate base station computing power based on the characteristics of the services. For example, in office areas, base stations have more remaining computing power at night; therefore, during that time period, artificial intelligence (AI) model training tasks with low real-time requirements can be deployed.

[0069] Current technology allocates suitable services to base stations based on their computing power, or selects appropriate base station computing power based on the computing needs. This presents the following potential problems:

[0070] 1. When there are no services that match the computing power characteristics of the base station, the base station's computing power cannot be used and remains idle, resulting in a certain waste of resources.

[0071] 2. When the computing power of the base station cannot meet the needs of computing services with high real-time requirements, the service cannot run nearby, which affects the execution of computing services and makes it impossible to provide the corresponding computing services.

[0072] Based on this, embodiments of this application provide a method for multi-node collaborative computing, applied to a device for multi-node collaborative computing. The functions implemented by this method can be achieved by the processor in the device calling program code. The program code can be stored in a computer storage medium. Therefore, the device for multi-node collaborative computing includes at least a processor and a storage medium. As an example, the device for multi-node collaborative computing can be a mobile phone, computer, terminal, information transceiver, tablet device, personal digital assistant, etc.

[0073] Figure 1 This application provides a schematic diagram of a multi-node collaborative computing method flow; as shown in the embodiments. Figure 1 As shown, this method is applied to a network device and includes:

[0074] Step 101: Receive a first request from the first node for the task to be computed; the first request is used to unload the task to be computed; the first request includes information related to the task to be computed;

[0075] Step 102: Based on the first request and the computing power information of the multiple second nodes, generate a collaborative strategy to calculate the task to be computed on each of the two nodes by dividing it into different time periods and / or different task slices; the collaborative strategy is used by the multiple second nodes to execute the task to be computed.

[0076] It should be noted that the network device can be determined according to the actual situation and is not limited here. As an example, the network device may have general computing resource management and orchestration functions; the network device may include at least one of the following: a Service Management and Orchestration System (SMO); a core network; a Near Real-Time Radio Access Network Intelligent Controller (Near RT RIC); and a base station. In practical applications, the network device may be referred to as the first network device.

[0077] In step 101, the first node can be determined according to the actual situation, and is not limited here. As an example, the first node may include at least one of the following: a terminal, a base station. The terminal may be user equipment (UE). In practical applications, the first node may be referred to as the demand side or the computation offloading demander.

[0078] The task to be computed can be determined based on the actual situation and is not limited here. As an example, the task to be computed may include video rendering services, cloud computing, etc.

[0079] The first request to unload the task to be computed can be understood as unloading the task to be computed for computation; or it can be understood as unloading the task to be computed to multiple computing nodes for computation.

[0080] The first request can be determined based on the actual situation, and is not limited here. As an example, the first request can be an uninstallation request.

[0081] The first request includes information related to the task to be computed; wherein, the information related to the task to be computed can be determined according to the actual situation and is not limited here. As an example, the information related to the task to be computed includes one or more of the following: description information of the task to be computed; computing power requirement information of the task to be computed; quality of service (QoS) requirement information of the task to be computed; task segmentation indication information of the task to be computed; task segmentation description information of the task to be computed; computing identifier of the task to be computed; computing file and / or access address information of the task to be computed.

[0082] In step 102, the second node can be determined according to the actual situation, and is not limited here. As an example, the second node may include a base station, etc.

[0083] The computing power information can be determined based on actual circumstances and is not limited here. As an example, the computing power information may include one or more of the following: computing power type; computing power size; end-to-end latency; and computing power availability time.

[0084] Based on the first request and the computing power information of multiple second nodes, a collaborative strategy is generated to divide the task to be computed into different time periods and / or different task slices for computation on each of the two nodes. This strategy can be determined according to actual circumstances and is not limited here. As an example, the collaborative strategy to divide the task to be computed into different time periods for computation on each of the two nodes based on the first request and the computing power information of multiple second nodes may include: sorting the available computing power time of each second node by time to obtain a sorting result; determining the preceding and following node information, computation task information, computation duration, and number of round-robin computations of the master node and at least one slave node among the multiple second nodes based on the sorting result and the computing power requirement information of the task to be computed; the master node is at least used to start the execution of the task to be computed and to receive the computation result of the slave node after the computation is completed; the slave node is at least used to receive the task to be computed sent by the previous node. The task is computed based on interruption information and variable information. The task continues to be computed based on the interruption information and variable information. The master node executes the task in a first time period and the slave node executes the task in a second time period based on the preceding and following node information, the task information, the computation duration, and the number of round-robin computations. The first time period can be any of the different time periods. The second time period can be any of the different time periods other than the first time period. The strategy of assigning the task to the master node for execution in the first time period and to the slave node for execution in the second time period is defined as the cooperation strategy. The collaborative strategy for generating the computational task on each of the two nodes by dividing it into different task slices based on the first request and the computing power information of the multiple second nodes may include: determining the sharding processing method of the task to be computed based on the first request; determining, according to the sharding processing method of the task to be computed and the computing power information of the multiple second nodes, dividing the task to be computed into a first task slice and / or a second task slice; the first task slice represents the non-related computational tasks in the task to be computed; the second task slice represents the related computational tasks in the task to be computed; and the strategy of assigning the first task slice and / or the second task slice to the multiple second nodes for execution is the collaborative strategy. The collaborative strategy of dividing the task to be computed into different time periods on each of the two nodes can be understood as a time-sharing collaborative strategy for the task to be computed; the collaborative strategy of dividing the task to be computed into different time periods and / or different task slices on each of the two nodes can be understood as a sharding collaborative strategy for the task to be computed.

[0085] The collaboration strategy used by the multiple second nodes to execute the task to be computed can be understood as the collaboration strategy being used by the multiple second nodes to collaboratively complete the task to be computed.

[0086] In one embodiment, the method further includes:

[0087] Determine whether there exists any single second node whose computing power information satisfies the first request among the plurality of second nodes;

[0088] If none of the computing power information of a single second node satisfies the first request among the computing power information of the plurality of second nodes, determine whether the first request carries task segmentation indication information of the task to be computed;

[0089] When the first request carries task segmentation indication information of the task to be computed, a collaborative strategy is generated based on the first request and the computing power information of multiple second nodes to compute the task to be computed in different time periods and / or in different task slices on each of the two nodes.

[0090] In practical applications, if a suitable computing node can be found, the computing task is distributed to the corresponding node via control commands, and the requesting party is responded with the address of the computing node, allowing direct interaction between the requesting party and the computing node. If no suitable single computing node is available, and the "task splitting instruction" carried in the offload request is true, indicating that the task can be split / partitioned for execution, multiple computing nodes can collaborate to complete the entire computing task. The task splitting mode and computing nodes are determined by matching the computing power information of multiple computing nodes with the task splitting mode.

[0091] In one embodiment, the information relating to the task to be computed includes one or more of the following:

[0092] The description information of the task to be computed;

[0093] The computing power requirements of the task to be computed;

[0094] The Quality of Service (QoS) requirements of the task to be computed;

[0095] The task segmentation indication information of the task to be calculated;

[0096] The task segmentation description information of the task to be calculated;

[0097] The computation identifier of the task to be computed;

[0098] The computation file and / or access address information of the task to be computed.

[0099] The description information of the task to be calculated can be simply referred to as the task description, which can be a summary description of the calculation task in the form of a string.

[0100] The computing power requirement information of the task to be computed can be simply referred to as computing power requirement. This computing power requirement is used to describe the computing power required for the computing task, and may include computing power type and computing power size.

[0101] The QoS requirements of the task to be computed can be simply referred to as QoS requirements.

[0102] The task segmentation indication information of the task to be calculated can be simply referred to as the task segmentation indication. The task segmentation indication can be of Boolean type, indicating whether the task can be split.

[0103] The task segmentation description information for the task to be computed can be simply referred to as the task segmentation description. This description indicates whether the task can be segmented, and is included if so. As an example, the task segmentation description may include a task segmentation mode, a task executable file, and an access address. The task segmentation mode describes the mode of task segmentation; if an access address is provided, it can be omitted. The task executable file describes the executable file corresponding to the task segmentation; if an access address is provided, it can be omitted. The access address can provide the access address corresponding to the task segmentation description.

[0104] The computation identifier of the task to be computed can be simply referred to as the computation identifier. This computation identifier is used by the computing service requester and the provider to identify a certain type of computation, and is used in a pre-agreed scenario.

[0105] The computation file and / or access address information of the task to be computed can be simply referred to as the computation file or access address, which includes executable files or model files (parameter files, code files).

[0106] In one embodiment, the computing power information includes one or more of the following:

[0107] Computing power type;

[0108] Computing power;

[0109] End-to-end delay;

[0110] Available computing power time.

[0111] In this embodiment, the available computing power time can also be referred to as the computing time period. For ease of understanding, an example is given here: the VR glasses initiate a video rendering service offload request to the network. The integrated computing management orchestration and service opening module, based on the computing power requirements (computing power type, computing power size, end-to-end latency, computing time period, etc.), fails to find a suitable computing node and cannot provide computing services that meet the requirements, and returns a computing task offload failure response to the VR glasses.

[0112] In this scenario, the multi-node collaborative computing method proposed by the integrated management orchestration and service open module can utilize multiple base stations to collaboratively provide services for the computing task.

[0113] In one embodiment, where the information related to the task to be computed includes the computing power requirement information of the task to be computed and the computing power information includes computing power size and computing power availability time, the method further includes:

[0114] Determine whether the computing power and available computing time of each second node meet the computing power requirement information;

[0115] If the computing power of each second node meets the computing power requirement information, but the available computing power time of each second node does not meet the computing power requirement information, a collaborative strategy is generated based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different time periods and calculate it on each of the two nodes.

[0116] The second node can be determined based on the actual situation, and is not limited here. As an example, the second node can be a computation node.

[0117] Determining whether the computing power and available computing time of each second node meet the computing power requirement can be understood as determining whether the computing power and available computing time of each second node meet the computing power requirement. In other words, it determines whether the computing power of each second node is sufficient and whether the computation time is adequate.

[0118] When the computing power of each second node meets the computing power requirement information, but the available computing power time of each second node does not meet the computing power requirement information, the collaborative strategy of dividing the task to be computed into different time periods on each of the two nodes can be understood as the computing power of each second node being sufficient, but the computing time not meeting the requirement, and the collaborative strategy of dividing the task to be computed into time periods based on the first request and the computing power information of multiple second nodes.

[0119] In practical applications, if the computing power of a computing node is sufficient but the computing time is insufficient, then the computation can be performed serially in a time-sharing manner among the computing nodes.

[0120] In one embodiment, the step of generating a collaborative strategy based on the first request and the computing power information of multiple second nodes to compute the task to be computed on each of the two nodes in different time periods includes:

[0121] The available computing power time of each second node is sorted by time to obtain the sorting results;

[0122] Based on the sorting results and the computing power requirement information of the task to be computed, the preceding and following node information, computing task information, computing duration, and number of round-robin computing times of the master node and at least one slave node are determined among the plurality of second nodes; the master node is at least used to start the execution of the task to be computed and to receive the computing results of the slave node after the computing is completed; the slave node is at least used to receive the interruption information and variable information of the task to be computed sent by the previous node, and to continue to execute the task to be computed based on the interruption information and the variable information;

[0123] Based on the preceding and following node information, the computation task information, the computation duration, and the number of round-robin computations, it is determined that the master node executes the task to be computed in a first time period and the slave node executes the task to be computed in a second time period; the first time period can be any time period among the different time periods; the second time period can be any time period other than the first time period.

[0124] The strategy of assigning the tasks to be computed to the master node for execution in the first time period and to the slave node for execution in the second time period is defined as the collaboration strategy.

[0125] In this embodiment, sorting the available computing power time of each second node by time can be understood as sorting the available computing power time of each second node in chronological order to obtain a sorting result of the available computing power time of each second node in chronological order.

[0126] Based on the sorting results and the computing power requirement information of the task to be computed, determining the preceding and following node information, computing task information, computing duration, and number of round-robin computations of the master node and at least one slave node among the multiple second nodes can be understood as determining the preceding and following node information, computing task information, computing duration, and number of round-robin computations of the master node and at least one slave node among the multiple second nodes based on the sorting results of the available computing power time of each second node in chronological order and the computing time in the computing power requirement information of the task to be computed; wherein, the computing duration can also be called a time slice, which is required to be no less than a certain threshold (e.g., no less than 1 minute).

[0127] In practical applications, if the computing power of a computing node is sufficient but the computation time is insufficient, it can be executed serially across the computing nodes in a time-sharing manner. The first network device sorts the nodes and sends the computation task to each node. Each computing node knows its predecessor and successor nodes and the computation task information. Based on the QoS requirements of the computation task, the computing capacity of each node, and its available time, the first network device determines the computation duration for each node (called a time slice, which must not be less than a certain threshold (e.g., not less than 1 minute)) and performs round-robin computations. The sum of the total computation time and data transmission time cannot exceed the required computation time.

[0128] The computing nodes are divided into master nodes and slave nodes. The master node starts the task execution and processes the final calculation results and outputs the final result.

[0129] (1) After the calculation time is up, each computing node records the interruption information (interruption point) and various variable information (intermediate results and variable values ​​when the task is interrupted) when the task ends at the node, sends them to the next node, and reports the calculation time and interruption point to the first network device and / or the master node.

[0130] (2) The next node loads the variable information from the interruption point based on the task interruption information and variable information sent by the previous node and continues to execute. After the calculation is completed, the calculation time and interruption point are reported to the first network device and / or the master node.

[0131] (3) Until the computation task is completed, the node that has completed the computation will send the result to the master node. The master node will process the result as possible and then send it to the first network device or directly to the requester.

[0132] During the execution of the computation task, the first network device and / or the master node statistically analyzes and calculates the computation time to predict the task completion time. If there is a risk that the task cannot be completed on time, the nodes that will execute the task at future times are instructed to update the expected computation completion time and / or the task interruption point. The target node then adjusts its own resource scheduling according to the needs to ensure that the computation task is executed according to the new instructions.

[0133] In one embodiment, where the information related to the task to be computed includes computing power requirement information of the task to be computed and the computing power information includes computing power magnitude, the method further includes:

[0134] Determine whether the computing power of each second node meets the computing power requirement information;

[0135] If the computing power of each of the second nodes does not meet the computing power requirement information, a collaborative strategy is generated based on the first request and the computing power information of the multiple second nodes to divide the task to be computed into different task slices and compute them on each of the two nodes.

[0136] In this embodiment, the second node can be a computing node; the determination of whether the computing power of each second node meets the computing power requirement information can be determined by determining whether the computing power of each computing node meets the computing power requirement information.

[0137] When the computing power of each of the second nodes does not meet the computing power requirement information, the collaborative strategy of generating a task to be computed based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different task pieces and compute them on each of the two nodes can be a collaborative strategy of generating a task to be computed based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different task pieces and compute them on each of the two nodes when the computing power of each computing node does not meet the computing task requirement.

[0138] In practical applications, if the computing power of each computing node does not meet the requirements of the computing task, a possible task partitioning strategy can be adopted to execute the computing task. Specifically, if the first network device knows how to partition the task, it partitions the task according to the computing power of the nodes; otherwise, the first network device sends a task partitioning request to the consumer. The consumer reports possible partitioning modes (e.g., 1:1, 1:1:1, 1:2:1, ...), the data transmission volume of each partitioning mode, and the dependencies between tasks (because data interaction is required between the parts after partitioning, the interaction time needs to be included in QoS monitoring). The first network device matches the possible modes reported by the consumer with the computing power of the computing nodes, ensuring that the computing power required for the computation does not exceed the computing power that the nodes can provide, and finally determines the task partitioning mode, sending it to the consumer; the consumer sends the sub-tasks (or different parts of the task) corresponding to the partitioning mode to the first network device, which then dispatches the task.

[0139] In one embodiment, the step of generating a collaborative strategy based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different task slices and compute them on each of the two nodes includes:

[0140] The sharding method for the task to be computed is determined based on the first request;

[0141] Based on the sharding processing method of the task to be computed and the computing power information of the multiple second nodes, the task to be computed is determined to be divided into a first task shard and / or a second task shard; the first task shard represents the part of the task to be computed that is not related to each other; the second task shard represents the part of the task to be computed that is related to each other.

[0142] The strategy of assigning the first task slice and / or the second task slice to the plurality of second nodes for execution is the cooperation strategy.

[0143] In this embodiment, the specific determination process for determining the sharding processing method of the task to be computed based on the first request can be determined according to the actual situation and is not limited here. As an example, when the information related to the task to be computed includes the task segmentation indication information and / or task segmentation description information of the task to be computed, the step of determining the sharding processing method of the task to be computed based on the first request may include: judging whether the task to be computed has interrelated partial computing tasks based on the task segmentation indication information and / or the task segmentation description information, and obtaining a judgment result; and determining the sharding processing method of the task to be computed based on the judgment result.

[0144] The first task slice and the second task slice can be determined according to the actual situation, and are not limited here. As an example, the first task slice can be understood as dividing the task to be calculated into relatively independent sub-tasks; the second task slice can be understood as dividing the task to be calculated into different parts with strong mutual correlation.

[0145] In one embodiment, when the information related to the task to be computed includes task segmentation indication information and / or task segmentation description information of the task to be computed, determining the fragmentation processing method of the task to be computed based on the first request includes:

[0146] Based on the task segmentation indication information and / or the task segmentation description information, determine whether the task to be calculated has interrelated partial calculation tasks, and obtain the judgment result;

[0147] The segmentation method for the task to be computed is determined based on the judgment result.

[0148] In this embodiment, the step of determining whether the task to be computed has interrelated computational tasks based on the task segmentation indication information and / or the task segmentation description information, and obtaining the determination result, can be understood as determining whether the task to be computed has interrelated computational tasks based on the task segmentation indication information and / or the task segmentation description information, and obtaining the determination result that the task to be computed has interrelated computational tasks and / or the task to be computed does not have interrelated computational tasks.

[0149] Determining the segmentation method of the task to be computed based on the judgment result can be understood as follows: when the judgment result indicates that there are no interrelated computing tasks in the task to be computed, the segmentation method of the task to be computed is determined to be to divide the task to be computed into multiple independent first task segments.

[0150] Determining the segmentation method of the task to be computed based on the judgment result can be understood as follows: when the judgment result indicates that there are interrelated computational tasks in the task to be computed, the segmentation method of the task to be computed is determined to be to divide the task to be computed into the second task segment with a time-sequential dependency.

[0151] The determination of the fragmentation processing method for the task to be computed based on the judgment result can be understood as follows: when the task to be computed has some interrelated computing tasks and / or the task to be computed does not have some interrelated computing tasks, the fragmentation processing method for the task to be computed is determined to be to divide the task to be computed into multiple independent first task fragments; and / or to divide the task to be computed into multiple independent first task fragments.

[0152] In one embodiment, the fragmentation processing method includes one or more of the following:

[0153] The task to be computed is divided into multiple independent first task slices; the multiple first task slices are executed in parallel on the multiple second nodes;

[0154] The task to be computed is divided into a second task slice with a temporal dependency.

[0155] In this embodiment, dividing the task to be computed into multiple independent first task slices can be understood as dividing the task to be computed into relatively independent sub-tasks that can be executed independently.

[0156] Dividing the task to be computed into the second task slice with a time-sequential dependency can be understood as dividing the task to be computed into different parts that are strongly related to each other and cannot be executed independently in parallel.

[0157] In practical applications, the task to be computed can also be called a computation task. The division of computation tasks can be divided into the following three cases: (1) Divided into relatively independent subtasks that can be executed independently, such as background rendering and foreground rendering of VR videos. In this case, each subtask is executed in parallel on different computing nodes. Finally, the results are sent to the consumer. (2) Divided into different parts with strong mutual correlation that cannot be executed independently in parallel, such as different steps with dependencies in the background rendering task of VR videos. In this case, each part of the task is executed on different computing nodes, and the task part of the later step depends on the execution result of the previous step. Finally, the main node performs the final possible processing and sends it to the consumer. (3) A hybrid of the above two methods, which has subtasks that can run independently in parallel, and also different parts with sequential constraints.

[0158] To facilitate understanding, this example illustrates a multi-node collaborative computing method. When the computing resources of a base station are insufficient, the computing tasks can be carried out through the collaboration of multiple base station nodes, providing computing services to users and improving the business experience.

[0159] like Figure 2 As shown, Figure 2 This is a schematic diagram illustrating an application scenario of the multi-node collaborative computing method according to an embodiment of this application; Figure 2 In the process, the Virtual Reality (VR) glasses initiate a video rendering service offload request to the network. The integrated computing management orchestration and service opening module, based on the computing power requirements (computing power type, computing power size, end-to-end latency, computing time period, etc.), fails to find a suitable computing node and cannot provide computing services that meet the requirements, and returns a computing task offload failure response to the VR glasses.

[0160] In this scenario, the integrated management orchestration and service opening module can utilize the multi-node collaborative computing method proposed in this solution to provide services for the computing task through the collaboration of multiple base stations.

[0161] Solution architecture and process:

[0162] This proposal suggests a multi-node collaborative computing method. Based on the computing task offloading requests from computing offloading service consumers, and according to the computing power information of each computing node, a computing task execution strategy is generated, and the computing tasks are distributed to multiple computing nodes for collaborative completion. The detailed process is as follows: Figure 3 As shown, Figure 3 This is an interactive schematic diagram of the multi-node collaborative computing method according to an embodiment of this application.

[0163] I. Consumer's compute offload request: This includes a task description, computing power requirements, QoS requirements, and a task splitting indication. Furthermore, it may carry the task splitting mode and the corresponding task execution file, or the corresponding access address. As shown in Table 1, Table 1 is a schematic table illustrating the contents of a compute offload request.

[0164] Table 1

[0165]

[0166]

[0167] II. The first network device processes the offload request:

[0168] 1. If a suitable computing node can be found, the computing task is sent to the corresponding node through control commands, and the address of the computing node is replied to the requester. The requester and the computing node interact directly.

[0169] 2. If no suitable single computing node is available, and the "task splitting instruction" carried in the offload request is true, it indicates that the task can be split / partitioned for execution. In this case, multiple computing nodes can collaborate to complete the entire computing task. The task splitting mode and computing nodes are determined by matching the computing power information of multiple computing nodes with the task splitting mode.

[0170] 2.1 Scenario 1: If the computing power of the computing nodes is sufficient, but the computing time is insufficient, then the computation can be performed serially across the computing nodes in a time-sharing manner. The first network device sorts the nodes and sends the computing tasks to each node. Each computing node knows its predecessor and successor nodes and the computing task information. The first network device determines the computing duration (called a time slice, which must be no less than a certain threshold (e.g., no less than 1 minute)) for each node based on the QoS requirements of the computing task and the computing capacity and available time of each node, and performs round-robin computations. The sum of the total computing time and data transmission time cannot exceed the required computing time.

[0171] The computing nodes are divided into master nodes and slave nodes. The master node starts task execution, processes the final calculation results, and outputs the final result. This content can be combined with... Figure 4 To understand, Figure 4 This is a schematic diagram of the time-sharing serial computation execution process in the multi-node collaborative computation method of this application embodiment.

[0172] (1) After the calculation time is up, each computing node records the interruption information (interruption point) and various variable information (intermediate results and variable values ​​when the task is interrupted) when the task ends at the node, sends them to the next node, and reports the calculation time and interruption point to the first network device and / or the master node.

[0173] (2) The next node loads the variable information from the interruption point based on the task interruption information and variable information sent by the previous node and continues to execute. After the calculation is completed, the calculation time and the interruption point are reported to the first network device and / or the master node.

[0174] (3) Until the computation task is completed, the node that has completed the computation will send the result to the master node. The master node will process the result as possible and then send it to the first network device or directly to the requester.

[0175] This content can be combined Figure 5 To understand, Figure 5 This is a schematic diagram illustrating the time-sharing, serial execution of the entire task across multiple computing nodes in the multi-node collaborative computing method of this application embodiment.

[0176] During the execution of the computation task, the first network device and / or the master node statistically analyzes and calculates the computation time to predict the task completion time. If there is a risk that the task cannot be completed on time, the nodes that will execute the task at future times are instructed to update the expected computation completion time and / or the task interruption point. The target node then adjusts its own resource scheduling according to the needs to ensure that the computation task is executed according to the new instructions.

[0177] 2.2 Scenario 2: If the computing power of each computing node does not meet the requirements of the computing task, possible task partitioning strategies can be adopted to execute the computing task.

[0178] (1) If the first network device knows how to partition, then partition the task according to the node's computing power;

[0179] (2) Otherwise,

[0180] 1) The first network device sends a task splitting request to the consumer.

[0181] 2) The consumer reports possible partitioning modes (e.g., 1:1, 1:1:1, 1:2:1, ...), the data transmission volume of each partitioning mode, and the dependencies between tasks (because after partitioning, each part needs to interact with data, and the interaction time needs to be included in QoS monitoring).

[0182] 3) The first network device matches the possible patterns reported by the consumer with the computing power of the computing nodes. The computing power required for the calculation should not exceed the computing power that the nodes can provide. Finally, the task partitioning pattern is determined and sent to the consumer.

[0183] 4) The Consumer sends the subtasks (or different parts of the task) corresponding to the segmentation mode to the first network device, which then dispatches the task.

[0184] (3) The division of computational tasks can be divided into the following three cases:

[0185] 1) It can be divided into relatively independent subtasks that can be executed independently, such as background and foreground rendering in VR videos. In this case, each subtask is executed in parallel on different computing nodes. Finally, the results are sent to the consumer.

[0186] This content can be combined Figure 6 To understand, Figure 6 This is a schematic diagram illustrating how a single computing task is divided into multiple independent computing tasks and executed in parallel in the multi-node collaborative computing method of this application embodiment.

[0187] 2) The task is divided into different, strongly related parts that cannot be executed independently or in parallel, such as the background rendering task in VR videos, which involves different steps with dependencies. In this case, each part of the task is executed on a different computing node, and the task parts of later steps depend on the execution results of previous steps. Finally, the master node performs the final processing and sends the result to the consumer.

[0188] This content can be combined Figure 7 To understand, Figure 7 This is a schematic diagram illustrating how a single computation task is divided into two interconnected parts in the multi-node collaborative computation method of this application embodiment.

[0189] 3) The above two hybrid methods have both subtasks that can run independently in parallel and different parts that have sequential constraints.

[0190] III. Task Assignment for the First Network Device:

[0191] The first network device distributes computing tasks to each participating node according to the collaboration strategy. When distributing tasks, the task starts with a timestamp, computing time requirements, computing accuracy requirements, information on preceding and following nodes, and the task execution file.

[0192] For multiple nodes to collaborate on a computational task, a time synchronization mechanism is needed to achieve precise time synchronization, such as Global Positioning System (GPS) synchronization, 1588 clock synchronization, and Picture Transfer Protocol (PTP).

[0193] The scheduling of different parts of the computing task and computing nodes is completed by the first network device and / or the master node.

[0194] Example 1: The Service Management and Orchestration System (SMO) acts as the first network device, base stations act as demanders, and other base stations act as compute nodes. This content can be combined with... Figure 8To understand, Figure 8 This is a schematic diagram illustrating an application scenario of the multi-node collaborative computing method according to an embodiment of this application.

[0195] For the Open-Radio Access Network (O-RAN) architecture, the SMO (System-Organizational Management) adds a computing resource management and orchestration function. Base stations pre-register their computing power with the SMO. Base stations requiring offloading computing tasks send a computing offload request to the SMO. The SMO generates a computing cooperation policy and sends the computing tasks to the base station. The entire process is the same as above, requiring corresponding enhancements to the O1 and Xn interfaces to support the computing offload and cooperative computing processes.

[0196] Example 2: The core network acts as the first network device, the UE as the demand side, and the base station as the computing node. This content can be combined with... Figure 9 To understand, Figure 9 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application.

[0197] This embodiment is designed for the 3rd Generation Partnership Project (3GPP) architecture. The core network adds a new general computing resource management function, and base stations support computing power sharing and have pre-registered their computing power with the core network through the enhanced NG interface. UEs requiring computing task offloading initiate a computing offloading request to the core network through the enhanced air interface. The core network, based on the registered base station computing power, generates a computing cooperation strategy and sends the computing task to the base station. To support the above computing offloading and collaborative computing process, corresponding enhanced NG interfaces (supporting base station computing power registration and computing task interaction), Non-Access-Stratum (NAS) layer protocols (supporting interaction between the UE and the core network for computing offloading tasks), and air interface protocols (supporting computing-related data interaction) are required.

[0198] Example 3: Near-RT RIC acts as the first network device, base stations act as demanders, and other base stations act as computing nodes. This content can be combined with... Figure 10 To understand, Figure 10 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application.

[0199] For the O-RAN architecture, Near-RT RIC adds a computing resource management and orchestration function. Base stations pre-register their computing power with the RIC. Base stations with computing task offloading needs send computing offloading requests to the RIC. The RIC generates a computing cooperation policy and sends computing tasks to the base station. The entire process is the same as above, requiring corresponding enhancements to the E2 and Xn interfaces to support computing offloading and cooperative computing processes.

[0200] Example 4: The primary base station (control base station) acts as the first network device, the secondary base station acts as a computing node, and other base stations act as demanders. This content can be combined with... Figure 11 To understand, Figure 11 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application.

[0201] The base stations are divided into primary base stations (with base station cluster management capabilities) and secondary base stations. The primary base station adds general computing resource management and orchestration functions, and the secondary base stations pre-register their computing power with the primary base station. Base stations with computing task offloading needs send computing offloading requests to the primary base station. The primary base station generates a computing cooperation policy and sends computing tasks to the secondary base stations. The entire process is the same as above, requiring corresponding enhancements to the Xn interface to support computing power registration, computing offloading, and collaborative computing processes.

[0202] Example 5: The primary base station (control base station) acts as the first network device, the secondary base station acts as the computing node, and the UE acts as the demand side. This content can be combined with... Figure 12 To understand, Figure 12 This is a schematic diagram illustrating another application scenario of the multi-node collaborative computing method according to the embodiments of this application.

[0203] The base station is divided into a primary base station (with base station cluster management capabilities) and secondary base stations. The primary base station adds computing resource management and orchestration functions, and the secondary base stations pre-register computing power with the primary base station. UEs with computing task offloading needs send computing offloading requests to the primary base station. The primary base station generates a computing cooperation policy and sends computing tasks to the secondary base stations. The entire process is the same as above, requiring corresponding enhancements to the Xn and uu interfaces to support computing power registration, computing offloading, and collaborative computing processes.

[0204] This application proposes a multi-node collaborative computing method applied to a first network device. It performs demand analysis on the computing offloading task. When the computing power of a single node cannot meet the demand, the computing task can be "split" according to the computing power of the nodes and assigned to multiple nodes for collaborative computing to complete the computing task together.

[0205] This application proposes two methods for splitting computational tasks and for collaborative computation among multiple nodes: time-sharing and task partitioning. Time-sharing involves multiple nodes processing tasks sequentially across time slices. Task partitioning is further divided into three types: one is dividing tasks into independent task slices, which can be computed in parallel by multiple nodes; another is dividing tasks into task slices with temporal dependencies, which are processed by different nodes in chronological order; and the third is a combination of the first two, which includes both independent parallel task slices and time-dependent task slices.

[0206] This application proposes a method for representing task splitting patterns, as well as information that needs to be saved and transmitted during task splitting and execution, message interaction flow for computation task collaboration, and possible interface messages for computation task unloading requests.

[0207] Compared with existing technologies, this application proposal solves the problem of the inability to provide computing services due to the mismatch between the computing power of a single wireless base station and the computing task requirements by using collaborative computing among multiple nodes.

[0208] To implement the method of this application embodiment, this application embodiment also provides a multi-node collaborative computing apparatus 1300, which is installed on a network device. Figure 13 This is a schematic diagram of a multi-node collaborative computing device according to an embodiment of this application; as shown Figure 13 As shown, it includes:

[0209] The receiving unit 1301 is configured to receive a first request for a task to be computed sent by the first node; the first request is used to unload the task to be computed; the first request includes information related to the task to be computed.

[0210] The generation unit 1302 is used to generate a collaborative strategy based on the first request and the computing power information of the multiple second nodes, which divides the task to be computed into different time periods and / or different task slices for each of the two nodes to compute; the collaborative strategy is used by the multiple second nodes to execute the task to be computed.

[0211] Here, in one embodiment, the device 1300 further includes a determination unit; wherein,

[0212] The judgment unit is used to determine whether there is any single second node whose computing power information satisfies the first request among the computing power information of the plurality of second nodes; when there is no single second node whose computing power information satisfies the first request among the computing power information of the plurality of second nodes, it determines whether the first request carries task segmentation indication information of the task to be computed.

[0213] The generation unit 1302 is further configured to, when carrying task segmentation indication information of the task to be computed in the first request, generate a collaborative strategy based on the first request and the computing power information of multiple second nodes to compute the task to be computed in different time periods and / or in different task slices on each of the two nodes.

[0214] In one embodiment, the information relating to the task to be computed includes one or more of the following:

[0215] The description information of the task to be computed;

[0216] The computing power requirements of the task to be computed;

[0217] The Quality of Service (QoS) requirements of the task to be computed;

[0218] The task segmentation indication information of the task to be calculated;

[0219] The task segmentation description information of the task to be calculated;

[0220] The computation identifier of the task to be computed;

[0221] The computation file and / or access address information of the task to be computed.

[0222] In one embodiment, the computing power information includes one or more of the following:

[0223] Computing power type;

[0224] Computing power;

[0225] End-to-end delay;

[0226] Available computing power time.

[0227] Here, in one embodiment, when the information related to the task to be computed includes the computing power requirement information of the task to be computed and the computing power information includes computing power size and computing power available time, the judgment unit is further configured to determine whether the computing power size and computing power available time of each second node meet the computing power requirement information;

[0228] The generation unit 1302 is further configured to generate a collaborative strategy based on the first request and the computing power information of multiple second nodes, which divides the task to be computed into different time periods on each of the two nodes, when the computing power of each second node meets the computing power requirement information but the available computing power time of each second node does not meet the computing power requirement information.

[0229] In one embodiment, the generation unit 1302 is further configured to sort the available computing power time of each second node by time to obtain a sorting result; based on the sorting result and the computing power requirement information of the task to be computed, determine the preceding and following node information, computing task information, computing duration, and round-robin computing count of the master node and at least one slave node among the plurality of second nodes; the master node is at least configured to start the execution of the task to be computed and receive the computing result of the slave node after the computing is completed; the slave node is at least configured to receive the interruption information and variable information of the task to be computed sent by the previous node, and continue to execute the task to be computed based on the interruption information and the variable information; based on the preceding and following node information, the computing task information, the computing duration, and the round-robin computing count, determine that the master node executes the task to be computed in a first time period and the slave node executes the task to be computed in a second time period; the first time period is any time period among the different time periods; the second time period is any time period among the different time periods other than the first time period; the strategy of assigning the task to be computed to the master node to execute in the first time period and the slave node to execute in the second time period is the cooperation strategy.

[0230] Here, in one embodiment, when the information related to the task to be computed includes the computing power requirement information of the task to be computed and the computing power information includes the computing power size, the judgment unit is further configured to determine whether the computing power size of each second node meets the computing power requirement information.

[0231] The generation unit 1302 is further configured to generate a collaborative strategy based on the first request and the computing power information of multiple second nodes to divide the task to be computed into different task slices and compute them on each of the two nodes when the computing power of each second node does not meet the computing power requirement information.

[0232] Here, in one embodiment, the generation unit 1302 is further configured to determine the sharding processing method of the task to be computed based on the first request; determine, according to the sharding processing method of the task to be computed and the computing power information of the plurality of second nodes, to divide the task to be computed into a first task shard and / or a second task shard; the first task shard represents the part of the computing tasks in the task to be computed that are not related to each other; the second task shard represents the part of the computing tasks in the task to be computed that are related to each other; and the strategy of assigning the first task shard and / or the second task shard to the plurality of second nodes for execution is used as the cooperation strategy.

[0233] Here, in one embodiment, when the information related to the task to be computed includes task segmentation indication information and / or task segmentation description information of the task to be computed, the generation unit 1302 is further configured to determine whether there are interrelated partial computing tasks in the task to be computed based on the task segmentation indication information and / or the task segmentation description information, and obtain a judgment result; and determine the segmentation processing method of the task to be computed based on the judgment result.

[0234] In one embodiment, the fragmentation process includes one or more of the following:

[0235] The task to be computed is divided into multiple independent first task slices; the multiple first task slices are executed in parallel on the multiple second nodes;

[0236] The task to be computed is divided into a second task slice with a temporal dependency.

[0237] It should be noted that the multi-node collaborative computing apparatus provided in the above embodiments is only illustrated by the division of the above-described program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the apparatus can be divided into different program modules to complete all or part of the processing described above. Furthermore, the multi-node collaborative computing apparatus and the multi-node collaborative computing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0238] Based on the hardware implementation of the above program modules, this application embodiment also provides a device for multi-node collaborative computing, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor executes the program, it implements the steps in the multi-node collaborative computing method provided in the above embodiment.

[0239] Correspondingly, this application provides a computer program product, which, when executed by a processor, implements the steps in the multi-node collaborative computing method provided in the above embodiments.

[0240] Correspondingly, embodiments of this application provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps in the multi-node collaborative computing method provided in the above embodiments.

[0241] It should be noted that the descriptions of the storage medium and device embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0242] It should be noted that, Figure 14 This is a schematic diagram of a hardware entity structure of a multi-node collaborative computing device in an embodiment of this application, such as... Figure 14 As shown, the hardware entity of the multi-node collaborative computing device 1400 includes a processor 1401 and a memory 1403. Optionally, the multi-node collaborative computing device 1400 may also include a communication interface 1402.

[0243] It is understood that memory 1403 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 1403 described in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0244] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1401. The processor 1401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 1401 or by instructions in the form of software. The processor 1401 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 1401 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the memory 1403. The processor 1401 reads the information in the memory 1403 and completes the steps of the aforementioned method in conjunction with its hardware.

[0245] In an exemplary embodiment, the device may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.

[0246] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely descriptive and do not represent the superiority or inferiority of the embodiments.

[0247] It should be noted that, in this application, 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. Without further limitation, 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.

[0248] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0249] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0250] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.

[0251] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method of multi-node cooperative computing, the method comprising: The application is applied to a network device, comprising: receiving a first request of a to-be-computed task sent by a first node; the first request is used for offloading the to-be-computed task; the first request comprises information related to the to-be-computed task; generating a cooperation strategy for computing the to-be-computed task in different time periods and / or different task pieces in each second node based on the first request and the computing power information of a plurality of second nodes; the cooperation strategy is used for the plurality of second nodes to execute the to-be-computed task.

2. The method of claim 1, wherein, The method further comprises: judging whether the computing power information of a single second node in the computing power information of the plurality of second nodes meets the first request; when the computing power information of a single second node does not exist in the computing power information of the plurality of second nodes, judging whether the task segmentation indication information of the to-be-computed task is carried in the first request; when the task segmentation indication information of the to-be-computed task is carried in the first request, generating the cooperation strategy for computing the to-be-computed task in different time periods and / or different task pieces in each second node based on the first request and the computing power information of a plurality of second nodes.

3. The method of claim 1, wherein, The information related to the to-be-computed task comprises one or more of the following: description information of the to-be-computed task; computing power requirement information of the to-be-computed task; quality of service (QoS) requirement information of the to-be-computed task; task segmentation indication information of the to-be-computed task; task segmentation description information of the to-be-computed task; computing identity of the to-be-computed task; computing file and / or access address information of the to-be-computed task.

4. The method of claim 1, wherein, The computing power information comprises one or more of the following: computing power type; computing power size; end-to-end delay; computing power available time.

5. The method according to any one of claims 1 to 4, characterized in that, When the information related to the to-be-computed task comprises the computing power requirement information of the to-be-computed task and the computing power information comprises the computing power size and the computing power available time, the method further comprises: judging whether the computing power size and the computing power available time of each second node meet the computing power requirement information; when the computing power size of each second node meets the computing power requirement information but the computing power available time of each second node does not meet the computing power requirement information, generating the cooperation strategy for computing the to-be-computed task in different time periods in each second node based on the first request and the computing power information of a plurality of second nodes.

6. The method of claim 5, wherein, The generating of the cooperation strategy for computing the to-be-computed task in different time periods in each second node based on the first request and the computing power information of a plurality of second nodes comprises: time sorting the computing power available time of each second node to obtain a sorting result; determine, based on the sorting result and the computing power requirement information of the to-be-computed task, front and back node information, computing task information, computing duration, and round-robin computing number of a master node and at least one slave node in the plurality of second nodes; the master node is at least used to start execution of the to-be-computed task and receive a computing result of the slave node that ends computing; and the slave node is at least used to receive interrupt information and variable information of the to-be-computed task sent by a previous node, and continue to execute the to-be-computed task based on the interrupt information and the variable information; determine, based on the front and back node information, the computing task information, the computing duration, and the round-robin computing number, that the master node executes the to-be-computed task in a first time period and the slave node executes the to-be-computed task in a second time period; the first time period is any one of the different time periods; and the second time period is any one of the different time periods other than the first time period; use a strategy of assigning the to-be-computed task to the master node for execution in the first time period and to the slave node for execution in the second time period as the cooperation strategy.

7. The method according to any one of claims 1 to 4, characterized in that, In a case where the information related to the to-be-computed task includes computing power requirement information of the to-be-computed task and the computing power information includes computing power size, the method further includes: determining whether the computing power size of each second node meets the computing power requirement information; in a case where the computing power size of each second node does not meet the computing power requirement information, generating, based on the first request and the computing power information of the plurality of second nodes, a cooperation strategy of computing different task pieces of the to-be-computed task in each second node.

8. The method of claim 7, wherein, The generating, based on the first request and the computing power information of the plurality of second nodes, of the cooperation strategy of computing different task pieces of the to-be-computed task in each second node includes: determining, based on the first request, a fragmentation processing manner of the to-be-computed task; determining, according to the fragmentation processing manner of the to-be-computed task and the computing power information of the plurality of second nodes, that the to-be-computed task is divided into a first task piece and / or a second task piece; the first task piece represents part of the computing task in the to-be-computed task that does not have mutual correlation; and the second task piece represents part of the computing task in the to-be-computed task that has mutual correlation; using a strategy of assigning the first task piece and / or the second task piece to the plurality of second nodes for execution as the cooperation strategy.

9. The method of claim 8, wherein, In a case where the information related to the to-be-computed task includes task segmentation indication information and / or task segmentation description information of the to-be-computed task, the determining, based on the first request, of the fragmentation processing manner of the to-be-computed task includes: determining, based on the task segmentation indication information and / or the task segmentation description information, whether part of the computing task in the to-be-computed task has mutual correlation, to obtain a determination result; determining, according to the determination result, the fragmentation processing manner of the to-be-computed task.

10. The method of claim 9, wherein, The fragmentation processing manner includes one or more of the following: The to-be-computed task is divided into independent multiple first task pieces; the multiple first task pieces are executed in parallel on the multiple second nodes; The to-be-computed task is divided into the second task pieces with time sequence dependency.

11. An apparatus for multi-node cooperative computing, the apparatus comprising: Be arranged on network equipment, include: The receiving unit is used for receiving the first request of the to-be-computed task sent by the first node;The first request is used to unload the to-be-computed task;The first request includes information related to the to-be-computed task; The generating unit is used for generating the cooperation strategy of dividing the to-be-computed task into different time periods and / or different task pieces on each second node based on the first request and the computing power information of multiple second nodes;The cooperation strategy is used for the multiple second nodes to execute the to-be-computed task.

12. An apparatus for multi-node cooperative computing, the apparatus comprising: Include: Memory, for storing executable instructions; The processor is used for executing the executable instructions stored in the memory, and the method for multi-node cooperation calculation in any one of claims 1 to 10 is realized.

13. A computer program product comprising a computer program, characterized in that, The computer program realizes the method for multi-node cooperation calculation in any one of claims 1 to 10 when executed by the processor.

14. A computer-readable storage medium, characterized in that, Executable instructions are stored for being executed by the processor, and the method for multi-node cooperation calculation in any one of claims 1 to 10 is realized.