Edge network-oriented server non-perceptual calculation function arrangement method, system and equipment

By implementing server-free computing function orchestration methods for real-time processing and triggered decision-making in edge networks, the problem of complexity of function orchestration in resource-constrained edge networks is solved, efficient function deployment, data routing and scheduling is achieved, and high service rewards under delay constraints are met.

CN119718545AActive Publication Date: 2025-03-28NANJING UNIV
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411876371.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-03-28
Estimated Expiration
2044-12-19

AI Technical Summary

Technical Problem

In resource-constrained edge networks, server unaware computing function orchestration faces complex function instance deployment, data routing and node task scheduling, especially the long cold start time and unpredictable function execution time, which makes it difficult to meet the delay constraints.

Method used

A server-free computing function orchestration method for edge networks is proposed. Through real-time processing and triggered decision-making, the deployment of function instances and joint optimization of splitable data routing and scheduling are realized. Specific steps include hot calling, joint optimization of routing scheduling and cold startup, and optimize function scheduling and data routing using network timing extension diagrams and dual schemes.

Benefits of technology

Through joint optimization of function instance deployment, data routing and scheduling, the cold start frequency and function execution delay are significantly reduced, and the system's cumulative service rewards under delay constraints are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718545A_ABST
    Figure CN119718545A_ABST
Patent Text Reader

Abstract

The invention discloses a server non-perception computing function arrangement method, system and device facing an edge network, and belongs to the technical field of cloud computing. The method comprises the following steps: real-time processing: scheduling and executing functions in each function instance in each time step, including hot calling; the trigger decision comprises the step of reading information such as a new function request submitted by a user online; obtaining a route deadline; finding a function scheduling sequence of the new function request, and triggering hot calling; and if the routing and scheduling meeting the requirements cannot be found, triggering cold start. According to the method, the technical problems of server non-perception calculation function arrangement, container instance deployment and divisible routing and scheduling joint optimization of functions in a resource-limited edge network can be solved, so that the cumulative service reward meeting the delay constraint is met to the maximum extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of cloud computing, and in particular relates to a method, system and device for orchestrating server-unaware computing functions for edge networks. Background Art

[0002] Server-aware computing is an emerging cloud computing model that greatly improves application development efficiency and effectively reduces development costs by decoupling developers' business logic development from backend resource management, making mainstream manufacturers evolve towards a server-aware framework. In recent years, with the further increase in demand for large language models, industrial Internet of Things, and large-scale data analysis, how to efficiently integrate computing, storage, and communication in the network to ensure highly stable, low-latency end-to-end computing services has become an important issue in academia and industry. Edge computing provides a feasible solution to this problem by interconnecting distributed computing and storage capabilities through the network and providing low-latency computing services through collaboration and sharing between devices.

[0003] Function orchestration for server-aware computing in resource-constrained edge networks requires function instance deployment, data routing, and node task scheduling, which is an extremely complex and highly non-trivial task. The difficulty mainly comes from the following aspects.

[0004] On the one hand, in server-aware computing, the operation of functions requires a specific environment and dependencies, which are usually implemented by containers or micro virtual machines. Assigning a function to a deployed function instance is called hot call, and the preparation time can be controlled at the sub-millisecond level; while assigning a function to an edge node that does not contain the corresponding function instance requires the deployment of a new instance, which is called cold start. Cold start includes multiple steps such as image download, code loading, and environment configuration. The time consumed is usually up to dozens of times the actual execution time of the function, which is unacceptable for latency-sensitive tasks. Therefore, how to reduce the frequency of cold starts is an important issue in improving system efficiency.

[0005] Another difficulty comes from the inherent nature of functions in server-agnostic architectures. Since functions are usually stateless, while their external dependencies are usually stateful, offline function profiling may lead to inconsistent or corrupted data. On the other hand, the branching structure that may exist in the code makes the execution of the function highly dependent on the actual user input data, which makes the function execution time unknown in advance and highly variable.

[0006] In addition, data-intensive services require users to transmit large amounts of input data to computing nodes, and the computing tasks coupled with them usually have latency constraints. Therefore, we need to better combine network transmission with node computing scheduling, so that the system can make more reliable decisions in an uncertain information environment to ensure the end-to-end latency of computing tasks.

[0007] Existing technologies usually focus on the scheduling of tasks in edge computing systems, focusing on multiple performance indicators such as delay constraint violation rate, maximum completion time, cumulative service rewards, system operation overhead, etc., but they still cannot well support the edge server non-aware computing architecture. The main reasons are: First, mainstream technical means need to know the exact computing requirements of the function, but this physical quantity is difficult to know in actual industrial scenarios. Second, existing edge computing scheduling technologies often ignore the process of function cold start, cannot consider instance deployment and function scheduling at the same time, and lack the combination of function scheduling and data transmission. Considering the strong coupling of each stage of the function life cycle, considering each step in isolation usually leads to a highly suboptimal solution, so the problem of joint optimization needs to be solved urgently. On the other hand, the existing server non-aware scheduling system is mainly aimed at cloud data centers, and it is difficult to take into account the limited nature of edge network resources and make full use of the collaborative sharing capabilities between nodes. Summary of the invention

[0008] The purpose of the present invention is to provide a server-unaware computing function orchestration method, system and device for edge networks, which can solve the technical problems of server-unaware computing function orchestration, container instance deployment, and splittable routing and scheduling joint optimization of functions in resource-constrained edge networks, thereby maximizing the cumulative service reward that meets latency constraints.

[0009] Specifically, on the one hand, the present invention provides a server-unaware computing function orchestration method for edge networks, including real-time processing and triggered decision-making:

[0010] The real-time processing schedules and executes the function in each function instance at each time step of the discrete time system, including a hot call step; the hot call step runs the corresponding preemptive scheduling algorithm or non-preemptive scheduling algorithm according to whether the system hot scheduling mode is a preemptive scheduling mode or a non-preemptive scheduling mode;

[0011] The trigger decision includes a routing scheduling joint optimization step and a cold start step;

[0012] The routing scheduling joint optimization step includes:

[0013] Read new function requests submitted by users online Request information, network status, and the new function request State information of instance c of the same category, and the function scheduling sequence corresponding to the shortest path , and the expected delay violation probability ; Calculate the one with the lowest cost among all feasible function scheduling sequences, where a feasible function scheduling sequence refers to any sequence that can make each function in the feasible function scheduling sequence run at a rate not less than The probability of completing the function execution order before the delay constraint; for current and new function requests All instances of the same survival function obtain the routing deadline;

[0014] Try each surviving instance of the same function in turn, and expand the network timing diagram The new function request is found in The starting node and the set of ending nodes allowed within the corresponding routing deadline; according to the shortest path from all the starting nodes to the ending nodes found The corresponding links and times are used to route packets and take advantage of the shortest path The corresponding function dispatch sequence As the latest scheduling sequence, go to the hot call step to schedule data packets;

[0015] If no route and schedule that meet the requirements can be found within the route deadline, or the route scheduling solution does not meet the requirements, a cold start is triggered and the process goes to the cold start step;

[0016] Cold starting a new function instance through the cold start step includes:

[0017] Computing on network nodes Deploy edge node c and shut down the container node to be shut down Deployment benefits

