Method, device and equipment for computing service application
The network computing capacity information is obtained through the terminal and whether to initiate a computing service request is solved, which solves the problem that the network and computing cannot be unified in the prior art, and realizes the computing service interaction between the terminal and the network side.
Patent Information
- Application Number
- CN202311405702.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-26
- Publication Date
- 2025-04-29
AI Technical Summary
The prior art cannot realize the unity of the network and computing on the control surface, resulting in the inability to directly interact with the terminal for control signaling, thereby providing computing services.
The terminal obtains network computing capacity information from the network side, and decides whether to initiate a computing service request to the network side based on the local and network maximum computing capacity, thereby realizing the interaction between the terminal and the network side.
The interaction between the terminal for computing service and the network side is realized, so that the network side can provide computing services according to computing service requests.
Smart Images

Figure CN119907043A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to computing technology in the field of wireless networks, and in particular to a method, device and equipment for applying for computing services. Background Art
[0002] At present, when the industry talks about general computing integration, there are generally two forms: external computing resources and endogenous computing resources. Among them, external computing resources, such as edge computing, the communication resources of network nodes and the computing resources of computing nodes are jointly optimized through management plane functions. Endogenous computing resources use the endogenous computing resources of the network. Network nodes not only have control and forwarding capabilities, but also have computing capabilities.
[0003] Current technologies all use external computing resource solutions, mainly edge computing and bearer network computing collaboration. However, neither of the above two solutions can achieve the unification of network and computing on the control plane, so it is impossible to directly interact with the terminal through control signaling to provide computing services. Summary of the invention
[0004] To solve the above technical problems, the embodiments of the present application provide a method and apparatus for applying for a computing service, a terminal, a network device, a chip, and a computer-readable storage medium.
[0005] The method for applying for computing services provided in the embodiment of the present application includes:
[0006] The terminal obtains network computing capacity information from the network side;
[0007] The terminal determines whether to initiate a computing service request to the network side according to the network computing capacity information; if so, the terminal initiates a computing service request to the network side.
[0008] The method for applying for computing services provided in the embodiment of the present application includes:
[0009] The network side sends network computing capacity information to the terminal, and the network computing capacity information is used by the terminal to decide whether to initiate a computing service request to the network side.
[0010] The computing service application device provided in the embodiment of the present application is applied to a terminal, and the device includes:
[0011] An acquisition unit, used for acquiring network computing capacity information from a network side;
[0012] A decision unit, configured to decide whether to initiate a computing service request to the network side according to the network computing capacity information;
[0013] The initiating unit is used to initiate a computing service request to the network side if it is decided to initiate a computing service request to the network side.
[0014] The computing service application device provided in the embodiment of the present application is applied to the network side, and the device includes:
[0015] The sending unit is used to send network computing capacity information to the terminal, and the network computing capacity information is used by the terminal to decide whether to initiate a computing service request to the network side.
[0016] The terminal provided in the embodiment of the present application includes: a processor and a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute any one of the above methods.
[0017] The network device provided in the embodiment of the present application includes: a processor and a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute any one of the above methods.
[0018] The chip provided in the embodiment of the present application includes: a processor, which is used to call and run a computer program from a memory, so that a device equipped with the chip executes any one of the above methods.
[0019] The computer-readable storage medium provided in the embodiments of the present application is used to store a computer program, and the computer program enables a computer to execute any one of the above methods.
[0020] According to the technical solution of the embodiment of the present application, the terminal obtains network computing capacity information from the network side, and decides whether to initiate a computing service request to the network side based on the network computing capacity information. If so, the terminal initiates a computing service request to the network side. In this way, the interaction between the terminal and the network side for computing services is realized, so that the network side can provide computing services based on the computing service request. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is a schematic diagram of an application scenario of an embodiment of the present application;
[0022] Figure 2 is a schematic diagram of relevant network elements and functional modules of an embodiment of the present application;
[0023] Figure 3 It is a flowchart of a method for applying for a computing service according to an embodiment of the present application;
[0024] Figure 4 It is a schematic diagram of network computing capacity information application and feedback in an embodiment of the present application;
[0025] Figure 5 is a schematic diagram of a computing operation arrangement diagram of an embodiment of the present application;
[0026] Figure 6 It is a schematic diagram of a process of generating a computing operation arrangement diagram according to an embodiment of the present application;
[0027] Figure 7 is a schematic diagram of a computing topology diagram of an embodiment of the present application;
[0028] Figure 8 is a schematic diagram of simplifying a computing operation partition diagram according to an embodiment of the present application;
[0029] Fig. 9 is a flowchart of a service request in an embodiment of the present application;
[0030] Fig.10 It is a schematic diagram of node information and edge information of the computing operation type Embedding in an embodiment of the present application;
[0031] Fig.11 is a schematic diagram of all node objects and edge objects generated after decomposing the transformer calculation operation in an embodiment of the present application;
[0032] Fig.12 It is a connection relationship diagram constructed for the computing operation orchestration graph object Transformer_Graph in an embodiment of the present application;
[0033] Fig.13 It is a schematic diagram of the computing operation orchestration graph Transformer_Graph finally formed in the embodiment of the present application;
[0034] Fig.14 This is a schematic diagram of the computing operation segmentation of the embodiment of the present application. Figure 1 ;
[0035] Fig.15 This is a schematic diagram of the computing operation segmentation of the embodiment of the present application. Figure 2 ;
[0036] Fig.16 This is a schematic diagram of the computing operation segmentation of the embodiment of the present application. Figure 3 ;
[0037] Fig.17 This is a schematic diagram of the structure of the computing service application device of the embodiment of the present application. Figure 1 ;
[0038] Fig.18 This is a schematic diagram of the structure of the computing service application device of the embodiment of the present application. Figure 2 ;
[0039] Fig.19 is a schematic structural diagram of a communication device according to an embodiment of the present application;
[0040] Fig. 20 It is a schematic structural diagram of the chip of an embodiment of the present application. DETAILED DESCRIPTION
[0041] The following will describe the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0042] Figure 1 It is a schematic diagram of an application scenario of an embodiment of the present application.
[0043] like Figure 1 As shown, the communication system 100 may include a terminal 110 and a network device 120. The network device 120 may communicate with the terminal 110 via an air interface.
[0044] It should be understood that the embodiments of the present application are only exemplified by the communication system 100, but the embodiments of the present application are not limited thereto. That is to say, the technical solutions of the embodiments of the present application can be applied to various communication systems, such as: 5G communication system (also known as New Radio (NR) communication system), or 6G communication system, or future evolved communication system, etc.
[0045] exist Figure 1 In the communication system 100 shown, the network device 120 may be an access network device that communicates with the terminal 110. The access network device may provide communication coverage for a specific geographical area, and may communicate with the terminal 110 (e.g., UE) located in the coverage area. For example, the network device 120 may be a base station in a 5G communication system or a 6G communication system or a future evolved communication system.
[0046] exist Figure 1In the communication system 100 shown, the terminal 110 can be any terminal. For example, the terminal 110 can refer to an access terminal, a user equipment (UE), a user unit, a user station, a mobile station, a mobile station, a mobile terminal, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent or a user device. The access terminal can be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, an IoT device, a satellite handheld terminal, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), a handheld device with wireless communication function, a computing device or other processing device connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal in a 5G network or a terminal in a future evolution network, etc.
[0047] The wireless communication system 100 may also include a core network device 130 for communicating with the base station. The core network device 130 may be a 5G core network (5G Core, 5GC) device or a 6G core network device or a core network device of future evolution, etc. Taking the 5G core network device as an example, it includes an access and mobility management function (Access and Mobility Management Function, AMF), a user plane function (User Plane Function, UPF), a session management function (Session Management Function, SMF), an authentication server function (Authentication Server Function, AUSF), etc. In the process of network evolution, the above-mentioned core network device may also be called other names, or new network functions may be formed by dividing the functions of the core network, which is not limited in the embodiments of the present application.
[0048] Each functional unit in the communication system 100 can establish a connection through a network interface to achieve communication. Taking the 5G communication system as an example, the terminal establishes an air interface connection with the access network device through the NR interface for transmitting user plane data and control plane signaling; the terminal can establish a control plane signaling connection with the AMF through the NG interface 1 (referred to as N1); the access network device, such as gNB, can establish a user plane data connection with the UPF through the NG interface 3 (referred to as N3); the access network device can establish a control plane signaling connection with the AMF through the NG interface 2 (referred to as N2); the UPF can establish a control plane signaling connection with the SMF through the NG interface 4 (referred to as N4); the UPF can exchange user plane data with the data network through the NG interface 6 (referred to as N6); the AMF can establish a control plane signaling connection with the SMF through the NG interface 11 (referred to as N11); the SMF can establish a control plane signaling connection with the PCF through the NG interface 7 (referred to as N7).
[0049] Figure 1 A base station, a core network device and two terminals are shown exemplarily. Optionally, the wireless communication system 100 may include multiple base station devices and each base station may include another number of terminals within its coverage area, which is not limited in the embodiments of the present application.
[0050] It should be noted that Figure 1 It is only to illustrate the system to which the present application is applicable in the form of an example. Of course, the method shown in the embodiment of the present application can also be applied to other systems. In addition, the terms "system" and "network" are often used interchangeably in this article. The term "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship. It should also be understood that the "indication" mentioned in the embodiment of the present application can be a direct indication, an indirect indication, or an indication of an association relationship. For example, A indicates B, which can mean that A directly indicates B, for example, B can be obtained through A; it can also mean that A indirectly indicates B, for example, A indicates C, B can be obtained through C; it can also mean that there is an association relationship between A and B. It should also be understood that the "correspondence" mentioned in the embodiment of the present application can mean that there is a direct or indirect correspondence relationship between the two, or it can mean that there is an association relationship between the two, or it can mean that there is an indication and being indicated, configuration and being configured, etc. It should also be understood that in the embodiments of the present application, the "protocol" may refer to a standard protocol in the communication field, for example, it may include the NR protocol and related protocols used in future communication systems, and the present application does not limit this.
[0051] To facilitate understanding of the technical solutions of the embodiments of the present application, the relevant technologies of the embodiments of the present application are described below.
[0052] In mobile communication networks, how to provide users with computing services and guarantees with lower latency and jitter and higher overall efficiency based on the efficient collaboration of communication and distributed computing resources is a problem to be solved; an important technical idea is the integration and collaboration of communication and computing in the control plane. That is, under the premise that computing resources are built into network devices, how to design the control plane signaling process for computing services so that end-side users can know the computing service capabilities of the network anytime and anywhere, apply for and use computing services from the network, and obtain service quality guarantees in dynamic and complex wireless network environments and during mobility.
[0053] Generally, there are two forms of computing fusion: external computing resources and internal computing resources. The current technical solutions all adopt external computing resource solutions, mainly edge computing and bearer network computing collaboration solutions.
[0054] Edge computing is introduced as follows: Edge computing / Mobile Edge Computing (EC / MEC) provides computing services at the edge of the network closer to the user in a distributed manner, so as to provide lower latency while reducing the consumption of network resources, so as to better serve some industry applications, such as video acceleration, network autonomous driving, augmented reality / virtual reality (AR / VR) and other low-latency and high-bandwidth scenarios, as well as network applications including non-real-time wireless protocol processing and network optimization. However, edge computing has the following disadvantages: EC / MEC is only physically deployed in the communication network, but logically computing and communication have independent management and control systems; EC / MEC application deployment is to achieve joint optimization of communication resources and computing resources through the management plane, and there are certain defects in dynamicity, making it difficult to achieve the unification of network and computing on the control plane, so as to respond to user movement and network changes in a timely manner.
[0055] The introduction of bearer network interoperability is as follows: the routing layer introduces an interoperability fusion mechanism, and realizes the diffusion and synchronization of computing and network performance information through the control signaling of IP layer protocols such as Border Gateway Protocol (BGP), Interior Gateway Protocol (IGP) or Segment Routing IPv6 (SRv6). Therefore, the routing layer can combine the current computing power status, application performance and network status to route computing task messages to the corresponding computing nodes, thereby realizing the global optimization of connection and computing resources in the network. However, the interoperability of the bearer network has the following disadvantages: since the bearer network is the basic network that provides connection for the Radio Access Network (RAN) and the Core Network (CN), it works at different protocol levels from the service network and cannot directly perceive users and sessions, provide user access control, adapt to the wireless dynamic channel environment, and user mobility management.
[0056] In summary, whether it is edge computing or bearer network computing collaboration, it is impossible to achieve the unification of network and computing on the control plane, so it is impossible to directly interact with the terminal through control signaling to provide computing services. To this end, the following technical solutions of the embodiments of the present application are proposed.
[0057] The technical solution of the embodiment of the present application is designed for the control plane signaling process of computing services, and proposes a solution in which the terminal decides whether to initiate a computing service request to the network side based on the local and network maximum computing capacity. The solution mainly includes the following three parts: 1) The terminal obtains network computing capacity information from the network side (this information is related to the network's maximum computing capacity); 2) The terminal decides whether to initiate a computing service request to the network side in the serving cell based on the local and network maximum computing capacity; 3) If it is decided to initiate a computing service request, the terminal initiates a computing service request to the network side in the serving cell. The network elements and functional modules involved in this solution are as follows: Figure 2As shown, the UE communicates with the distributed unit (DU) on the RAN side through the Uu interface; on the RAN side, the DU communicates with the centralized unit (CU) through the F1 interface; the CU communicates with the UPF through the N3 interface; the UPF communicates with the MEC host (MEC Host) through the N6 interface, and the MEC host provides the MEC system (MEC System). On the UE side, there are a Radio Resource Control (RRC) module, a Cmpt Task Scheduler module, a Cmpt Operation Orthestrate module, and a Cmpt Operation Split module. On the CU side, there are an RRC module and a CRM_CU module.
[0058] Figure 3 is a flowchart of a method for applying for a computing service provided in an embodiment of the present application, such as Figure 3 As shown, the method comprises the following steps:
[0059] Step 301: The terminal obtains network computing capacity information from the network side.
[0060] Here, the terminal requests the network side to obtain network computing capacity information, and the specific process includes: 1) the network side sends a first system message to the terminal, and the terminal receives the first system message sent by the network side, and the first system message carries an indication of whether the service cell supports computing services; 2) the terminal determines whether the service cell supports computing services according to the indication in the first system message; if supported, the terminal sends a network computing capacity information application to the network side, and the network side receives the network computing capacity information application sent by the terminal; 3) the network side sends network computing capacity information to the terminal, and the terminal receives the network computing capacity information sent by the network side. The network computing capacity information is used by the terminal to decide whether to initiate a computing service request to the network side.
[0061] In some implementations, the first system message is a system information block (SIB) 1.
[0062] In some implementations, the network computing capacity information includes at least one of the following information of the serving cell: maximum computing capacity statistical level, maximum computing capacity total amount, and maximum computing capacity topology information.
[0063] Reference Figure 4, the RRC module on the network side (specifically CU) carries an indication of whether the serving cell supports computing services in SIB1; after receiving SIB1, the RRC module of the terminal learns whether the serving cell supports computing services according to the indication therein; if supported, the RRC module of the terminal can initiate a network computing capacity application to the network side to request network computing capacity information; after receiving the network computing capacity application, the RRC module on the network side feeds back the network computing capacity information to the UE.
[0064] About SIB: SIB1 carries an indication of whether the serving cell supports computing services. Optionally, it may also include specific service types supported, such as non-artificial intelligence (AI) computing services, AI model training services, AI model reasoning services, etc. The field used to carry the above information can be the public service cell configuration (servingCellConfigCommon) field or a newly added field. The above information is obtained by the RRC module in the CU requesting the CRM_CU module. It can be fixed or it can trigger the RRC module to update the above information when the calculation result in the CRM_CU module changes.
[0065] Regarding the application for network computing capacity information: the terminal applies to the network side for the maximum network computing capacity that can be used in this cell (i.e., the current serving cell). The application content may include the maximum computing capacity statistical level that can be used in this cell, the maximum computing capacity total amount, the maximum computing capacity topology information, or any combination of the above three. The triggering condition for the application may be that the terminal is initiated immediately after obtaining SIB1, or when the terminal has a computing task, or when the terminal has a computing task and it is assessed that the network needs to assist in the calculation. Optionally, if the terminal applies for the maximum computing capacity total amount or the maximum computing capacity topology, and the terminal supports the computing task, the above application may also include an indication that the terminal supports the calculation.
[0066] Regarding the feedback of network computing capacity information: After the network side receives the network computing capacity information application from the terminal, it will feedback the various information requested by the terminal (collectively referred to as network computing capacity information). The feedback content may include the maximum computing capacity statistical level that can be used in this cell, the maximum computing capacity total amount, the maximum computing capacity topology information, or any combination of the above three. Optionally, if the terminal applies for the maximum computing capacity total amount or the maximum computing capacity topology, and the terminal supports the computing task, the maximum bit rate (Maximum Bit Rate, MBR) of the user's air interface uplink and downlink must also be included. The above information is obtained by the RRC module in the CU requesting the CRM_CU module. It can be fixed after a one-time acquisition, or it can be triggered when the calculation result in the CRM_CU module changes, The RRC module updates the above information.
[0067] The network computing capacity information application and network computing capacity information feedback can be based on existing processes or new processes, and different processes can be implemented in different scenarios. The technical solution of the embodiment of this application is to clarify the message content in the process. The following are several possible process solutions:
[0068] 1) Add a new RRC signaling process to implement network computing capacity information application and network computing capacity information feedback.
[0069] For example: the newly added RRC signaling process is: the terminal sends a network computing capacity request (Network Computing Capacity Request) to the network side, and the network computing capacity request carries the above-mentioned network computing capacity information application; the network side returns a network computing capacity response (Network Computing Capacity Response) to the terminal, and the network computing capacity response carries the above-mentioned network computing capacity information.
[0070] 2) Use existing processes to implement network computing capacity information application and network computing capacity information feedback.
[0071] For example, the existing process is a request for on demand system information process, which may have the following options:
[0072] 2.1) The terminal sends a network computing capacity information application through an RRC system information request (RRCSystemInfoRequest). The maximum computing capacity statistical level, the maximum computing capacity total amount, and the maximum computing capacity topology information in the application content can be included in one or more new SIBs other than SIB1, and these SIBs are mapped to one or more system information (SystemInformation, SI). Based on this, the terminal adds one or more SIs containing the above application content to the requested SI list (requested-SI-List) in the RRC system information request. Accordingly, the network side implements network computing capacity information feedback by including the above application content in the corresponding one or more SIs.
[0073] 2.2) The terminal sends a network computing capacity information application using a random access request. The maximum computing capacity statistical level, the maximum computing capacity total, and the maximum computing capacity topology information in the application content can be included in one or more SIBs other than SIB1, and these SIBs are mapped to one or more SIs. Based on this, the terminal uses the physical random access channel preamble (PRACH preamble(s)) and PRACH resources configured for the required one or more SIs in the SI request configuration (si-RequestConfig) to send a random access request. Accordingly, the network side implements network computing capacity information feedback by including the above application content in the corresponding one or more SIs.
[0074] 2.3) When the terminal is in the RRC connection (RRC_CONNECTED) state, a dedicated SIB request (DedicatedSIBRequest) message is used to send a network computing capacity information application on SRB1. The maximum computing capacity statistical level, the maximum computing capacity total amount, and the maximum computing capacity topology information in the application content can be included in one or more new SIBs other than SIB1. Based on this, the requested SIB list (requestedSIB-List) field in the DedicatedSIBRequest message contains the required SIBs. Accordingly, the network side implements network computing capacity information feedback by including the above application content in the corresponding one or more SIBs.
[0075] Step 302: The terminal decides whether to initiate a computing service request to the network side according to the network computing capacity information; if so, execute step 303.
[0076] Here, after obtaining the network computing capacity information, the terminal sends it to the computing operation splitting module (CmptOperation Split). The terminal decides whether to initiate a computing service request to the network side through the computing operation orchestration module and the computing operation splitting module.
[0077] In an embodiment of the present application, the terminal decides whether to initiate a computing service request to the network side based on the network computing capacity information. The specific process includes: 1) the terminal performs computing operation orchestration on one or more computing tasks and generates a computing operation orchestration graph; 2) the terminal generates a computing topology graph based on local computing capacity information and network computing capacity information; 3) the terminal calculates a computing operation partitioning scheme that meets the constraint conditions based on the computing operation orchestration graph and the computing topology graph; 4) if there is a scheme in the computing operation partitioning scheme that requires network-side calculation, the terminal initiates a computing service request to the network side.
[0078] On the Generation of Computation Operation Orchestration Graphs
[0079] The terminal obtains one or more computing tasks from the computing task scheduling module, decomposes the operations of all tasks and arranges the serial and parallel execution, takes minimizing the computing delay as the optimization goal, and generates a computing operation arrangement diagram.
[0080] The following is an explanation of the calculation operation arrangement diagram.
[0081] Reference Figure 5 , Figure 5 A computing operation orchestration graph is illustrated. The computing operation orchestration graph is composed of nodes, and the connection relationship between nodes is realized through edges. For each node, it represents a computing operation, so the description of the node and the computing operation can be interchangeable. For each edge, it represents a data, so the description of the edge and the data can be interchangeable. The data can be the input data or output data of the node. The edge corresponding to the input data is called the input edge, and the edge corresponding to the output data is called the output edge. An edge can be the input edge of a node, the output edge of a node, or both the input edge of a node and the output edge of another node.
[0082] Figure 5 Op in the code represents a computing operation (i.e., a node). Op_A / B / C / D represent different types of computing operations. A computing operation of a type can be a single basic computing operation or a combination of multiple basic computing operations. For example, Op_A can represent one or more M×N convolution operations, or a M×N fully connected neural network calculation, and Op_B can be a calculation of an activation function, such as sigmoid, ReLu, etc. Figure 5 The lines with arrows in the graph represent edges (i.e., data). Input Data Amount represents the amount of input data for a computational operation, and Output Data Amount represents the amount of output data for a computational operation. Figure 5 The number of computational operations in the same column indicates the maximum number that can be computed in parallel; from left to right is the serial order in which the computational operations are executed.
[0083] Each node in the computing operation orchestration graph has its own node attributes, including: computing operation name, computing operation type number, computing operation composition (such as x multiplication and addition operations + y activation function operations, or x M×N convolution operations, etc.), computing amount (FLOPS), input data name, and output data name. Each edge in the computing operation orchestration graph has its own edge attributes, including: data name and data amount information.
[0084] The following is an explanation of the algorithm for generating the computational operation orchestration graph.
[0085] 1.1) Decompose one or more computing tasks into computing operations, and add node information and edge information to the computing operation orchestration graph according to the decomposition results. Here, the decomposition results include multiple computing operations, each of which represents a node. The input data and output data of the computing operation both represent edges, where the input data represents the incoming edge and the output data represents the outgoing edge.
[0086] a) For each node, add the node information of the node to the computing operation orchestration graph in the following way:
[0087] Create a node object;
[0088] Setting node attributes for the node based on the node object, the node attributes including at least one of the following: a calculation operation name, a calculation operation type number, a calculation operation composition, a calculation amount, an input data name, and an output data name;
[0089] Add the node with set node attributes to the node list of the computing operation orchestration graph, and create an "input-node" hash table with the input data name as the key and the node object as the value.
[0090] b) For each edge, add the edge information of the edge to the computation operation orchestration graph in the following manner:
[0091] Create a data object (or edge object);
[0092] Setting data attributes (or edge attributes) for data (or edges) based on the data object, where the data attributes (or edge attributes) include at least one of the following: data name and data volume information;
[0093] The data (or edge) with set data attributes (or edge attributes) is added to the data list (or edge list) of the computing operation orchestration graph.
[0094] 1.2) Based on the node information and edge information, a breadth-first search (BFS) is used to construct the connection relationship of the computing operation orchestration graph, and an initial computing operation orchestration graph is generated based on the connection relationship of the computing operation orchestration graph.
[0095] Specifically, based on the node attributes, edge attributes and the "input-node" hash table, BFS is used to build the connection relationship of the computing operation orchestration graph, and the computing operation orchestration graph is allowed to form a ring. The initial computing operation orchestration graph is generated based on the connection relationship of the computing operation orchestration graph.
[0096] Here, BFS is used to build the connection relationship of the computing operation orchestration graph. The specific process includes:
[0097] 1.2.1) creating a node queue, adding a node with the first data as input data to the node queue, and adding an input edge with the first name as the data name to the node, wherein the first data is the input data of the computing operation orchestration graph, and the first name is the data name of the first data;
[0098] 1.2.2) When the node queue is not empty, perform the following steps: take the first node of the node queue out of the node queue and put it into the computing operation orchestration graph; check the output data name in the node attribute of the taken node, record it as the second name; mark the second name as processed in the data list; traverse the nodes in the hash table with the second name as the input data name, record it as the next hop node; check whether the input data names in the node attribute of the next hop node are all marked as processed in the data list; if so, add the next hop node to the node queue; add an edge with the second name as the data name from the first node to the next hop node in the computing operation orchestration graph;
[0099] 1.2.3) When the node queue is empty, perform the following steps: add an outgoing edge with a third name as the data name for the node last taken out of the node queue in the computing operation orchestration graph, wherein the third name is the data name of the output data of the computing operation orchestration graph. Here, if the third name is the same as the first name, the computing operation orchestration graph forms a loop.
[0100] 1.3) Traverse the initial computing operation orchestration graph, analyze the node sequences that appear repeatedly in the initial computing operation orchestration graph, merge the repeated node sequences into one node, and obtain an optimized computing operation orchestration graph.
[0101] Reference Figure 6 , Figure 6 A process of generating a computing operation orchestration graph is illustrated, including the following steps:
[0102] Step 601: Create a computing operation orchestration graph object Graph.
[0103] Here, for the created Graph, you can set the graph name and an optional documentation string to describe the purpose and function of the graph.
[0104] Step 602: Decompose the computing task into computing operations, and decompose the computing operations into nodes.
[0105] Here, the node can be represented by the corresponding deep learning framework function or class, for example, the convolution layer is a node, the fully-connected layer is a node, and the activation function (such as tanh, ReLU, etc.) is a node. Not limited to this, nodes can also be customized or encapsulated by users, such as customizing the self-attention layer in the translation model (transformer) as a node, which encapsulates basic calculation operations such as linear operation (Linear), MatMul, scale operation (Scale), normalization operation (SoftMax) and connection operation (Concat).
[0106] Step 603: Add node information and edge information to the computing operation orchestration graph, and create an “input-node” hash table, a node list, and a data list.
[0107] Here, for each node, the following steps are performed:
[0108] ①Create a node object Op;
[0109] ② Set the node properties related to the calculation operation, including the calculation operation name, calculation operation type number, calculation operation composition and calculation amount.
[0110] ③Set the node properties related to the calculation data, including the input data name and output data name.
[0111] ④ Add the node to the node list of the computing operation orchestration graph, and create an "input-node" hash table with the input data name as the key and the node object as the value.
[0112] Here, for each edge, the following steps are performed:
[0113] ①Create a data object Data;
[0114] ② Set data attributes, including data name and data volume information.
[0115] ③Add the data to the data list in the calculation operation orchestration diagram.
[0116] Further, after obtaining the node list, data list and "input-node" hash table through the above step 603, based on the node attributes in the node list, the data attributes in the data list and the "input-node" hash table, the connection relationship of the computing operation orchestration graph is constructed using BFS, and loops are allowed. The specific process includes the following steps:
[0117] Step 604: Create a node queue, add a node with the input data Input of the computing operation orchestration graph as input data to the node queue, and add an input edge with Input as the data name.
[0118] Step 605: Determine whether the node queue is empty; when the node queue is not empty, execute the following step 606; when the node queue is empty, execute the following step 611.
[0119] Step 606: Take the head node Op_head from the node queue and put it into the Graph.
[0120] Here, the head node Op_head refers to the first node in the node queue.
[0121] Step 607: Check the output data name Op_head_output in the node attributes of Op_head, and mark Op_head_output as processed in the data list.
[0122] Step 608: traverse the node Op_next in the “input—node” hash table that takes Op_head_output as input.
[0123] Step 609 : Check whether the input data names Op_next_input in the node attributes of Op_next are all marked as processed in the data list; if they are all marked as processed, execute step 610 ; otherwise, execute step 605 .
[0124] Step 610 : Add Op_next to the node queue, add an edge from Op_head to Op_next with Op_head_output as the data name, and execute step 605 .
[0125] Step 611: Add an outgoing edge with the output data Output of the computing operation orchestration graph as the data name to the node finally taken out from the node queue.
[0126] Here, if the output data Output is the same as the input data Input, the computing operation is arranged to form a loop.
[0127] Step 612: traverse the generated computing operation orchestration graph, analyze the node sequences that appear repeatedly in the computing operation orchestration graph according to the data dependency, merge the node sequences that appear repeatedly, and generate the final computing operation orchestration graph.
[0128] Here, repeated node sequences can be merged into larger nodes. For example, if the node sequences Op_A, Op_B, and Op_C appear repeatedly in the computing operation orchestration graph in the order of Op_A→Op_B→Op_C, then they can be merged into one node and recorded as Op_A-Op_B-Op_C.
[0129] In some implementations, the terminal adds security and privacy attributes to the nodes and edges in the computing operation orchestration graph according to the security and privacy requirements for data and computing operations. The specific process includes:
[0130] ① Check the output data (i.e., the data on the outgoing edge) of each node in the computing operation orchestration graph. If the output data contains private data or data with security risks, add privacy attributes to the edge corresponding to the output data and the preceding node of the edge; the level of the privacy attribute is used to indicate whether the output data can be uploaded to the network side for calculation. For example, privacy attributes can be divided into three levels: primary, intermediate, and advanced. Primary and intermediate privacy data can be uploaded to the network side, while advanced privacy data cannot be uploaded to the network side and can only be calculated locally on the terminal.
[0131] ② Check the input data of each node in the computing operation orchestration graph (i.e., the data on the input edge). If the input data contains privacy data or data with security risks, add local attributes to the edge corresponding to the input data and the subsequent nodes of the edge; local attributes are used to indicate that the input data is calculated locally on the terminal.
[0132] ③ Repeat the above steps ① and ② until the result is stable.
[0133] About the generation of computational topology graphs
[0134] The terminal generates a computing topology map including terminal-side devices and network-side devices based on local computing capacity information and network computing capacity information; wherein the attributes of the devices in the computing topology map include computing capacity, and the attributes of the edges in the computing topology map include downlink bandwidth and / or uplink bandwidth.
[0135] Here, the local computing capacity information is the information related to the maximum computing power that can be allocated locally. The network computing capacity information can refer to the above solution.
[0136] Reference Figure 7 , Figure 7 A computing topology diagram is shown, which includes two parts: the network side and the terminal side. The devices on the terminal side include UE, and the devices on the network side include DU, CU and MEC host. Among them, the device has attributes, including computing capacity ( Figure 7The edge between devices also has attributes, including bidirectional transmission bandwidth (BandWidth, BW), that is, downstream bandwidth and upstream bandwidth, such as Figure 7 As shown, UL BW represents uplink bandwidth, and DL BW represents downlink bandwidth.
[0137] Assume that the terminal resides in Cell z, Cell_z belongs to DU_2, DU_2 belongs to CU_x, CU_x has DU_1 / 2 / 3, and the MEC hosts deployed in the neighborhood of CU_x are (MEC Host_1, MEC_Host_2, MEC_Host3). The CRM_CU module on the CU side generates the following according to the above network topology: Figure 7 The calculation topology diagram shown is sent to the terminal through the RRC module.
[0138] It should be noted that each device in the computing topology diagram can also be described as a "node".
[0139] Calculation of the partitioning scheme for computational operations
[0140] The terminal calculates the computing operation partitioning scheme that makes the entire computing task completion time meet the computing service quality (QoS) requirements based on the computing operation orchestration diagram and the computing topology diagram. The QoS requirements here can be understood as a constraint condition. On the premise of meeting the constraint conditions, the nodes in the computing operation orchestration diagram are allocated to the devices in the computing topology diagram, and one or more feasible computing operation partitioning schemes that meet all the constraint conditions are calculated.
[0141] Here, computing operation partitioning refers to allocating each node in the computing operation orchestration graph to each device in the computing topology graph. Computing operation partitioning needs to consider constraints, including partitioning algorithm constraints and / or mathematical constraints.
[0142] In some embodiments, the segmentation algorithm constraints include at least one of the following:
[0143] ① Physical device constraints: The physical device constraints are: the input and output of the computing operation orchestration diagram must be implemented on the terminal side.
[0144] Here, the input and output of the entire computing task need to be completed on the terminal side, that is, the data is input to the terminal, the terminal uploads the data to the network side, and the calculated data is then transmitted back to the terminal after calculation on the network side.
[0145] ② Delay constraint condition: The delay constraint condition is: the total delay on the network side is not higher than the specified maximum delay. The total delay on the network side is based on the data uplink air interface delay, the network side delay, and the delay for the network side to transmit the calculated results back to the terminal.
[0146] For example, if the total delay t on the network side is not higher than the specified maximum delay t_max, the total delay t can be calculated using the following formula:
[0147] t=t_up+t_web+t_back
[0148] Among them, t_up is the data uplink air interface delay, t_back is the delay for the network side to transmit the calculation result back to the terminal, and t_web is the network side delay.
[0149] The calculation formula of t_web can be simply expressed as t_web = max{Σt}, where t represents the delay of the device, and max{Σt} represents the sum of the delays of serial devices and the maximum value of the delays of parallel devices. It should be noted that there are a large number of parallel computing operations and serial computing operations on the network side. It is necessary to calculate the network side delay in combination with the actual computing operation segmentation scheme. The relevant calculations need to follow the following three prerequisites: 1) Considering that the terminal can only estimate the delay of each device on the network side, it is assumed that the calculation time and transmission time of each device on the network side are known, and the specific situation of the calculation time of each process inside the device is not considered. 2) It is assumed that the data transmission between devices is synchronous, that is, when a device transmits data to another device, it will package and transmit all the required data, and the situation of asynchronous data transmission according to the needs of other devices is not considered. 3) It is assumed that the data transmission relationship between devices does not contain cycles.
[0150] The devices on the network side can be divided into two categories: devices without input and devices with input. The data of devices without input comes from direct upload by the terminal, and devices with input can be further divided into single-input devices and multi-input devices. The network side delay is determined based on the first delay, the second delay and the third delay combined with the above formula, wherein the first delay is the delay of the device without input, which is equal to the calculation delay of the device without input plus the data transmission delay; the second delay is the delay of the single-input device, which is equal to the sum of the delays of the single-input device and all serial devices before the device; the third delay is the delay of the multi-input device, which is equal to the maximum value of the parallel calculation delay before the multi-input device, plus the calculation delay and data transmission delay of the device.
[0151] Specifically, the specific calculation algorithm of the network side delay t_web is: 1) Calculate the delay of the device without input: equal to the calculation delay of the device plus the data transmission delay. 2) Calculate the delay of the single input device: equal to the sum of the delays of the device and all serial devices before the device. The serial devices that can be summed can be regarded as a whole, and the calculation operation partition diagram can be simplified to obtain a partition diagram with only the terminal device and multi-input devices, such as Figure 8 As shown, the delay of device 1 is t1, the delay of device 4 is t4, and the delay of device 5 is t5. The group of serial devices 1, 4, and 5 can be regarded as a whole, and its delay is t1+t4+t5; similarly, the delay of device 3 is t3, and the delay of device 7 is t7. The group of serial devices 3 and 7 can be regarded as a whole, and its delay is t3+t7; the delay of device 6 is t6, and the delay of device 8 is t8. The group of serial devices 6 and 8 can be regarded as a whole, and its delay is t6+t8. 3) Calculate the delay of multi-input devices: the maximum value of the delay of the parallel devices before the device, and add the calculation delay and data transmission delay of the device on this basis. In addition, the delay information of each device will be transmitted together with the data, so there is no need to perform backtracking calculation when calculating the maximum value of multi-input devices. 4) According to the delay of the device without input, the delay of the single-input device, and the delay of the multi-input device, the network side delay t_web is calculated in combination with the above formula.
[0152] ③ Privacy attribute constraints: Privacy attribute constraints are determined by the privacy attributes or local attributes of the nodes and edges in the computing operation orchestration graph. The privacy attributes are used to indicate whether the output data corresponding to the nodes and edges can be uploaded to the network side for calculation. The local attributes are used to indicate that the input data corresponding to the nodes and edges are calculated locally on the terminal.
[0153] Here, for security reasons, the data in the terminal and the corresponding edge transmission data all have privacy attributes, which are divided into three levels. Data with advanced privacy attributes cannot be transmitted to the network side for calculation. Data with primary and intermediate privacy attributes can be uploaded to the network side for calculation. The network side will perform operation segmentation according to the different privacy level requirements of the data.
[0154] In some embodiments, the mathematical constraints include at least one of the following:
[0155] ① Computing power constraint: The computing power constraint is: the computing power of the equipment in the specified area cannot exceed the maximum computing power of the area.
[0156] ② Non-cyclic constraint: The non-cyclic constraint is: there is no cycle in the calculation operation partitioning scheme.
[0157] Step 303: The terminal initiates a computing service request to the network side.
[0158] Here, if the terminal believes that the current cell can meet its computing QoS requirements, it initiates a computing service request to the network side, and the computing service request content is carried by the service request.
[0159] Specifically, the terminal sends a service request to the RAN, and the RAN receives the service request sent by the terminal, where the service request is used to request a computing service; wherein the service request includes a description of a computing task and requirements of the computing task, and the requirements of the computing task include a computing task arrival rate and / or a computing task QoS requirement.
[0160] In some implementations, the service request is carried in an air interface RRC message, such as in an RRC setup request (RRCSetupRequest) message. Referring to Table 1 below, Table 1 below gives the content related to the present application in the RRC setup request message (RRCSetupRequest message). Of course, the RRC setup request message (RRCSetupRequest message) may also include other content. The information element (IE) contained in the RRC setup request message (RRCSetupRequestmessage) includes an establishment cause (establishmentCause). Furthermore, the value of the establishment cause (Establishment Cause) is an enumeration (ENUMERATED) type, and in addition to the existing values, the following new values are added: calling calculation (mo-computing), mo-computing is the above-mentioned first cause value, indicating that the RRC connection is established due to the terminal initiating a calculation request. The establishment cause (Establishment Cause) field of the RRC establishment request message can be set to the first cause value (such as mo-computing), and the first cause value is used to indicate that the RRC connection is established due to the terminal initiating a calculation service request. The service request included in the air interface RRC message adds a description of the computing task and its QoS requirements, which may include: a single computing task description, which may be a computing orchestration graph (which may be a full graph or a subgraph of a complete computing orchestration graph) or other description methods, computing task arrival rate (number of computing tasks / second), and computing task QoS requirements (including latency and accuracy, etc.).
[0161] Table 1
[0162]
[0163] Further, after receiving the service request, the RAN sends the service request to the first network function through the first interface message, and the content included in the service request is carried in the computing task request and sent by the first network function to the second network function through the second interface.
[0164] Here, the first network function is, for example, AMF. Accordingly, the first interface message is an N2 message (N2message).
[0165] Here, the second network function is a newly added network function, which can be called TA. Correspondingly, the second interface is a newly added interface, which can be called Nta interface.
[0166] Here, the computing task request (Computing Task Request) is a newly added signaling message from the first network function to the second network function.
[0167] like Fig. 9 As shown in the figure, TA is a newly added network function. UE sends a service request to RAN; RAN sends the service request to AMF through N2 message; AMF interacts with UE and AUSF to perform security authentication (this step is optional); AMF sends an SM context request to SMF; after AMF receives the N2 message, if the N2 message includes a description of the computing task and its QoS requirements, AMF puts these contents in the computing task request and transmits TA through the newly added Nta interface.
[0168] The technical solution of the embodiment of the present application has at least the following advantages: 1) When generating a computing operation orchestration graph, computing operation composition attributes and computing amount attributes are added to the nodes, and data amount information attributes are added to the edges. Using this information, the computing delay of the node and the data transmission delay can be accurately calculated when forming a computing operation partitioning scheme, which is conducive to forming a computing operation partitioning scheme with lower latency; 2) Using BFS to construct the connection relationship of the computing operation orchestration graph can effectively process complex computing operation orchestration graph structures and ensure the correct connection between nodes; 3) The computing operation orchestration graph allows the formation of rings, so that the computing operation partitioning algorithm can more flexibly optimize the combination and deployment location of the nodes, forming a computing operation partitioning scheme with lower computing overhead and data transmission overhead.
[0169] The technical solution of the embodiment of the present application is illustrated below with reference to specific application examples.
[0170] Application Example 1
[0171] This application example takes Transformer as an example to illustrate how to generate its computing operation orchestration diagram.
[0172] First, create a computing operation orchestration graph object Transformer_Graph, then decompose the computing operation of the computing task, decompose the computing operation into nodes, and add all node information and edge information to the computing operation orchestration graph.
[0173] like Fig.10 The figure shows the node information and edge information of the computing operation type Embedding. Specifically, there are two node objects, Input Embedding and Output Embedding. The computing operations consist of one matrix multiplication, and the computing amount is 1 Flops and 2 Flops respectively. The input data name of InputEmbedding is Input, the output data name is Data 1, the data amount is Input Data Amount 1 and Output Data Amount 1 respectively, and the computing operation of Input Embedding consists of one word to one-hot vector conversion and one matrix multiplication. The input data name of Output Embedding is Outputs(shiftedright), the output data name is Data 7, the data amount is Input Data Amount 2 and Output Data Amount 2 respectively, and the computing operation of Output Embedding consists of one word to one-hot vector conversion and one matrix multiplication.
[0174] like Fig.11 As shown in the figure, all node objects and edge objects generated after the transformer is decomposed into computing operations are displayed. Here, only the attributes related to the connection relationship of building the computing operation orchestration graph are drawn. The node attributes include the computing operation name, computing operation type number, input data name, output data name, and the edge attributes include the data name. Among them, Embedding, Linear, and Softmax are nodes represented by the corresponding deep learning framework functions or classes, and Add, Attention, Add&Norm, and Feed Forward are custom encapsulated nodes.
[0175] like Fig.12As shown in the figure, the connection relationship of the graph object Transformer_Graph is arranged using BFS calculation operations. First, create a node queue, add the node Input Embedding with Input as input data and the node Output Embedding with Outputs (shifted right) as input data to the node queue, and add input edges with Input and Outputs (shifted right) as data names respectively. Among them, Outputs (shifted right) is a special type of Input input data, and the identifier is entered at the beginning. <start>, and then use Outputs as input. Then, it is detected that the node queue is not empty, and the head node Input Embedding is taken out of the queue and put into the Graph, and the output data Data 1 in the node attribute is marked as processed. Next, it is checked that the node Add 1-Positional Embedding1 with Data 1 as input is added, and the input data Data 1 of Add 1-Positional Embedding 1 is marked as processed, that is, all its input data are marked as processed, so Add 1-Positional Embedding 1 is added to the node queue. In addition, a directed edge with Data 1 as the data name is added from Input Embedding to Add 1-Positional Embedding 1. Repeat the above actions for Output Embedding, Add 1-Positional Embedding 1 and subsequent nodes until the queue is empty. Finally, add an outgoing edge with the output data Output of the calculation operation orchestration graph as the data name for the node Softmax that is out of the queue last. Because the output data Output is also input as the input data Outputs (shifted right), a loop is formed.
[0176] Note that if a node has two or more input data, all input data of the node must be marked as processed before it can be added to the node queue. For example, Multi-Headed Attention 3 requires both Add&Norm 2 and Add&Norm 3 to be dequeued, and Data 6 and Data 10 to be marked as processed before it can be added to the node queue.
[0177] like Fig.13 As shown in the figure, the final computing operation orchestration graph Transformer_Graph formed after the nodes are merged is shown. Traverse the generated computing operation orchestration graph, analyze the node sequences that appear repeatedly in the computing operation orchestration graph according to the data dependency, and merge these node sequences into larger nodes. For example, the node sequences Input Embedding, Add 1, Positional Embedding 1 and Output Embedding, Add 2, Positional Embedding 2 are all node sequences of computing operation types Embedding and Add that appear repeatedly in the graph in the order of Embedding→Add, and finally merge into larger nodes Input Embedding-Add 1-Positional Embedding 1 and Output Embedding-Add 2-Positional Embedding 2. After merging other repeated node sequences, the final computing operation orchestration graph Transformer_Graph is formed.
[0178] Application Example 2
[0179] This application example illustrates the computational segmentation algorithm.
[0180] If there is a loop (i.e. feedback) in the computational operation orchestration graph, first analyze its strongly connected components and shrink the directed graph to simplify the problem into a directed acyclic graph partitioning problem.
[0181] For the partitioning problem of directed acyclic graphs, an improved heuristic algorithm can be used to solve it. The computing operation orchestration graph is regarded as a directed acyclic graph G, where each node v i The amount of calculation is the weight w g , the computation time of each edge is weight c g ,have:
[0182] G=(V={0,...,n-1},E,c,ω),n=|V|,m=|E|
[0183] The computational topology graph is regarded as the area division standard Z. The weight of each node in Z represents the computational effort of the node, and w is used to represent the weight of each node in Z. z Indicates that there are:
[0184] Z=Z1∪Z2∪…∪Z k
[0185]
[0186] G needs to be mapped to V, and each partition V in V i It can contain multiple nodes in G.
[0187] The partitioning result should be able to obtain a feasible computing operation partitioning scheme under the premise of satisfying mathematical constraints and partitioning algorithm constraints.
[0188] The specific implementation steps of the algorithm are as follows:
[0189] 1) Use Kahn's algorithm to topologically sort G: Initialize a list S where all nodes have degree zero, list t is empty, and then repeat the following steps until list S is empty: uniformly randomly select a node from S and remove it from the list. Add the node to the tail of t and delete all outgoing edges of the node. If this reduces the degree of another node to zero, add it to s. When the algorithm terminates, list T is a topological sort of all nodes. Eventually, each node in G appears only once, there are no cycles, and the previous nodes all point to the next nodes, such as Fig.14 As shown, there are 8 nodes in G, namely: c1, c2, c3, c4, c5, c6, c7, and c8. Each of these 8 nodes appears only once in G, and the topological structure formed by these 8 nodes is acyclic, among which c1 points to c4, c4 points to c5, c5 points to c6, c2 points to c6, c3 points to c7, and c6 and c7 point to c8.
[0190] 2) Sort the maximum computational amount of each partition in Z from large to small. If there are regions with the same maximum computational amount, they are randomly sorted. The region names are Z0, Z1, ..., Z k , that is, like Fig.15 shown.
[0191] 3) Find the initial solution: Under the premise of satisfying mathematical constraints and segmentation algorithm constraints, divide the topological sorting results in list T into various partitions of area Z, starting from the first node in T, and divide the nodes into Z0 in sequence. If there are multiple nodes in the same topological sorting position, randomly divide them into V0 until all the nodes at that position are divided, or Z0 has met the division cutoff condition. When area Z0 meets the division cutoff condition, start dividing nodes to V1. And so on, until all nodes in G are divided into various areas of Z. Obviously, not all partitions of Z will be filled. At this time, the initial solution for the division is obtained, such as Fig.16 shown.
[0192] Z i The partition cut-off condition is: Z i The total amount of computation for all nodes belonging to G Close to Z i The maximum amount of calculation Now turn to Z i If any G node is added to V, the total computation of the node will exceed the maximum computation of the region, then stop adding V. i Divide the nodes.
[0193] 4) Solution optimization: Under the premise of satisfying the mathematical constraints and the partitioning algorithm constraints, move the nodes in G and calculate whether the total network delay after the move meets the delay constraint. If it does, the solution can be used as a feasible solution. If not, cancel the move and continue with the next move until the delay constraint is met. Finally, several different computing operation partitioning solutions can be obtained for the terminal to choose.
[0194] There are four main methods for moving nodes in G: ① Simple Moves (SM), which only moves nodes within adjacent areas and selects the solution with the highest gain; ② Advanced Moves (AM), which moves nodes between all incoming and outgoing areas and selects the solution with the highest gain; ③ Global Moves (GM), which moves nodes between all areas and selects the solution with the highest gain; ④ FM-based moves (FMMoves, FM), which use the ability of the Fiduccia-Matheyses algorithm to jump out of local minima. Even if the gain of a move is negative, it can be optimized by exchanging nodes between a pair of partitions, and the algorithm will return the partitioning solution with the best target seen during the move.
[0195] Fig.17 This is a schematic diagram of the structure of the computing service application device provided in the embodiment of the present application. Figure 1 , applied to terminals, such as Fig.17 As shown, the device for calculating service application includes:
[0196] The acquisition unit 1701 is used to acquire network computing capacity information from the network side;
[0197] The decision unit 1702 is used to decide whether to initiate a computing service request to the network side according to the network computing capacity information;
[0198] The initiating unit 1703 is configured to initiate a computing service request to the network side if it is decided to initiate a computing service request to the network side.
[0199] In some embodiments, the acquisition unit 1701 is specifically used to: receive a first system message sent by the network side, the first system message carrying an indication of whether the service cell supports computing services; determine whether the service cell supports computing services based on the indication; if supported, the terminal sends a network computing capacity information application to the network side; and receive the network computing capacity information sent by the network side.
[0200] In some implementations, the network computing capacity information includes at least one of the following information of the serving cell: maximum computing capacity statistical level, maximum computing capacity total amount, and maximum computing capacity topology information.
[0201] In some embodiments, the apparatus further includes: a processing unit 1704, configured to perform computing operation orchestration on one or more computing tasks and generate a computing operation orchestration graph; generate a computing topology graph according to the local computing capacity information and the network computing capacity information; and calculate a computing operation partitioning scheme that satisfies the constraint conditions according to the computing operation orchestration graph and the computing topology graph;
[0202] The determination unit 1702 is specifically configured to initiate a computing service request to the network side if there is a solution in the computing operation partitioning solution that requires computing on the network side.
[0203] In some embodiments, the processing unit 1704 is specifically used to: perform computing operation decomposition on one or more computing tasks, and add node information and edge information to the computing operation orchestration graph according to the decomposition results; construct a connection relationship of the computing operation orchestration graph using breadth-first search BFS according to the node information and the edge information, and generate an initial computing operation orchestration graph based on the connection relationship of the computing operation orchestration graph; traverse the initial computing operation orchestration graph, analyze the node sequence that appears repeatedly in the initial computing operation orchestration graph, merge the repeated node sequence into one node, and obtain an optimized computing operation orchestration graph.
[0204] In some implementations, the decomposition result includes multiple computing operations, each of which represents a node; the processing unit 1704 is specifically configured to: for each node, add the node information of the node in the computing operation orchestration graph in the following manner:
[0205] Create a node object;
[0206] Setting node attributes for the node based on the node object, the node attributes including at least one of the following: a calculation operation name, a calculation operation type number, a calculation operation composition, a calculation amount, an input data name, and an output data name;
[0207] The nodes with set node attributes are added to the node list of the computing operation orchestration graph, and a hash table is created with the input data name as the key and the node object as the value.
[0208] In some implementations, the input data and output data of the computing operation both represent edges, wherein the input data represents an incoming edge and the output data represents an outgoing edge; the processing unit 1704 is specifically configured to: for each edge, add edge information of the edge to the computing operation orchestration graph in the following manner:
[0209] Create a data object;
[0210] Setting data attributes for the data based on the data object, the data attributes including at least one of the following: data name and data volume information;
[0211] The data with set data attributes is added to the data list of the computing operation orchestration graph.
[0212] In some implementations, the processing unit 1704 is specifically configured to:
[0213] Create a node queue, add a node with first data as input data to the node queue, and add an input edge with a first name as the data name to the node, wherein the first data is the input data of the computing operation orchestration graph, and the first name is the data name of the first data;
[0214] When the node queue is not empty, the following steps are performed: taking the first node of the node queue out of the node queue and putting it into the computing operation orchestration graph; checking the output data name in the node attribute of the taken node, recording it as the second name; marking the second name as processed in the data list; traversing the nodes in the hash table with the second name as the input data name, recording them as next-hop nodes; checking whether the input data names in the node attributes of the next-hop nodes are all marked as processed in the data list; if so, adding the next-hop node to the node queue; adding an edge with the second name as the data name from the first node to the next-hop node in the computing operation orchestration graph;
[0215] When the node queue is empty, the following steps are performed: adding an outgoing edge with a third name as a data name for the node last taken out of the node queue in the computing operation orchestration graph, wherein the third name is a data name of output data of the computing operation orchestration graph.
[0216] In some embodiments, the processing unit 1704 is further used to review the output data of each node in the computing operation orchestration graph, and if the output data contains privacy data or data with security risks, add a privacy attribute to the edge corresponding to the output data and the preceding node of the edge; the level of the privacy attribute is used to indicate whether the output data can be uploaded to the network side for calculation; review the input data of each node in the computing operation orchestration graph, and if the input data contains privacy data or data with security risks, add a local attribute to the edge corresponding to the input data and the subsequent node of the edge; the local attribute is used to indicate that the input data is calculated locally on the terminal.
[0217] In some embodiments, the processing unit 1704 is specifically used to: generate a computing topology graph including terminal side devices and network side devices based on local computing capacity information and the network computing capacity information; wherein the attributes of the devices in the computing topology graph include computing capacity, and the attributes of the edges in the computing topology graph include downlink bandwidth and / or uplink bandwidth.
[0218] In some implementations, the processing unit 1704 is specifically configured to: allocate each node in the computing operation orchestration diagram to each device in the computing topology diagram, and calculate a computing operation partitioning scheme that satisfies a constraint condition, wherein the constraint condition includes a partitioning algorithm constraint condition and / or a mathematical constraint condition; wherein:
[0219] The segmentation algorithm constraints include at least one of the following:
[0220] Physical device constraint conditions, wherein the physical device constraint conditions are: the input and output of the computing operation orchestration graph need to be implemented on the terminal side;
[0221] Delay constraint condition, the delay constraint condition is: the total delay on the network side is not higher than the specified maximum delay, the total delay on the network side is based on the data uplink air interface delay, the network side delay and the delay of the network side transmitting the calculation result back to the terminal;
[0222] a privacy attribute constraint condition, wherein the privacy attribute constraint is determined by the privacy attribute or local attribute of the nodes and edges in the computing operation orchestration graph, wherein the privacy attribute is used to indicate whether the output data corresponding to the nodes and edges can be uploaded to the network side for calculation, and the local attribute is used to indicate that the input data corresponding to the nodes and edges is calculated locally on the terminal;
[0223] The mathematical constraints include at least one of the following:
[0224] Computing power constraint: the computing power constraint is that the computing power of the devices in the specified area cannot exceed the maximum computing power of the area;
[0225] A non-cyclic constraint, wherein the non-cyclic constraint is: there is no cycle in the computing operation partitioning scheme.
[0226] In some embodiments, the network-side delay is determined based on a first delay, a second delay, and a third delay, wherein the first delay is the delay of a device without an input, and the first delay is equal to the calculation delay of the device without an input plus the data transmission delay; the second delay is the delay of a single-input device, and the second delay is equal to the sum of the delays of the single-input device and all serial devices before the device; the third delay is the delay of a multi-input device, and the third delay is equal to the maximum value of the parallel calculation delays before the multi-input device, plus the calculation delay and data transmission delay of the device.
[0227] In some embodiments, the initiating unit 1703 is specifically used to send a service request to the RAN, where the service request is used to request a computing service; wherein the service request includes a description of a computing task and the requirements of the computing task, and the requirements of the computing task include a computing task arrival rate and / or a computing task QoS requirement.
[0228] In some implementations, the service request is carried in an RRC establishment request message, and an establishment cause field of the RRC establishment request message is set to a first cause value, where the first cause value is used to indicate that an RRC connection is established due to a computing service request initiated by the terminal.
[0229] Those skilled in the art should understand that Fig.17 The implementation functions of each unit in the device for computing service application shown can be understood by referring to the relevant description of the aforementioned method. Fig.17 The functions of each unit in the device for computing service applications shown may be implemented by a program running on a processor, or may be implemented by a specific logic circuit.
[0230] Fig.18 This is a schematic diagram of the structure of the computing service application device provided in the embodiment of the present application. Figure 2 , applied to the network side, such as Fig.18 As shown, the device for calculating service application includes:
[0231] The sending unit 1801 is used to send network computing capacity information to the terminal, and the network computing capacity information is used by the terminal to decide whether to initiate a computing service request to the network side.
[0232] In some implementations, the sending unit 1801 is further configured to send a first system message to the terminal, where the first system message carries an indication of whether the serving cell supports the computing service;
[0233] The device further includes: a receiving unit 1802, configured to receive a network computing capacity information application sent by the terminal.
[0234] In some implementations, the network computing capacity information includes at least one of the following information of the serving cell: maximum computing capacity statistical level, maximum computing capacity total amount, and maximum computing capacity topology information.
[0235] In some embodiments, the network side is RAN, and the receiving unit 1802 is further used to receive a service request sent by the terminal, and the service request is used to request a computing service; wherein the service request includes a description of a computing task and the requirements of the computing task, and the requirements of the computing task include a computing task arrival rate and / or a computing task QoS requirement.
[0236] In some implementations, the service request is carried in an RRC establishment request message, and an establishment cause field of the RRC establishment request message is set to a first cause value, where the first cause value is used to indicate that an RRC connection is established due to a computing service request initiated by the terminal.
[0237] In some embodiments, the sending unit 1801 is also used to send the service request to the first network function via a first interface message, and the content included in the service request is carried in the computing task request and sent by the first network function to the second network function via the second interface.
[0238] Those skilled in the art should understand that Fig.18 The implementation functions of each unit in the device for computing service application shown can be understood by referring to the relevant description of the aforementioned method. Fig.18 The functions of each unit in the device for computing service applications shown may be implemented by a program running on a processor, or may be implemented by a specific logic circuit.
[0239] Fig.19 1900 is a schematic structural diagram of a communication device 1900 provided in an embodiment of the present application. The communication device may be a terminal or a network device. Fig.19 The communication device 1900 shown includes a processor 1910, which can call and run a computer program from a memory to implement the method in the embodiment of the present application.
[0240] Alternatively, if Fig.19 As shown, the communication device 1900 may further include a memory 1920. The processor 1910 may call and run a computer program from the memory 1920 to implement the method in the embodiment of the present application.
[0241] The memory 1920 may be a separate device independent of the processor 1910 , or may be integrated into the processor 1910 .
[0242] Alternatively, if Fig.19 As shown, the communication device 1900 may further include a transceiver 1930, and the processor 1910 may control the transceiver 1930 to communicate with other devices, specifically, may send information or data to other devices, or receive information or data sent by other devices.
[0243] The transceiver 1930 may include a transmitter and a receiver. The transceiver 1930 may further include an antenna, and the number of antennas may be one or more.
[0244] Optionally, the communication device 1900 may specifically be a network device of an embodiment of the present application, and the communication device 1900 may implement corresponding processes implemented by the network device in each method of the embodiment of the present application, which will not be described in detail here for the sake of brevity.
[0245] Optionally, the communication device 1900 may specifically be a mobile terminal / terminal of an embodiment of the present application, and the communication device 1900 may implement the corresponding processes implemented by the mobile terminal / terminal in each method of the embodiment of the present application, which will not be described again for the sake of brevity.
[0246] Fig. 20 It is a schematic structural diagram of the chip of an embodiment of the present application. Fig. 20 The chip 2000 shown includes a processor 2010, which can call and run a computer program from a memory to implement the method in the embodiment of the present application.
[0247] Alternatively, if Fig. 20 As shown, the chip 2000 may further include a memory 2020. The processor 2010 may call and run a computer program from the memory 2020 to implement the method in the embodiment of the present application.
[0248] The memory 2020 may be a separate device independent of the processor 2010 , or may be integrated into the processor 2010 .
[0249] Optionally, the chip 2000 may further include an input interface 2030. The processor 2010 may control the input interface 2030 to communicate with other devices or chips, and specifically, may obtain information or data sent by other devices or chips.
[0250] Optionally, the chip 2000 may further include an output interface 2040. The processor 2010 may control the output interface 2040 to communicate with other devices or chips, and specifically, may output information or data to other devices or chips.
[0251] Optionally, the chip can be applied to the network device in the embodiments of the present application, and the chip can implement the corresponding processes implemented by the network device in each method of the embodiments of the present application. For the sake of brevity, they will not be repeated here.
[0252] Optionally, the chip can be applied to the mobile terminal / terminal in the embodiments of the present application, and the chip can implement the corresponding processes implemented by the mobile terminal / terminal in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.
[0253] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0254] It should be understood that the processor of the embodiment of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by the hardware integrated logic circuit or software instructions in the processor. The above processor can be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor are combined and performed. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, and other mature storage media in the art. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0255] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0256] It should be understood that the above-mentioned memory is exemplary but not restrictive. For example, the memory in the embodiments of the present application may also be static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synch link DRAM, SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DR RAM), etc. That is to say, the memory in the embodiments of the present application is intended to include but not limited to these and any other suitable types of memory.
[0257] An embodiment of the present application also provides a computer-readable storage medium for storing a computer program.
[0258] Optionally, the computer-readable storage medium can be applied to the network device in the embodiments of the present application, and the computer program enables the computer to execute the corresponding processes implemented by the network device in the various methods of the embodiments of the present application. For the sake of brevity, they are not repeated here.
[0259] Optionally, the computer-readable storage medium can be applied to the mobile terminal / terminal in the embodiments of the present application, and the computer program enables the computer to execute the corresponding processes implemented by the mobile terminal / terminal in the various methods of the embodiments of the present application. For the sake of brevity, they are not repeated here.
[0260] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0261] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0262] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0263] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0264] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0265] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0266] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.< / start>
Claims
1. A method for computing a service application, characterized in that: The method comprises: The terminal obtains network computing capacity information from the network side; The terminal determines whether to initiate a computing service request to the network side according to the network computing capacity information; if so, the terminal initiates a computing service request to the network side.
2. The method according to claim 1, characterized in that: The terminal obtains network computing capacity information from the network side, including: The terminal receives a first system message sent by a network side, where the first system message carries an indication of whether a serving cell supports a computing service; The terminal determines, according to the indication, whether the serving cell supports computing services; if supported, the terminal sends a network computing capacity information request to the network side; The terminal receives the network computing capacity information sent by the network side.
3. The method according to claim 1, characterized in that: The network computing capacity information includes at least one of the following information of the serving cell: maximum computing capacity statistical level, maximum computing capacity total amount, and maximum computing capacity topology information.
4. The method according to any one of claims 1 to 3, characterized in that The terminal determines whether to initiate a computing service request to the network side according to the network computing capacity information, including: The terminal performs computing operation arrangement on one or more computing tasks to generate a computing operation arrangement graph; The terminal generates a computing topology map according to the local computing capacity information and the network computing capacity information; The terminal calculates a computing operation partitioning scheme that satisfies constraint conditions according to the computing operation arrangement diagram and the computing topology diagram; If there is a solution that requires network-side calculation in the computing operation segmentation solution, the terminal initiates a computing service request to the network side.
5. The method according to claim 4, characterized in that The terminal performs computing operation arrangement on one or more computing tasks to generate a computing operation arrangement graph, including: Decomposing one or more computing tasks into computing operations, and adding node information and edge information to the computing operation orchestration graph according to the decomposition results; According to the node information and the edge information, a connection relationship of the computing operation orchestration graph is constructed using a breadth-first search (BFS), and an initial computing operation orchestration graph is generated based on the connection relationship of the computing operation orchestration graph; The initial computing operation orchestration graph is traversed, and a node sequence that appears repeatedly in the initial computing operation orchestration graph is analyzed, and the node sequence that appears repeatedly is merged into one node to obtain an optimized computing operation orchestration graph.
6. The method according to claim 5, characterized in that The decomposition result includes a plurality of computing operations, wherein each computing operation represents a node; Adding node information to the computing operation orchestration graph includes: For each node, add the node information of the node in the computing operation orchestration graph in the following manner: Create a node object; Setting node attributes for the node based on the node object, the node attributes including at least one of the following: a calculation operation name, a calculation operation type number, a calculation operation composition, a calculation amount, an input data name, and an output data name; The nodes with set node attributes are added to the node list of the computing operation orchestration graph, and a hash table is created with the input data name as the key and the node object as the value.
7. The method according to claim 6, characterized in that The input data and output data of the computing operation both represent edges, wherein the input data represent incoming edges and the output data represent outgoing edges; Adding edge information to the computing operation orchestration graph includes: For each edge, add the edge information of the edge to the computing operation orchestration graph in the following manner: Create a data object; Setting data attributes for the data based on the data object, the data attributes including at least one of the following: data name and data volume information; The data with set data attributes is added to the data list of the computing operation orchestration graph.
8. The method according to claim 7, characterized in that The step of constructing a connection relationship of the computing operation orchestration graph using BFS according to the node information and the edge information includes: Create a node queue, add a node with first data as input data to the node queue, and add an input edge with a first name as the data name to the node, wherein the first data is the input data of the computing operation orchestration graph, and the first name is the data name of the first data; When the node queue is not empty, the following steps are performed: taking the first node of the node queue out of the node queue and putting it into the computing operation orchestration graph; checking the output data name in the node attribute of the taken node, recording it as the second name; marking the second name as processed in the data list; traversing the nodes in the hash table with the second name as the input data name, recording them as next-hop nodes; checking whether the input data names in the node attributes of the next-hop nodes are all marked as processed in the data list; if so, adding the next-hop node to the node queue; adding an edge with the second name as the data name from the first node to the next-hop node in the computing operation orchestration graph; When the node queue is empty, the following steps are performed: adding an outgoing edge with a third name as a data name for the node last taken out of the node queue in the computing operation orchestration graph, wherein the third name is a data name of output data of the computing operation orchestration graph.
9. The method according to claim 4, characterized in that After generating the computing operation arrangement graph, the method further includes: Check the output data of each node in the computing operation orchestration graph, and if the output data contains private data or data with security risks, add a privacy attribute to the edge corresponding to the output data and the preceding node of the edge; the level of the privacy attribute is used to indicate whether the output data can be uploaded to the network side for computing; The input data of each node in the computing operation orchestration graph is examined. If the input data contains privacy data or data with security risks, a local attribute is added to the edge corresponding to the input data and the subsequent nodes of the edge; the local attribute is used to indicate that the input data is calculated locally on the terminal.
10. The method according to claim 4, characterized in that The terminal generates a computing topology map according to the local computing capacity information and the network computing capacity information, including: The terminal generates a computing topology graph including terminal-side devices and network-side devices based on local computing capacity information and the network computing capacity information; wherein the attributes of the devices in the computing topology graph include computing capacity, and the attributes of the edges in the computing topology graph include downlink bandwidth and / or uplink bandwidth.
11. The method according to claim 4, characterized in that The terminal calculates a computing operation partitioning scheme that satisfies constraint conditions according to the computing operation arrangement diagram and the computing topology diagram, including: Allocate each node in the computing operation orchestration diagram to each device in the computing topology diagram, and calculate a computing operation partitioning scheme that satisfies constraint conditions, wherein the constraint conditions include partitioning algorithm constraint conditions and / or mathematical constraint conditions; wherein, The segmentation algorithm constraints include at least one of the following: Physical device constraint conditions, wherein the physical device constraint conditions are: the input and output of the computing operation orchestration graph need to be implemented on the terminal side; Delay constraint condition, the delay constraint condition is: the total delay on the network side is not higher than the specified maximum delay, the total delay on the network side is based on the data uplink air interface delay, the network side delay and the delay of the network side transmitting the calculation result back to the terminal; a privacy attribute constraint condition, wherein the privacy attribute constraint is determined by the privacy attribute or local attribute of the nodes and edges in the computing operation orchestration graph, wherein the privacy attribute is used to indicate whether the output data corresponding to the nodes and edges can be uploaded to the network side for calculation, and the local attribute is used to indicate that the input data corresponding to the nodes and edges is calculated locally on the terminal; The mathematical constraints include at least one of the following: Computing power constraint: the computing power constraint is that the computing power of the devices in the specified area cannot exceed the maximum computing power of the area; A non-cyclic constraint, wherein the non-cyclic constraint is: there is no cycle in the computing operation partitioning scheme.
12. The method according to claim 11, characterized in that The network side delay is determined according to the first delay, the second delay and the third delay, wherein: The first delay is a delay without an input device, and the first delay is equal to a calculation delay without an input device plus a data transmission delay; The second delay is the delay of a single input device, and the second delay is equal to the sum of the delays of the single input device and all serial devices before the device; The third delay is the delay of the multi-input device, and the third delay is equal to the maximum value of the parallel calculation delay of the multi-input device before, plus the calculation delay and data transmission delay of the device.
13. The method according to any one of claims 1 to 3, characterized in that The terminal initiates a computing service request to the network side, including: The terminal sends a service request to the radio access network RAN, where the service request is used to request a computing service; wherein the service request includes a description of a computing task and requirements for the computing task, where the requirements for the computing task include a computing task arrival rate and / or a computing task quality of service QoS requirement.
14. The method according to claim 13, characterized in that The service request is carried in a radio resource control RRC establishment request message, and the establishment cause field of the RRC establishment request message is set to a first cause value, and the first cause value is used to indicate that the RRC connection is established due to the terminal initiating a computing service request.
15. A method for calculating service application, characterized in that The method comprises: The network side sends network computing capacity information to the terminal, and the network computing capacity information is used by the terminal to decide whether to initiate a computing service request to the network side.
16. The method according to claim 15, characterized in that Before the network side sends the network computing capacity information to the terminal, the method further includes: The network side sends a first system message to the terminal, where the first system message carries an indication of whether the serving cell supports computing service; The network side receives the network computing capacity information application sent by the terminal.
17. The method according to claim 15 or 16, characterized in that The method further comprises: The RAN receives a service request sent by the terminal, where the service request is used to request a computing service; wherein the service request includes a description of a computing task and requirements of the computing task, where the requirements of the computing task include a computing task arrival rate and / or a computing task QoS requirement.
18. The method according to claim 17, characterized in that The method further comprises: The RAN sends the service request to the first network function through a first interface message, and the content included in the service request is carried in a computing task request and sent by the first network function to the second network function through a second interface.
19. A device for calculating service applications, characterized in that: Applied to a terminal, the device comprises: An acquisition unit, used for acquiring network computing capacity information from a network side; A decision unit, configured to decide whether to initiate a computing service request to the network side according to the network computing capacity information; The initiating unit is used to initiate a computing service request to the network side if it is decided to initiate a computing service request to the network side.
20. A device for calculating service application, characterized in that: Applied to the network side, the device includes: The sending unit is used to send network computing capacity information to the terminal, and the network computing capacity information is used by the terminal to decide whether to initiate a computing service request to the network side.
21. A communication device, characterized in that: include: A processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 18.
22. A chip, characterized in that: include: A processor, configured to call and run a computer program from a memory, so that a device equipped with the chip executes a method as claimed in any one of claims 1 to 18.
23. A computer-readable storage medium, characterized in that: Used to store a computer program, the computer program causing a computer to execute the method according to any one of claims 1 to 18.