[0018] Function instance deployment: Through the outer loop, calculate the benefits of deploying containers on edge node C ; Through the inner loop, for each node in the network that has the same container image as the container to be deployed, , go to the route scheduling joint optimization step to perform route scheduling and calculate the data transmission overhead ; If the system benefit cost ratio If it increases, its value is updated and the corresponding deployment decision is recorded; when the cycle ends, the output makes the system benefit cost ratio Maximize deployment decisions and cold start new function instances based on the decisions.

[0019] Further, the current and new function requests For all similar survival function instances, the route deadlines are:

[0020] 1-1-1) Request a new function Put into the function dispatch queue The end of

[0021] 1-1-2) Initialize the routing deadline to , and schedule the function sequence in order Each priority in The following function , and each priority in the function Previous function , calculate the following physical quantities:

[0022]

[0023] in, Functions specified for SLO The latency requirement, For users The function execution time, is the expected delay violation probability; in preemptive mode, Defined to include all current functions with a priority no lower than And the data delivery time is later than the function A set of functions, including function q; in non-preemptive scheduling mode, Defined as containing all current priorities in the function A collection of functions between ;

[0024] If it appears and , is a function The actual delivery time of the data is not reached, the function scheduling sequence is not feasible, go to step 1-1-3);

[0025] like and If the value is reduced, record the value as the routing deadline and go to step 1-1-4);

[0026] 1-1-3) Request the new function In the function dispatch sequence table Move forward one position in the new function. Already in function dispatch queue If the function scheduling sequence is still infeasible, then output that the function scheduling sequence is infeasible and end; otherwise, return to step 1-1-2);

[0027] 1-1-4) Scheduling the function sequence Each priority in the new function request Previous function Calculate the following physical quantities in sequence:

[0028]

[0029] in,

[0030]

[0031] If found , then the function scheduling sequence is not feasible, exist Move forward one position in the function and return to step 1-1-2); otherwise, the current function scheduling sequence is feasible, go to step 1-1-5);

[0032] 1-1-5) Output deadline and corresponding function scheduling sequence.

[0033] Furthermore, the above method tries each surviving instance of the same function in turn, in the network timing expansion diagram The new function request is found in The starting node and the set of ending nodes allowed within the corresponding routing deadline include:

[0034] right of Each packet executes (1) and (2) respectively:

[0035] (1) Update variables:

[0036]

[0037]

[0038] in, The transmission bandwidth specified for SL0 of user k, For Link bandwidth, and They are and The estimated value of is the algorithm hyperparameter, The task reward for completing the task on time specified by SL0 of user k, For users The SL0 specifies the transmission bandwidth, For users The number of packets, For users The SL0 specified task reward obtained by completing the task on time, is the number of data packets of user k;

[0039] (2) Network timing expansion diagram Each edge is given a weight , calculate the shortest path from the start node to the end node set through any shortest path algorithm , and keep accumulating, and record the final sum as .

[0040] Furthermore, if , then the routing and scheduling scheme meets the requirements.

[0041] Furthermore, the preemptive scheduling algorithm includes:

[0042] Enter the latest function scheduling sequence ,Find the function with the highest priority and completed data transmission in each time slot; if the function does not exceed the set delay constraint, execute the function in the time slot, otherwise move the function priority to the lowest; if all functions have timed out, execute these functions in any order;

[0043] The non-preemptive scheduling algorithm includes:

[0044] Enter the latest function scheduling sequence , whenever a new function completes, observe the highest priority function assigned to the instance and the highest priority function that has completed the data transfer ; and determine which function to execute next based on the following inequality:

[0045]

[0046] If the inequality holds, the function is executed Otherwise, wait for the function Execute the function after the transfer is completed .

[0047] Furthermore, the calculation is performed at the network node Deploy edge node c and shut down the container node to be shut down The resulting deployment benefits include:

[0048] 3-1-1) For each function category , Update the container allocation matrix based on the input parameters for a list of all available function types , construct an auxiliary bipartite graph ; The auxiliary bipartite graph One side of represents the container node, and the other side represents the unsatisfied edge nodes adjacent to the container node, which is constructed as follows:

[0049] The distribution matrix The (i,m,v)th element in Set to 0, delete all saturated container nodes x and all satisfied network nodes n, add container nodes c and network nodes to be deployed ;in Represents the set of nodes adjacent to the node where container c is located in the edge network. If for network node n: , then the network node n is said to be satisfied; if for the container node x: , then the container node x is called a saturated container node; by connecting the container node with the edge node in the auxiliary bipartite graph, it means that there is a direct communication link between the edge node and the edge node where the container is located, and the container node is a non-saturated container node and the edge node is not satisfied;

[0050] 3-1-2) Under the currently selected function category, find the network nodes with degree 1 and unsatisfied ; If not, find a container node with degree 1 and is not saturated , let n be the only network node with the same vector; if there is still no such node, then select any network node ,remember , ; Go to step 3-1-3);

[0051] 3-1-3) Order For any node connected to n in the auxiliary bipartite graph, update , update the auxiliary bipartite graph and return to step 3-1-2 until no nodes that meet the requirements are found; output in the network node Deploy edge node c and shut down the container node to be shut down The deployment benefit brought by ,in It is a collection of all current containers and new containers.

[0052] On the other hand, the present invention also provides a server-unaware computing function scheduling system for edge networks, which is used to implement the above-mentioned server-unaware computing function scheduling method for edge networks, including a main decision maker, an instance internal scheduler, a network status monitor, a function instance deployer, a routing deadline adjuster, and a routing scheduling joint optimizer;

[0053] The main decision maker completes the system decision, receives the necessary input parameters from the user side to implement the decision according to the status of each component in the edge network detected by the network status monitor; the decision framework of the main decision maker includes real-time processing and triggered decision;

[0054] The real-time processing refers to the scheduling and execution of the function in each function instance at each time step of the discrete time system, which is completed by the internal scheduler of the instance; the system supports both preemptive and non-preemptive scheduling as needed. If the preemptive mode is turned on, the internal scheduler of the instance runs the preemptive scheduling algorithm, otherwise it runs the non-preemptive scheduling algorithm;

[0055] The trigger decision is triggered by a function request submitted by a user online. The main decision maker reads the task information in the function request and the system status in the network status monitor, and calculates the routing deadline through the routing deadline adjuster. , and Pass it to the routing scheduling joint optimizer to obtain the routing and function scheduling sequence table of the function request; if the routing deadline is No route or schedule that satisfies the requirements can be found, or the cost function output by the route-scheduling joint optimizer exceeds the task reward obtained by completing the task on time. , a cold start is triggered. After the function instance deployer completes the cold start, the instance internal scheduler runs the corresponding scheduling algorithm; otherwise, a hot call is triggered according to the calculated route and scheduling table. The instance internal scheduler runs the corresponding scheduling algorithm according to the route of the function request and the sequence table of function scheduling provided by the route scheduling joint optimizer.

[0056] On the other hand, the present invention also provides a server-unaware computing function orchestration device for edge networks, the device comprising a memory and a processor; the memory stores a computer program, and the processor executes the computer program to implement the steps of the server-unaware computing function orchestration method for edge networks according to any one of claims 1-6.

[0057] On the other hand, the present invention also provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the above-mentioned method for server-unaware computing function orchestration for edge networks are implemented.

[0058] On the other hand, the present invention also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the above-mentioned server-unaware computing function orchestration method for edge networks.

[0059] The method proposed in the present invention is based on the following facts, constructing a special data structure, that is, constructing a network timing expansion graph and all operations on it, so as to achieve efficient algorithm design:

[0060] (1) The time scale for function instance deployment is usually much longer than function execution and data transmission, and container images can be shared between nodes.

[0061] (2) The actual execution time of a function is unpredictable, but a high-probability estimate can be obtained based on the first-order and second-order moment information obtained from historical execution records. The randomness of the execution time of a single function decreases as its execution progresses.

[0062] (3) The relaxation of the joint optimization problem has a linear structure.

[0063] The beneficial effects of the edge network-oriented server-unaware computing function arrangement method, system and device of the present invention are as follows:

[0064] The server-unaware computing function arrangement, system and device for edge networks of the present invention determines the deployment, caching and deletion of function instances by solving a sub-problem that reflects the current environment and system status, and simultaneously realizes the splittable routing of data and the scheduling of functions based on the online primal-dual scheme. In addition, the function scheduling is adaptive, and its execution order is dynamically adjusted according to the delay satisfaction and the actual execution time of the function, providing a high probability guarantee for the server-unaware edge computing task delay.

[0065] The server-aware computing function orchestration method and system for edge networks of the present invention integrates the joint optimization of function instance deployment, splittable data routing, and adaptive scheduling. Specifically, when a new request arrives, the system decision is divided into the following situations:

[0066] In the case of a cold start, the deployment of container instances is done by the function instance deployer, which uses the distribution of current system instances and images as input to solve the sub-problem of maximizing the deployment benefit-transmission overhead ratio, thereby determining the deployment node of the new instance, the image pulling node, and the routing of all related data packets.

[0067] In the case of hot calls, the joint optimization of split routing and scheduling can simultaneously calculate the routes of all input data packets, the assigned nodes of new functions, and the corresponding scheduling order through the routing and scheduling joint optimizer based on the online primal-dual solution. The scheduling order of functions changes dynamically with the actual execution of the functions, thereby improving the service benefits of the system to meet the latency requirements.

[0068] The server-unaware computing function scheduling method, system and device for edge networks of the present invention integrate the above-mentioned decision-making method, use the relevant data obtained from the actual industrial scene function execution record to conduct numerical experiments, and compare and test with a variety of scheduling and caching strategies representing current technological progress under a variety of experimental conditions. The experimental results show that the present invention can achieve the highest cumulative service reward and the lowest number of cold starts in different environments. The purpose of the present invention is to provide a server-unaware computing function scheduling method, system and device for edge networks, which can solve the technical problems of server-unaware computing function scheduling, container instance deployment, splittable routing of functions and joint optimization of scheduling in resource-constrained edge networks, thereby maximizing the cumulative service reward that meets the delay constraint.

[0069] Specifically, on the one hand, the present invention provides a server-unaware computing function orchestration method for edge networks, including real-time processing and triggered decision-making:

[0070] The real-time processing schedules and executes the function in each function instance at each time step of the discrete time system, including a hot call step; the hot call step runs the corresponding preemptive scheduling algorithm or non-preemptive scheduling algorithm according to whether the system hot scheduling mode is a preemptive scheduling mode or a non-preemptive scheduling mode;

[0071] The trigger decision includes a routing scheduling joint optimization step and a cold start step;

[0072] The routing scheduling joint optimization step includes:

[0073] Read new function requests submitted by users online Request information, network status, and the new function request State information of instance c of the same category, and the function scheduling sequence corresponding to the shortest path , and the expected delay violation probability ; Calculate the one with the lowest cost among all feasible function scheduling sequences, where a feasible function scheduling sequence refers to any sequence that can make each function in the feasible function scheduling sequence run at a rate not less than The probability of completing the function execution order before the delay constraint; for current and new function requests All instances of the same survival function obtain the routing deadline;

[0074] Try each surviving instance of the same function in turn, and expand the network timing diagram The new function request is found in The starting node and the set of ending nodes allowed within the corresponding routing deadline; according to the shortest path from all the starting nodes to the ending nodes found The corresponding links and times are used to route packets and take advantage of the shortest path The corresponding function dispatch sequence As the latest scheduling sequence, go to the hot call step to schedule data packets;

[0075] If no route and schedule that meet the requirements can be found within the route deadline, or the route scheduling solution does not meet the requirements, a cold start is triggered and the process goes to the cold start step;

[0076] Cold starting a new function instance through the cold start step includes:

[0077] Computing on network nodes Deploy edge node c and shut down the container node to be shut down Deployment benefits

[0078] Function instance deployment: Through the outer loop, calculate the benefits of deploying containers on edge node C ; Through the inner loop, for each node in the network that has the same container image as the container to be deployed, , go to the route scheduling joint optimization step to perform route scheduling and calculate the data transmission overhead ; If the system benefit cost ratio If it increases, its value is updated and the corresponding deployment decision is recorded; when the cycle ends, the output makes the system benefit cost ratio Maximize deployment decisions and cold start new function instances based on the decisions.

[0079] Further, the current and new function requests For all similar survival function instances, the route deadlines are:

[0080] 1-1-1) Request a new function Put into the function dispatch queue The end of

[0081] 1-1-2) Initialize the routing deadline to , and schedule the function sequence in order Each priority in The following function , and each priority in the function Previous function , calculate the following physical quantities:

[0082]

[0083] in, Functions specified for SLO The latency requirement, For users The function execution time, is the expected delay violation probability; in preemptive mode, Defined to include all current functions with a priority no lower than And the data delivery time is later than the function A set of functions, including function q; in non-preemptive scheduling mode, Defined as containing all current priorities in the function A collection of functions between ;

[0084] If it appears and , is a function The actual delivery time of the data is not reached, the function scheduling sequence is not feasible, go to step 1-1-3);

[0085] like and If the value is reduced, record the value as the routing deadline and go to step 1-1-4);

[0086] 1-1-3) Request the new function In the function dispatch sequence table Move forward one position in the new function. Already in function dispatch queue If the function scheduling sequence is still infeasible, then output that the function scheduling sequence is infeasible and end; otherwise, return to step 1-1-2);

[0087] 1-1-4) Scheduling the function sequence Each priority in the new function request Previous function Calculate the following physical quantities in sequence:

[0088]

[0089] in,

[0090]

[0091] If found , then the function scheduling sequence is not feasible, exist Move forward one position in the function and return to step 1-1-2); otherwise, the current function scheduling sequence is feasible, go to step 1-1-5);

[0092] 1-1-5) Output deadline and corresponding function scheduling sequence.

[0093] Furthermore, the above method tries each surviving instance of the same function in turn, in the network timing expansion diagram The new function request is found in The starting node and the set of ending nodes allowed within the corresponding routing deadline include:

[0094] right of Each packet executes (1) and (2) respectively:

[0095] (3) Update variables:

[0096]

[0097]

[0098] in, The transmission bandwidth specified for SL0 of user k, For Link bandwidth, and They are and The estimated value of is the algorithm hyperparameter, The task reward for completing the task on time specified by SL0 of user k, For users The SL0 specifies the transmission bandwidth, For users The number of packets, For users The SL0 specified task reward obtained by completing the task on time, is the number of data packets of user k;

[0099] (4) Network timing expansion diagram Each edge is given a weight , calculate the shortest path from the start node to the end node set through any shortest path algorithm , and keep accumulating, and record the final sum as .

[0100] Furthermore, if , then the routing and scheduling scheme meets the requirements.

[0101] Furthermore, the preemptive scheduling algorithm includes:

[0102] Enter the latest function scheduling sequence ,Find the function with the highest priority and completed data transmission in each time slot; if the function does not exceed the set delay constraint, execute the function in the time slot, otherwise move the function priority to the lowest; if all functions have timed out, execute these functions in any order;

[0103] The non-preemptive scheduling algorithm includes:

[0104] Enter the latest function scheduling sequence , whenever a new function completes, observe the highest priority function assigned to the instance and the highest priority function that has completed the data transfer ; and determine which function to execute next based on the following inequality:

[0105]

[0106] If the inequality holds, the function is executed Otherwise, wait for the function Execute the function after the transfer is completed .

[0107] Furthermore, the calculation is performed at the network node Deploy edge node c and shut down the container node to be shut down The resulting deployment benefits include:

[0108] 3-1-1) For each function category , Update the container allocation matrix based on the input parameters for a list of all available function types , construct an auxiliary bipartite graph ; The auxiliary bipartite graph One side of represents the container node, and the other side represents the unsatisfied edge nodes adjacent to the container node, which is constructed as follows:

[0109] The distribution matrix The (i,m,v)th element in Set to 0, delete all saturated container nodes x and all satisfied network nodes n, add container nodes c and network nodes to be deployed ;in Represents the set of nodes adjacent to the node where container c is located in the edge network. If for network node n: , then the network node n is said to be satisfied; if for the container node x: , then the container node x is called a saturated container node; by connecting the container node with the edge node in the auxiliary bipartite graph, it means that there is a direct communication link between the edge node and the edge node where the container is located, and the container node is a non-saturated container node and the edge node is not satisfied;

[0110] 3-1-2) Under the currently selected function category, find the network nodes with degree 1 and unsatisfied ; If not, find a container node with degree 1 and is not saturated , let n be the only network node with the same vector; if there is still no such node, then select any network node ,remember , ; Go to step 3-1-3);

[0111] 3-1-3) Order For any node connected to n in the auxiliary bipartite graph, update , update the auxiliary bipartite graph and return to step 3-1-2 until no nodes that meet the requirements are found; output in the network node Deploy edge node c and shut down the container node to be shut down The deployment benefit brought by ,in It is a collection of all current containers and new containers.

[0112] On the other hand, the present invention also provides a server-unaware computing function scheduling system for edge networks, which is used to implement the above-mentioned server-unaware computing function scheduling method for edge networks, including a main decision maker, an instance internal scheduler, a network status monitor, a function instance deployer, a routing deadline adjuster, and a routing scheduling joint optimizer;

[0113] The main decision maker completes the system decision, receives the necessary input parameters from the user side to implement the decision according to the status of each component in the edge network detected by the network status monitor; the decision framework of the main decision maker includes real-time processing and triggered decision;

[0114] The real-time processing refers to the scheduling and execution of the function in each function instance at each time step of the discrete time system, which is completed by the internal scheduler of the instance; the system supports both preemptive and non-preemptive scheduling as needed. If the preemptive mode is turned on, the internal scheduler of the instance runs the preemptive scheduling algorithm, otherwise it runs the non-preemptive scheduling algorithm;

[0115] The trigger decision is triggered by a function request submitted by a user online. The main decision maker reads the task information in the function request and the system status in the network status monitor, and calculates the routing deadline through the routing deadline adjuster. , and Pass it to the routing scheduling joint optimizer to obtain the routing and function scheduling sequence table of the function request; if the routing deadline is No route or schedule that satisfies the requirements can be found, or the cost function output by the route-scheduling joint optimizer exceeds the task reward obtained by completing the task on time. , a cold start is triggered. After the function instance deployer completes the cold start, the instance internal scheduler runs the corresponding scheduling algorithm; otherwise, a hot call is triggered according to the calculated route and scheduling table. The instance internal scheduler runs the corresponding scheduling algorithm according to the route of the function request and the sequence table of function scheduling provided by the route scheduling joint optimizer.

[0116] On the other hand, the present invention also provides a server-unaware computing function orchestration device for edge networks, the device comprising a memory and a processor; the memory stores a computer program, and the processor executes the computer program to implement the steps of the server-unaware computing function orchestration method for edge networks according to any one of claims 1-6.

[0117] On the other hand, the present invention also provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the above-mentioned method for server-unaware computing function orchestration for edge networks are implemented.

[0118] On the other hand, the present invention also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the above-mentioned server-unaware computing function orchestration method for edge networks.

[0119] The method proposed in the present invention is based on the following facts, constructing a special data structure, that is, constructing a network timing expansion graph and all operations on it, so as to achieve efficient algorithm design:

[0120] (1) The time scale for function instance deployment is usually much longer than function execution and data transmission, and container images can be shared between nodes.

[0121] (2) The actual execution time of a function is unpredictable, but a high-probability estimate can be obtained based on the first-order and second-order moment information obtained from historical execution records. The randomness of the execution time of a single function decreases as its execution progresses.

[0122] (3) The relaxation of the joint optimization problem has a linear structure.

[0123] The beneficial effects of the edge network-oriented server-unaware computing function arrangement method, system and device of the present invention are as follows:

[0124] The server-unaware computing function arrangement, system and device for edge networks of the present invention determines the deployment, caching and deletion of function instances by solving a sub-problem that reflects the current environment and system status, and simultaneously realizes the splittable routing of data and the scheduling of functions based on the online primal-dual scheme. In addition, the function scheduling is adaptive, and its execution order is dynamically adjusted according to the delay satisfaction and the actual execution time of the function, providing a high probability guarantee for the server-unaware edge computing task delay.

[0125] The server-aware computing function orchestration method and system for edge networks of the present invention integrates the joint optimization of function instance deployment, splittable data routing, and adaptive scheduling. Specifically, when a new request arrives, the system decision is divided into the following situations:

[0126] In the case of a cold start, the deployment of container instances is done by the function instance deployer, which uses the distribution of current system instances and images as input to solve the sub-problem of maximizing the deployment benefit-transmission overhead ratio, thereby determining the deployment node of the new instance, the image pulling node, and the routing of all related data packets.

[0127] In the case of hot calls, the joint optimization of split routing and scheduling can simultaneously calculate the routes of all input data packets, the assigned nodes of new functions, and the corresponding scheduling order through the routing and scheduling joint optimizer based on the online primal-dual solution. The scheduling order of functions changes dynamically with the actual execution of the functions, thereby improving the service benefits of the system to meet the latency requirements.

[0128] The server-unaware computing function orchestration method, system and device for edge networks of the present invention integrate the above-mentioned decision-making method, use the relevant data obtained from the function execution records of actual industrial scenarios to conduct numerical experiments, and conduct comparative tests with various scheduling and caching strategies representing current technological progress under various experimental conditions. The experimental results show that the present invention can achieve the highest cumulative service reward and the lowest number of cold starts in different environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0129] Figure 1 Schematic diagram of a function arrangement system according to an embodiment of the present invention.

[0130] Figure 2 It is a schematic diagram of a network timing expansion diagram of an embodiment of the present invention.

[0131] Figure 3 It is a schematic diagram of adaptive scheduling sequence exchange of an example internal scheduler of an embodiment of the present invention.

[0132] Figure 4 It is a schematic diagram of an auxiliary bipartite graph for benefit calculation according to an embodiment of the present invention.

[0133] Figure 5It is a schematic diagram of cold start function instance deployment according to an embodiment of the present invention.

[0134] Figure 6 1 is a schematic diagram of the cumulative service reward and the number of cold starts under different environments using the non-preemptive scheduling mode of an embodiment of the present invention, wherein (a) is the relationship between the service reward and the task arrival rate under non-preemptive scheduling, (b) is the relationship between the service reward and the maximum link bandwidth under non-preemptive scheduling, (c) is the relationship between the service reward and the node memory capacity under non-preemptive scheduling, (d) is the relationship between the number of cold starts and the task arrival rate under non-preemptive scheduling, (e) is the relationship between the number of cold starts and the maximum link bandwidth under non-preemptive scheduling, and (f) is the relationship between the number of cold starts and the node memory capacity under non-preemptive scheduling.

[0135] Figure 7 Schematic diagram of the cumulative service reward and the number of cold starts under different environments using the preemptive scheduling mode in an embodiment of the present invention, wherein (a) is the relationship between the service reward and the task arrival rate under preemptive scheduling, (b) is the relationship between the service reward and the maximum link bandwidth under preemptive scheduling, (c) is the relationship between the service reward and the node memory capacity under preemptive scheduling, (d) is the relationship between the number of cold starts and the task arrival rate under preemptive scheduling, (e) is the relationship between the number of cold starts and the maximum link bandwidth under preemptive scheduling, and (f) is the relationship between the number of cold starts and the node memory capacity under preemptive scheduling.

[0136] Figure 8 It is a schematic diagram of the relationship between the accumulated service reward and the network scale in the preemptive scheduling mode of an embodiment of the present invention. DETAILED DESCRIPTION

[0137] The present invention is further described in detail below in conjunction with embodiments and with reference to the accompanying drawings.

[0138] The following mathematical symbols are used in the examples of this application:

[0139] stands for mathematical expectation; represents X to the power of k; Representing physical quantities In the collection Elements in The value below.

[0140] One embodiment of the present invention is a server-unaware computing function orchestration system for edge networks, such as Figure 1 shown.

[0141] The present invention adopts the following system model:

[0142] A diagram Represents the edge network, where represents the edge node, Represents the communication link between nodes. Edge nodes can simultaneously undertake the tasks of network access forwarding and function instance generation and calculation.

[0143] link ( ) bandwidth Indicates that the node Memory capacity of Service providers can register to provide a list of function types, that is, a list of all available function types. , for each of the functions , whose function execution time and cold start time are both unknown random quantities, respectively In addition, the amount of memory consumed by each surviving container is , its image file will not be deleted during its survival period, and it can be shared between networks. data packets.

[0144] The user collection is , where each user ( ) appears online at any node in the network and submits a function request and SLO (Service-Level-Objective) tuple , whose elements They represent the transmission bandwidth, function category, latency requirement, and task reward for on-time completion of user k specified by SLO. In addition, each user needs to transmit the necessary input data for the execution of the function, including data packets. For any user ,Will and Defined as user Function execution time, cold start time, memory consumption, and number of image file packets. Considering a discrete time system, the time slot length is defined as the time length that a single data packet can complete the transmission in the link.

[0145] In order to maximize the sum of rewards obtained by global users after completing function tasks on time, the present invention proposes a server-aware function orchestration system for edge networks, including a main decision maker, an instance internal scheduler, a network status monitor, a function instance deployer, a routing deadline adjuster and a routing scheduling joint optimizer.

[0146] System decisions are made by the main decision maker, which receives the necessary input parameters from the user side to implement necessary decisions based on the status of each component in the network detected by the network status monitor. The decision framework of the main decision maker includes real-time processing and triggered decisions. Real-time processing is responsible for adjusting the calculation order in the container instance at all times, and triggered decisions are triggered by events such as the arrival of function requests and the completion of execution. Real-time processing and triggered decisions control two parallel processes.

[0147] Specifically, real-time processing refers to the processing of each surviving container (i.e. Figure 1 The function in the function instance is scheduled and executed by the instance's internal scheduler. The system can support both preemptive and non-preemptive scheduling as needed. Preemptive scheduling means that the function execution can be temporarily suspended and continued later; non-preemptive scheduling means that the function can only be run until completion and cannot be paused in the middle. If the preemptive mode is turned on, the instance's internal scheduler runs the preemptive scheduling algorithm, otherwise it runs the non-preemptive scheduling algorithm.

[0148] The triggered decision is triggered by the function request submitted by the user online. The main decision maker reads the task information in the function request and the system status in the network status monitor, and calculates the routing deadline through the routing deadline adjuster. , and Pass it to the routing scheduling joint optimizer to obtain the routing and function scheduling sequence table of the function request. No route and schedule that meet the requirements can be found (i.e. the route scheduling joint optimizer outputs an infeasible function scheduling sequence or there is no surviving function instance of the same type), or the cost function output by the route scheduling joint optimizer exceeds the task reward obtained by completing the task on time , that is, if the routing scheduling scheme does not meet the requirements, a cold start is triggered. After the function instance deployer completes the cold start, the internal scheduler of the instance runs the corresponding scheduling algorithm; otherwise, a hot call is triggered according to the calculated routing and scheduling table. The internal scheduler of the instance runs the corresponding scheduling algorithm according to the routing of the function request and the sequence table of function scheduling provided by the routing scheduling joint optimizer.

[0149] The server-unaware computing function arrangement method for edge networks of the present invention includes real-time processing and triggered decision-making:

[0150] The real-time processing schedules and executes the function in each function instance at each time step of the discrete time system, including a hot call step; the hot call step runs the corresponding preemptive scheduling algorithm or non-preemptive scheduling algorithm according to whether the system hot scheduling mode is a preemptive scheduling mode or a non-preemptive scheduling mode.

[0151] The trigger decision includes a routing scheduling joint optimization step and a cold start step.

[0152] Routing and scheduling joint optimization steps:

[0153] The main decider reads new function requests submitted by users online request information, network status in the network status monitor, and status information of all instances; based on the network topology Constructing a network timing expansion diagram ,make is the maximum sequence length. The construction method is to arrange the network nodes of each time slot in a row, and the network nodes corresponding to the current time slot The network node with the next time slot There exists a directed edge in . Define variables With weight , initialize it to .

[0154] A network with four nodes A, B, C, and D For an example of the corresponding network timing expansion diagram, see Figure 2 , including four time slots, each row represents the network node in the corresponding time slot. A path in the network timing expansion graph corresponds to the propagation of data on nodes and time slots, so it can be interpreted as a path. For example: point A in the first row Point B of the second row Point B on the third row Point D in the fourth row can be interpreted as data arriving at point B after one time slot from point A, being cached at point B for one time slot, and then arriving at point D. Such a path can be represented by the directed edges in the network timing expansion graph. and the corresponding time slots The two-tuple The collection composed of.

[0155] The details are as follows:

[0156] 1-1) Read new function requests submitted by users online Request information, network status, and function requests State information of instance c of the same category, and the function scheduling sequence corresponding to the shortest path , and the expected delay violation probability Calculate the lowest cost among all feasible function scheduling sequences, and define a feasible function scheduling sequence as any sequence that can make each function in the feasible function scheduling sequence run at a cost no less than The probability of completing the function execution order before the delay constraint is the same as the probability of completing the function execution order before the delay constraint. All instances of the same survival function get the routing deadline, including:

[0157] 1-1-1) Request the new function Put into the function dispatch queue The end of .

[0158] 1-1-2) Initialize the routing deadline to , and schedule the function sequence in order Each priority in The following function , and each priority in the function Previous function , calculate the following physical quantities:

[0159]

[0160] in, Functions specified for SLO The latency requirement, In preemptive mode, Defined to include all current functions with a priority no lower than (Include itself) and the data is delivered later than the function A collection of functions; in non-preemptive scheduling mode, Defined as containing all current priorities in the function Between (including ) is a collection of functions.

[0161] If it appears and , is a function The actual delivery time of the data is not reached, the function scheduling sequence is not feasible, go to step 1-1-3);

[0162] like and If the value is reduced, record the value as the routing deadline and go to step 1-1-4).

[0163] 1-1-3) Request the new function In the function dispatch sequence table Move forward one position in the new function. Already in function dispatch queue If the function scheduling sequence is still infeasible, then the output function scheduling sequence is infeasible and step 1-2 is ended. Otherwise, return to step 1-1-2).

[0164] 1-1-4) Scheduling the function sequence Each priority in the new function request Previous function Calculate the following physical quantities:

[0165]

[0166] in,

[0167]

[0168] If found , then the function scheduling sequence is not feasible, exist Move forward one position in the function and return to step 1-1-2); otherwise, the current function scheduling sequence is feasible, go to step 1-1-5).

[0169] 1-1-4) Output deadline and corresponding function scheduling sequence.

[0170] 1-2) Try each surviving instance of the same function in turn, and expand the network timing diagram New function requests found in The starting node of the corresponding routing and the set of end nodes allowed within the deadline. of Each packet executes (1) and (2) respectively:

[0171] (1) Update variables:

[0172]

[0173]

[0174] in, The transmission bandwidth specified for SL0 of user k, For Link bandwidth, and They are and The estimated value of It is an algorithm hyperparameter, which is manually adjusted according to the actual situation. The task reward for completing the task on time specified by SL0 of user k, For users The SL0 specifies the transmission bandwidth, For users The number of packets, For users The SL0 specified task reward obtained by completing the task on time, is the number of data packets of user k.

[0175] (2) Network timing expansion diagram Each edge is given a weight , calculate the shortest path from the starting point to the end point set through any shortest path algorithm (such as Dijkstra, Bellman-Ford, A star, etc.) , and keep accumulating, and record the final sum as .

[0176] like , then the routing and scheduling scheme meets the requirements. According to all the shortest paths from the starting node to the ending node found The corresponding links and times are used to route packets and take advantage of the shortest path The corresponding function dispatch sequence As the latest scheduling sequence, go to the hot call step to schedule the data packet; otherwise, cancel the variable update in (1) and go to step 1-2) to try the next surviving function instance of the same type.

[0177] If the routing deadline No route or schedule that meets the requirements can be found (i.e., the route-scheduling joint optimizer outputs an infeasible function scheduling sequence or there is no surviving function instance of the same type), or the cost function output by the route-scheduling joint optimizer More than the task reward obtained by completing it on time , that is, the routing scheduling solution does not meet the requirements, the hot call fails, triggering a cold start, and then goes to the cold start step to try to cold start a new function instance.

[0178] Hot call steps:

[0179] According to the system thermal scheduling mode, run the corresponding scheduling algorithm.

[0180] Preemptive scheduling mode: Run the following preemptive scheduling algorithm.

[0181] Enter the latest function scheduling sequence ,Find the function with the highest priority and completed data transmission in each time slot. If the function does not exceed the set delay constraint, execute the function in the time slot, otherwise move the function priority to the lowest. If all functions have timed out, execute these functions in any order.

[0182] Non-preemptive scheduling mode: Run the following non-preemptive scheduling algorithm.

[0183] Enter the latest function scheduling sequence , whenever a new function completes, observe the highest priority function assigned to the instance and the highest priority function that has completed the data transfer . And decide which function to execute next based on the following inequality:

[0184]

[0185] If the inequality holds, the function is executed Otherwise, wait for the function Execute the function after the transfer is completed .

[0186] This process is equivalent to adaptively adjusting the scheduling sequence according to the function execution status, see Figure 3 Assuming that the container is currently in an idle state, in the original function scheduling sequence, the function request node A is executed before the network intermediate forwarding node B, that is, node A corresponds to the original highest priority function u, and node B corresponds to the highest priority function h that has completed data transmission. By calculating the above formula, it is determined whether the function request node A or the network intermediate forwarding node B will be executed first. Figure 3 The situation shown in assumes that the above inequality holds, so B is executed first. This operation achieves a high probability delay guarantee for the function and makes better use of the idle period of the container to improve resource utilization.

[0187] Cold start steps:

[0188] Use the following cold start steps to cold start a new function instance.

[0189] 3-1) Calculation on network nodes Deploy edge node c and shut down the container node to be shut down The benefits of deployment.

[0190] Input parameters: container deployment information of the current network, status information of each container, and container nodes to be deployed , nodes to be deployed , container nodes to be shut down , current container allocation matrix , where the (i,m,c)th element is recorded as .

[0191] definition For the Class functions at edge nodes The arrival rate, For the The average value of the class function delay constraint, are the edge nodes adjacent to node m (including node m itself), Represents the container node The edge node where . If for network node n: , then the network node n is said to be satisfied; if for the container node x: , then the container node x is called saturated.

[0192] 3-1-1) For each function category , Update the container allocation matrix based on the input parameters for a list of all available function types , construct an auxiliary bipartite graph .

[0193] Auxiliary Bipartite Graph One side represents the container node, and the other side represents the edge node, which is constructed as follows:

[0194] The distribution matrix The (i,m,v)th element in Set to 0, delete all saturated container nodes x and all satisfied network nodes n, add container nodes c and network nodes to be deployed .

[0195] Figure 4 The auxiliary bipartite graph consisting of the unsaturated container nodes (1, 2, 3, 4) and their adjacent unsatisfied edge nodes (a, b, c, d, e, f) in the i-th container is shown. Container node 1 is directly connected to edge nodes a and b, container node 2 is connected to edge node b, container node 3 is connected to edge nodes c and d, and container node 4 is connected to edge nodes c, e, and f.

[0196] 3-1-2) Under the currently selected function category, find the network nodes with degree 1 and unsatisfied ; If not, find a container node with degree 1 and is not saturated , let n be the only network node with the same vector; if there is still no such node, then select any network node ,remember , ; Go to step 3-1-3).

[0197] 3-1-3) Order For For any connected nodes in the auxiliary bipartite graph, update , update the auxiliary bipartite graph, and return to step (3-1-2) until no node that meets the requirements is found. Output in the network node Deploy edge node c and shut down the container node to be shut down The deployment benefit brought by ,in It is a collection of all current containers and new containers.

[0198] 3-2) Function instance deployment.

[0199] 3-2-1) Through the outer loop, calculate the benefits of deploying containers on edge node C :For each edge node in the network , close the container that causes the smallest drop in deployment benefit value, until the total memory consumed by the surviving containers and the newly deployed containers does not exceed the memory capacity of the edge node m , record its gain function value .like Less than the node where the container to be deployed is not deployed If the gain function value is not found, this edge node is skipped and the outer loop steps are repeated for the next edge node.

[0200] 3-2-2) Inner loop: For every Pull the node for the same container image as the container to be deployed , go to the routing and scheduling joint optimization step to perform routing scheduling.

[0201] It should be noted that the network timing expansion diagram The starting node includes Container image pulling node The corresponding nodes also include the user's access nodes ; Note that the cold start can be regarded as a non-preemptible and highest priority computing task at this time, and the termination node set can be obtained by step 1-1) (adjusting the routing deadline). In addition, the number of packets is , which includes both mirror transmission and user input data. The data transmission overhead calculated by recording is .

[0202] 3-2-3) If the system benefit cost ratio If it increases, its value is updated and the corresponding deployment decision is recorded, including: the corresponding deployment node , Image Pull Node , the closed container set, and all When the loop is finished, the deployment decision that maximizes the system benefit-cost ratio is output, and the new function instance is cold-started based on the decision content.

[0203] Refer to the process shown in 3-2-1) to 3-2-3) Figure 5 , , the user access node (function request node) is A, B is the intermediate node, C is the instance deployment node, and D is the image pull node. The edge node m=C calculated in this cycle, that is, try to calculate the benefit-cost ratio of cold starting the container at point C. First, use step 3-1) to calculate the benefit of deploying the container at point C Then, the routing calculation algorithm in step 1-2) is used to calculate the cost Q of routing the user's 2 data packets and the mirrored 3 data packets from point A and point D to point C respectively. Then the benefit-cost ratio is .

[0204] The server-unaware computing function scheduling method and system for edge networks of the present invention determines the deployment, caching and deletion of function instances by solving a sub-problem that reflects the current environment and system status, and simultaneously realizes the splittable routing of data and the scheduling of functions based on the online primal-dual scheme. In addition, the function scheduling is adaptive, and its execution order is dynamically adjusted according to the delay satisfaction and the actual execution time of the function, providing a high probability guarantee of the server-unaware edge computing task delay.

[0205] The server-aware computing function orchestration method and system for edge networks of the present invention integrates the joint optimization of function instance deployment, splittable data routing, and adaptive scheduling. Specifically, when a new request arrives, the system decision is divided into the following situations:

[0206] In the case of a cold start, the deployment of container instances is done by the function instance deployer, which uses the distribution of current system instances and images as input to solve the sub-problem of maximizing the deployment benefit-transmission overhead ratio, thereby determining the deployment node of the new instance, the image pulling node, and the routing of all related data packets.

[0207] In the case of hot calls, the joint optimization of split routing and scheduling can simultaneously calculate the routes of all input data packets, the assigned nodes of new functions, and the corresponding scheduling order through the routing and scheduling joint optimizer based on the online primal-dual solution. The scheduling order of functions changes dynamically with the actual execution of the functions, thereby improving the service benefits of the system to meet the latency requirements.

[0208] The server-unaware computing function orchestration method, system and device for edge networks of the present invention integrate the above-mentioned decision-making method, use the relevant data obtained from the function execution records of actual industrial scenarios to conduct numerical experiments, and conduct comparative tests with various scheduling and caching strategies representing current technological progress under various experimental conditions. The experimental results show that the present invention can achieve the highest cumulative service reward and the lowest number of cold starts in different environments.

[0209] The server-unaware computing function orchestration method, system and device for edge network of the present invention can be implemented.

[0210] Figure 6 (a)-(c) respectively show that under different request arrival rates, maximum link bandwidth and node memory settings in non-preemptive scheduling, the server-unaware computing function scheduling method, system and device for edge networks of the present invention all achieved the highest cumulative service reward. Figure 6 (e)-(f) show that the number of cold starts of the function in the present invention is not much different from the minimum number of cold starts. Figure 7 It shows that under various settings of preemptive scheduling scenarios, the present invention can achieve the same effect as non-preemptive scenarios, and can obtain the highest cumulative service reward and a lower number of cold starts. Figure 8 The relationship between the cumulative service reward and the network scale is demonstrated, indicating that the server-unaware computing function scheduling method, system and device for edge networks of the present invention can improve the cumulative service reward under hard delay constraints at different network scales.

[0211] In some embodiments, certain aspects of the above-described techniques may be implemented by one or more processors of a processing system executing software. The software includes one or more sets of executable instructions stored or otherwise tangibly implemented on a non-transitory computer-readable storage medium. The software may include instructions and certain data that manipulate one or more processors to perform one or more aspects of the above-described techniques when executed by one or more processors. Non-transitory computer-readable storage media may include, for example, magnetic or optical disk storage devices, solid-state storage devices such as flash memory, cache, random access memory (RAM), or other non-volatile memory devices. The executable instructions stored on a non-transitory computer-readable storage medium may be source code, assembly language code, object code, or other instruction formats interpreted or otherwise executed by one or more processors.

[0212] Computer-readable storage media may include any storage media or combination of storage media that can be accessed by a computer system during use to provide instructions and / or data to the computer system. Such storage media may include, but are not limited to, optical media (e.g., compact disks (CDs), digital versatile disks (DVDs), Blu-ray disks), magnetic media (e.g., floppy disks, magnetic tapes, or magnetic hard drives), volatile memory (e.g., random access memory (RAM) or cache), non-volatile memory (e.g., read-only memory (ROM) or flash memory), or micro-electromechanical system (MEMS)-based storage media. Computer-readable storage media may be embedded in a computing system (e.g., system RAM or ROM), fixedly attached to a computing system (e.g., a magnetic hard drive), removably attached to a computing system (e.g., an optical disk or universal serial bus (USB)-based flash memory), or coupled to a computer system via a wired or wireless network (e.g., network accessible storage (NAS)).

[0213] Although the present invention has been disclosed as above with preferred embodiments, the embodiments are not intended to limit the present invention. Any equivalent changes or modifications made without departing from the spirit and scope of the present invention also belong to the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the content defined by the claims of this application.

Claims

1. A server-unaware computing function orchestration method for edge networks, characterized in that: Including real-time processing and triggered decision making: The real-time processing schedules and executes the function in each function instance at each time step of the discrete time system, including a hot call step; The hot call step runs the corresponding preemptive scheduling algorithm or non-preemptive scheduling algorithm according to whether the system hot scheduling mode is a preemptive scheduling mode or a non-preemptive scheduling mode; The trigger decision includes a routing scheduling joint optimization step and a cold start step; The routing scheduling joint optimization step includes: Read new function requests submitted by users online Request information, network status, and the new function request State information of instance c of the same category, and the function scheduling sequence corresponding to the shortest path , and the expected delay violation probability ; Calculate the one with the lowest cost among all feasible function scheduling sequences, where a feasible function scheduling sequence refers to any sequence that can make each function in the feasible function scheduling sequence run at a rate not less than The probability of completing the function execution order before the delay constraint; for current and new function requests All instances of the same survival function obtain the routing deadline; Try each surviving instance of the same function in turn, and expand the network timing diagram The new function request is found in The starting node and the set of ending nodes allowed within the corresponding routing deadline; according to the shortest path from all the starting nodes to the ending nodes found The corresponding links and times are used to route packets and take advantage of the shortest path The corresponding function dispatch sequence As the latest scheduling sequence, go to the hot call step to schedule data packets; If no route and schedule that meet the requirements can be found within the route deadline, or the route scheduling solution does not meet the requirements, a cold start is triggered and the process goes to the cold start step; Cold starting a new function instance through the cold start step includes: Computing on network nodes Deploy edge node c and shut down the container node to be shut down Deployment benefits Function instance deployment: Through the outer loop, calculate the benefits of deploying containers on edge node C ; Through the inner loop, for each node in the network that has the same container image as the container to be deployed, , go to the route scheduling joint optimization step to perform route scheduling and calculate the data transmission overhead ; If the system benefit cost ratio If it increases, its value is updated and the corresponding deployment decision is recorded; when the cycle ends, the output makes the system benefit cost ratio Maximize deployment decisions and cold start new function instances based on the decisions.

2. The method for arranging server-unaware computing functions for edge networks according to claim 1, characterized in that: The current and new function requests For all similar survival function instances, the route deadlines are: 1-1-1) Request a new function Put into the function dispatch queue The end of 1-1-2) Initialize the routing deadline to , and schedule the function sequence in order Each priority in The following function , and each priority in the function Previous function , calculate the following physical quantities: , in, Functions specified for SLO The latency requirement, For users The function execution time, is the expected delay violation probability; in preemptive mode, Defined to include all current functions with a priority no lower than And the data delivery time is later than the function A set of functions, including function q; in non-preemptive scheduling mode, Defined as containing all current priorities in the function A collection of functions between ; If it appears and , is a function The actual delivery time of the data is not reached, the function scheduling sequence is not feasible, go to step 1-1-3); like and If the value is reduced, record the value as the routing deadline and go to step 1-1-4); 1-1-3) Request the new function In the function dispatch sequence table Move forward one position in the new function. Already in function dispatch queue If the function scheduling sequence is still infeasible, then output that the function scheduling sequence is infeasible and end; otherwise, return to step 1-1-2); 1-1-4) Scheduling the function sequence Each priority in the new function request Previous function Calculate the following physical quantities in sequence: , in, ; If found , then the function scheduling sequence is not feasible, exist Move forward one position in the function and return to step 1-1-2); otherwise, the current function scheduling sequence is feasible, go to step 1-1-5); 1-1-5) Output deadline and corresponding function scheduling sequence.

3. The method for arranging server-unaware computing functions for edge networks according to claim 1, characterized in that: The above method tries each surviving instance of the same function in turn, and the network timing expansion diagram The new function request is found in The starting node and the set of ending nodes allowed within the corresponding routing deadline include: right of Each packet executes (1) and (2) respectively: (1) Update variables: , , in, The transmission bandwidth specified for SL0 of user k, For Link bandwidth, and They are and The estimated value of is the algorithm hyperparameter, The task reward for completing the task on time specified by SL0 of user k, For users The SL0 specifies the transmission bandwidth, For users The number of packets, For users The SL0 specified task reward obtained by completing the task on time, is the number of data packets of user k; (2) Network timing expansion diagram Each edge is given a weight , calculate the shortest path from the start node to the end node set through any shortest path algorithm , and keep accumulating, and record the final sum as .

4. The method for arranging server-unaware computing functions for edge networks according to claim 3, characterized in that: like , then the routing and scheduling scheme meets the requirements.

5. The method for arranging server-unaware computing functions for edge networks according to claim 1, characterized in that: Preemptive scheduling algorithms include: Enter the latest function scheduling sequence ,Find the function with the highest priority and completed data transmission in each time slot; if the function does not exceed the set delay constraint, execute the function in the time slot, otherwise move the function priority to the lowest; if all functions have timed out, execute these functions in any order; The non-preemptive scheduling algorithm includes: Enter the latest function scheduling sequence , whenever a new function completes, observe the highest priority function assigned to the instance and the highest priority function that has completed the data transfer ; and determine which function to execute next based on the following inequality: , If the inequality holds, the function is executed Otherwise, wait for the function Execute the function after the transfer is completed .

6. The method for arranging server-unaware computing functions for edge networks according to claim 1, characterized in that: The calculation is performed on the network nodes Deploy edge node c and shut down the container node to be shut down The resulting deployment benefits include: 3-1-1) For each function category , Update the container allocation matrix based on the input parameters for a list of all available function types , construct an auxiliary bipartite graph ; The auxiliary bipartite graph One side of represents the container node, and the other side represents the unsatisfied edge nodes adjacent to the container node, which is constructed as follows: The distribution matrix The (i,m,v)th element in Set to 0, delete all saturated container nodes x and all satisfied network nodes n, add container nodes c and network nodes to be deployed ;in Represents the set of nodes adjacent to the node where container c is located in the edge network. If for network node n: , then the network node n is said to be satisfied; if for the container node x: , then the container node x is called a saturated container node; by connecting the container node with the edge node in the auxiliary bipartite graph, it means that there is a direct communication link between the edge node and the edge node where the container is located, and the container node is a non-saturated container node and the edge node is not satisfied; 3-1-2) Under the currently selected function category, find the network nodes with degree 1 and unsatisfied ; If not, find a container node with degree 1 and no saturation , let n be the only network node with the same vector; if there is still no such node, then select any network node ,remember , ; Go to step 3-1-3); 3-1-3) Order For any node connected to n in the auxiliary bipartite graph, update , update the auxiliary bipartite graph and return to step 3-1-2 until no nodes that meet the requirements are found; output in the network node Deploy edge node c and shut down the container node to be shut down The deployment benefit brought by ,in It is a collection of all current containers and new containers.

7. A server-unaware computing function scheduling system for edge networks, used to implement the server-unaware computing function scheduling method for edge networks described in any one of claims 1 to 6, characterized in that: It includes the main decision maker, instance internal scheduler, network status monitor, function instance deployer, routing deadline adjuster and routing scheduling joint optimizer; The main decision maker completes the system decision, receives the necessary input parameters from the user side to implement the decision according to the status of each component in the edge network detected by the network status monitor; the decision framework of the main decision maker includes real-time processing and triggered decision; The real-time processing refers to the scheduling and execution of the function in each function instance at each time step of the discrete time system, which is completed by the internal scheduler of the instance; the system supports both preemptive and non-preemptive scheduling as needed. If the preemptive mode is turned on, the internal scheduler of the instance runs the preemptive scheduling algorithm, otherwise it runs the non-preemptive scheduling algorithm; The trigger decision is triggered by a function request submitted by a user online. The main decision maker reads the task information in the function request and the system status in the network status monitor, and calculates the routing deadline through the routing deadline adjuster. , and Passing it to the routing scheduling joint optimizer to obtain the routing and function scheduling sequence table of the function request; If the routing deadline No route or schedule that satisfies the requirements can be found, or the cost function output by the route-scheduling joint optimizer exceeds the task reward obtained by completing the task on time. , a cold start is triggered. After the function instance deployer completes the cold start, the instance internal scheduler runs the corresponding scheduling algorithm; otherwise, a hot call is triggered according to the calculated route and scheduling table. The instance internal scheduler runs the corresponding scheduling algorithm according to the route of the function request and the sequence table of function scheduling provided by the route scheduling joint optimizer.

8. A server-unaware computing function orchestration device for edge networks, characterized in that: The device includes a memory and a processor; the memory stores a computer program, and the processor executes the computer program to implement the steps of the server-unaware computing function orchestration method for edge networks according to any one of claims 1-6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the server-unaware computing function orchestration method for edge networks are implemented according to any one of claims 1-6.

10. A computer program product, comprising a computer program, characterized in that: When the computer program is executed by a processor, the steps of the server-unaware computing function orchestration method for edge networks are implemented according to any one of claims 1-6.

Citation Information

Patent Citations

  • Data center-oriented service function chain optimization arrangement method and system

    CN113918277A

  • Edge computing-oriented service scheduling system and scheduling method thereof

    CN114679451A

  • Server-free multi-edge function dynamic deployment and task unloading method and system

    CN117376357A

  • Satellite-borne edge cloud arrangement and deployment method and system based on server-free computing

    CN117768953A

  • Network-aware deployment optimization for large scale virtual network function deployments at a network edge

    US20220369084A1