Edge network-oriented server non-perception computing function arrangement method, system and device

By constructing a network time-series extension graph and optimizing function instance deployment and data routing using scheduling algorithms, the cold start and latency issues of server-unaware computing in edge networks are solved, achieving efficient function orchestration and scheduling, and improving system efficiency and service rewards.

CN119718545BActive Publication Date: 2025-11-04NANJING UNIV
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In resource-constrained edge networks, existing technologies struggle to effectively orchestrate server-agnostic computation functions, especially during cold starts where latency is unacceptable. Furthermore, the combination of function execution time uncertainty and data transmission scheduling leads to low system efficiency.

Method used

By constructing a network time-series extension graph and combining preemptive and non-preemptive scheduling algorithms, real-time processing and trigger-based decision-making are used to optimize function instance deployment, data routing and scheduling, enabling efficient deployment and cold start management of container instances, and dynamically adjusting the function scheduling order to meet latency constraints.

Benefits of technology

It improves the system efficiency of server-insensitive computing in edge networks, reduces the frequency of cold starts, ensures high probability of latency satisfaction, and enhances cumulative service rewards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718545B_ABST
    Figure CN119718545B_ABST
Patent Text Reader

Abstract

The application discloses an edge network-oriented server non-perception computing function arrangement method, system and device, and belongs to the technical field of cloud computing. The method comprises: real-time processing, scheduling and executing functions in each function instance at each time step, including hot calling; trigger type decision, including reading information such as a new function request submitted online by a user; obtaining a routing deadline; finding a function scheduling sequence of the new function request, triggering hot calling; if a routing and scheduling meeting the requirements cannot be found, cold starting is triggered. The application can solve the technical problems of server non-perception computing function arrangement in a resource-limited edge network, deployment of a container instance, and joint optimization of function splittable routing and scheduling, thereby maximizing the cumulative service reward meeting the delay constraint.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of cloud computing technology, specifically relating to a server-insensitive computation function orchestration method, system, and device for edge networks. Background Technology

[0002] Server-insensitive computing is an emerging cloud computing model that significantly improves application development efficiency and effectively reduces development costs by decoupling business logic development from backend resource management. This has led mainstream vendors to evolve towards server-insensitive frameworks. In recent years, with the increasing demands for large language models, industrial IoT, and large-scale data analytics, how to efficiently integrate computing, storage, and communication within the network to ensure highly stable, low-latency end-to-end computing services has become a crucial issue for both academia and industry. Edge computing, by interconnecting distributed computing and storage capabilities through networks and leveraging collaboration and sharing between devices to provide low-latency computing services, offers a feasible solution to this problem.

[0003] Function orchestration for server-insensitive computation in resource-constrained edge networks involves function instance deployment, data routing, and node task scheduling, making it an extremely complex and highly nontrivial task. Its difficulties stem primarily from the following aspects.

[0004] On the one hand, in server-insensitive computing, function execution requires specific environments and dependencies, typically implemented by containers or micro-virtual machines. Assigning a function to an already deployed function instance is called a hot call, with preparation time controllable to the sub-millisecond level; while assigning it to an edge node that does not contain the corresponding function instance requires deploying a new instance, which is called a cold start. Cold starts involve multiple steps such as image download, code loading, and environment configuration, and the time consumed can often be tens of times longer than the actual execution time of the function. This is unacceptable for latency-sensitive tasks. Therefore, reducing the frequency of cold starts is a crucial issue for improving system efficiency.

[0005] Another challenge stems from the inherent nature of functions in server-agnostic architectures. Since functions are typically stateless, while their external dependencies are usually stateful, offline function profiling can lead to data inconsistencies or corruption. Furthermore, the branching structures that may exist in the code make function execution highly dependent on the actual user input data, which makes function execution time unpredictable and highly variable.

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

[0007] Existing technologies typically focus on task scheduling in edge computing systems, paying attention to multiple performance metrics such as latency constraint violation rate, maximum completion time, cumulative service reward, and system operating overhead. However, they still cannot adequately support edge server-insensitive computing architectures. The main reasons are: First, mainstream techniques require precise knowledge of the computational demands of functions, which is difficult to ascertain in real-world industrial scenarios. Second, existing edge computing scheduling technologies often neglect the function cold start process, failing to simultaneously consider instance deployment and function scheduling, and lacking integration of function scheduling and data transmission. Considering the strong coupling between different stages of a function's lifecycle, considering each step in isolation usually leads to highly suboptimal solutions; therefore, joint optimization is urgently needed. Furthermore, existing server-insensitive scheduling systems are primarily designed for cloud data centers, making it difficult to consider the resource-constrained nature of edge networks and fully utilize the collaborative sharing capabilities between nodes. Summary of the Invention

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

[0009] Specifically, on the one hand, this invention provides a server-aware computation function orchestration method for edge networks, including real-time processing and trigger-based decision-making:

[0010] The real-time processing schedules and executes functions 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's hot scheduling mode is preemptive or non-preemptive.

[0011] The triggered decision-making includes a joint optimization step for routing and scheduling, and a cold start step.

[0012] The joint optimization steps for routing and scheduling include:

[0013] Read new function requests submitted online by users The request information, network status, and the new function request The state information of instances c of the same category, and the function scheduling sequence corresponding to the shortest path. and the expected probability of time delay violation. ; Calculate the minimum cost among all feasible function scheduling sequences, where a feasible function scheduling sequence is any sequence that allows each function in the feasible function scheduling sequence to have a cost no less than The probability of the execution order of functions completed before the time delay constraint; for current and new function requests. Obtain the route deadline for all live function instances of the same type;

[0014] Try each surviving instance of the same function in turn, and analyze the network time-series expansion graph. The new function request was found. The starting node and the set of allowed ending nodes within the corresponding route deadline; the shortest path from all found starting nodes to ending nodes. The corresponding link and time are used to route data packets, and the shortest path is utilized. Corresponding function scheduling sequence As the latest scheduling sequence, proceed to the hot call step to perform packet scheduling;

[0015] If a route and schedule that meet the requirements cannot be found within the specified route deadline, or if the route scheduling scheme does not meet the requirements, a cold start is triggered, and the process proceeds to the cold start step.

[0016] The cold start procedure involves cold-starting a new function instance, including:

[0017] Computation at network nodes Deploy edge node c and shut down the container node to be shut down. The resulting deployment benefits;

[0018] Function instance deployment: Calculate the benefits of deploying the container to be deployed on edge node c using the outer loop. Through an inner loop, for each node in the network that has a container image of the same type as the container to be deployed, the process is repeated. Then proceed to the joint optimization step of routing scheduling to perform routing scheduling and calculate data transmission overhead. If the system's benefit-cost ratio If the value increases, update it and record the corresponding deployment decision; when the loop ends, output the system's cost-benefit ratio. Maximize deployment decisions and perform cold starts of new function instances based on the decisions made.

[0019] Furthermore, the request for the current and new functions... For all instances of the same type of live function, the route deadline is obtained as follows:

[0020] 1-1-1) Request the new function Place into function scheduling sequence The end;

[0021] 1-1-2) Initialize the route deadline to and schedule the function sequence in order. Each priority in The following functions and each priority level in the function Previous function Calculate the following physical quantities:

[0022]

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

[0024] If it appears and , It is a function If the actual delivery time of the data is not specified, the function scheduling sequence is not feasible, and proceed to step 1-1-3).

[0025] like and If the value decreases, record that value as the routing deadline and proceed to step 1-1-4).

[0026] 1-1-3) Request the new function In the function scheduling sequence list Shift one position forward if a new function requests... Already in the function scheduling sequence If the first function scheduling sequence is still infeasible, then output "Function scheduling sequence is infeasible" and end; otherwise, return to step 1-1-2.

[0027] 1-1-4) Function scheduling sequence Each priority level is requested in a new function. Previous function Calculate the following physical quantities in sequence:

[0028]

[0029] in,

[0030]

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

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

[0033] Furthermore, the process of sequentially trying each surviving instance of the same function in the network time-series expansion graph... The new function request was found. The starting node and the set of allowed ending nodes within the corresponding route deadline include:

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

[0035] (1) Update variables:

[0036]

[0037]

[0038] in, The transmission bandwidth specified for user k's SL0. For link bandwidth, and They are and The estimated value, For algorithm hyperparameters, The reward for completing the task on time, as specified for user k's SL0. For users The transmission bandwidth specified by SL0, For users The size of the data packets, For users The reward for completing the task on time as specified in SL0. The number of data packets for user k;

[0039] (2) Network time series extension graph Each edge is assigned a weight. Calculate the shortest path from the starting node to the set of ending nodes using any shortest path algorithm. And keep adding them up, the final sum is denoted as .

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

[0041] Furthermore, preemptive scheduling algorithms include:

[0042] Input the latest function scheduling sequence In each time slot, find the function with the highest priority that has already completed data transmission; if the function has not exceeded the set delay constraint, execute the function in that time slot; otherwise, move the function's priority to the lowest; if all functions have timed out, execute these functions in any order.

[0043] The non-preemptive scheduling algorithm includes:

[0044] Input the latest function scheduling sequence Whenever a new function completes, observe the highest priority function assigned to that instance. And the highest priority function that has completed data transmission. The next function to be executed is determined by the following inequality:

[0045]

[0046] If the inequality is true, then execute the function. Otherwise, wait for the function. Execute the function after the transmission is complete .

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

[0048] 3-1-1) For each function category , Update the container assignment 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 represents the container node, and the other side represents the unsatisfied edge node adjacent to the container node. The construction method is as follows:

[0049] Allocation matrix The (i, m, v)th element Set to 0, delete all saturated container nodes x and all satisfied network nodes n, and add the container node c to be deployed and the network node n. ;in Let n be the set of nodes adjacent to the node containing container c in the edge network. If for network node n: If, for container node x, the following condition holds: Then network node n is said to be satisfied; if for container node x: If the container node x is saturated, then the container node x is called a saturated container node. By connecting the container node and the edge node in the auxiliary bipartite graph, it is shown 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) Within the currently selected function category, find network nodes with a degree of 1 that are not satisfied. If not, find a container node with degree 1 that is not saturated. Let n be the only network node with a given vector; if there is still no such node, then choose any network node. ,remember , Proceed 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 matching node is found; output in the network nodes. Deploy edge node c and shut down the container node to be shut down. The resulting deployment benefits are of a certain magnitude. ,in It is the set consisting of all current containers and new containers.

[0052] On the other hand, the present invention also provides a server-aware computation function orchestration system for edge networks, which implements the above-mentioned server-aware computation function orchestration method for edge networks, including a master decision maker, an instance internal scheduler, a network status monitor, a function instance deployer, a route deadline adjuster, and a route scheduling joint optimizer.

[0053] The master decision-maker completes system decisions by receiving necessary input parameters from the user side based on the status of each component in the edge network detected by the network status monitor; the decision-making framework of the master decision-maker includes real-time processing and triggered decision-making.

[0054] The real-time processing refers to scheduling and executing functions 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 preemptive and non-preemptive scheduling as needed. If preemptive mode is enabled, the internal scheduler of the instance runs the preemptive scheduling algorithm; otherwise, it runs the non-preemptive scheduling algorithm.

[0055] The triggered decision-making is initiated by a function request submitted online by the user. The main decision-maker reads the task information from the function request and the system status from the network status monitor, and calculates the routing deadline using the routing deadline adjuster. and will The route is passed to the joint route scheduling optimizer to obtain the route and function scheduling order list for the function request; if it is within the route deadline... No suitable route or schedule can be found, or the cost function output by the route-scheduling joint optimizer exceeds the task reward for timely completion. If the function instance deployer completes the cold start, the instance's internal scheduler will run the corresponding scheduling algorithm. Otherwise, a hot call will be triggered based on the calculated route and scheduling table. The instance's internal scheduler will run the corresponding scheduling algorithm based on the route of the function request and the order table of function scheduling provided by the route scheduling joint optimizer.

[0056] In another aspect, the present invention also provides a server-insensitive computation function orchestration device for edge networks, the device including a memory and a processor; the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described server-insensitive computation function orchestration method for edge networks.

[0057] In another aspect, the present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the above-described server-insensitive computation function orchestration method for edge networks.

[0058] In another aspect, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described server-insensitive computation function orchestration method for edge networks.

[0059] The method proposed in this invention is based on the fact that it constructs a special data structure, namely, a network temporal extension graph and all operations on it, thereby achieving efficient algorithm design:

[0060] (1) The time scale of function instance deployment is usually much larger than that of 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 it can be estimated with high probability based on the first and second moment information obtained from historical execution records. Furthermore, the randomness of the execution time of a single function decreases as it is executed.

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

[0063] The beneficial effects of the server-insensitive computation function orchestration method, system, and device for edge networks of the present invention are as follows:

[0064] This invention relates to a server-agnostic computing function orchestration system and device for edge networks. It determines the deployment, caching, and deletion of function instances by solving a subproblem reflecting the current environment and system state. Simultaneously, it achieves both data partitioning routing and function scheduling based on an online primal-dual scheme. Furthermore, the function scheduling is adaptive; its execution order dynamically adjusts based on latency requirements and the actual function execution time, providing a high probability guarantee of latency for server-agnostic edge computing tasks.

[0065] The server-aware computation function orchestration method and system for edge networks of the present invention integrate joint optimization of function instance deployment, partitionable data routing, and adaptive scheduling. Specifically, when a new request arrives, the system makes decisions in the following ways:

[0066] In the case of a cold start, the deployment of container instances is achieved by the function instance deployer taking the current distribution of system instances and images as input and solving the subproblem of maximizing the deployment efficiency-transmission overhead ratio, thereby determining the deployment node of the new instance, the image pull node, and the routing of all related data packets.

[0067] In the case of hot calls, the joint optimization of separable routing and scheduling uses a routing-scheduling joint optimizer to simultaneously compute the routes of all input data packets, the assignment nodes for new functions, and the corresponding scheduling order based on an online primal-dual scheme. The scheduling order of functions changes dynamically as the functions are actually executed, thereby improving the service benefits of the system in meeting latency requirements.

[0068] This invention provides a server-aware computation function orchestration method, system, and device for edge networks. Integrating the aforementioned decision-making methods, numerical experiments are conducted using data obtained from function execution records in actual industrial scenarios. The methods are compared with various scheduling and caching strategies representing current technological advancements under different experimental conditions. Experimental results show that this invention achieves the highest cumulative service reward and the lowest number of cold starts under different environments. The objective of this invention is to provide a server-aware computation function orchestration method, system, and device for edge networks, which can solve the technical problems of server-aware computation function orchestration, container instance deployment, and joint optimization of function partitioning routing and scheduling in resource-constrained edge networks, thereby maximizing the cumulative service reward while meeting latency constraints. Attached Figure Description

[0069] Figure 1 This is a schematic diagram of the function orchestration system according to an embodiment of the present invention.

[0070] Figure 2 This is a schematic diagram of the network timing extension diagram according to an embodiment of the present invention.

[0071] Figure 3 This is a schematic diagram of adaptive scheduling sequence exchange within an internal scheduler of an embodiment of the present invention.

[0072] Figure 4 This is a schematic diagram of an auxiliary bipartite graph for calculating the benefits according to an embodiment of the present invention.

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

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

[0075] Figure 7This is a schematic diagram illustrating the cumulative service reward and cold start count under different environments using the preemptive scheduling mode in an embodiment of the present invention. (a) shows the relationship between service reward and task arrival rate under preemptive scheduling, (b) shows the relationship between service reward and maximum link bandwidth under preemptive scheduling, (c) shows the relationship between service reward and node memory capacity under preemptive scheduling, (d) shows the relationship between cold start count and task arrival rate under preemptive scheduling, (e) shows the relationship between cold start count and maximum link bandwidth under preemptive scheduling, and (f) shows the relationship between cold start count and node memory capacity under preemptive scheduling.

[0076] Figure 8 This is a schematic diagram illustrating the relationship between cumulative service rewards and network size under the preemptive scheduling mode of this invention. Detailed Implementation

[0077] The present invention will now be described in further detail with reference to the embodiments and the accompanying drawings.

[0078] The following mathematical symbols are used in the embodiments of this application:

[0079] Represents mathematical expectation; Represents X raised to the power of k; Representing physical quantities In the set elements in The value to be taken below.

[0080] One embodiment of the present invention is a server-insensitive computation function orchestration system for edge networks, such as... Figure 1 As shown.

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

[0082] A graph The edge network is represented, where Represents edge nodes, This represents the communication link between nodes. Edge nodes can simultaneously handle network access forwarding as well as function instance generation and computation.

[0083] link ( ) bandwidth This indicates that the node memory capacity This indicates that service providers can register and provide a list of function types, i.e., a list of all available function types. For each type of function Its function execution time and cold start time are both unknown random variables, respectively. This indicates that each surviving container requires a certain amount of memory. Its image file is not deleted during its lifetime and allows sharing across networks. Transferring its image file requires... Data packets.

[0084] The user set is Each of these users ( It appears online on any node in the network and submits function requests and SLO (Service-Level-Objective) tuples. Its elements These represent the transmission bandwidth, function type, latency requirements, and task reward for user k specified by SLO, respectively. Additionally, each user needs to transmit the necessary input data for function execution, including... One data packet. For any user ,Will and Defined as users Function execution time, cold start time, memory consumption, and the number of image file data packets. Considering a discrete-time system, the time slot length is defined as the duration for a single data packet to complete its transmission in the link.

[0085] To maximize the sum of rewards for all users who complete function tasks on time, this invention proposes a server-agnostic function orchestration system for edge networks, comprising a master decision maker, an instance-internal scheduler, a network status monitor, a function instance deployer, a route deadline adjuster, and a route scheduling joint optimizer.

[0086] System decisions are made by the master decision-maker, which receives necessary input parameters from the user side based on the status of various components in the network detected by the network status monitor to implement the necessary decisions. The master decision-maker's decision framework includes real-time processing and triggered decision-making. Real-time processing is responsible for adjusting the computation order in container instances at any moment, while triggered decision-making is triggered by events such as function requests arriving or execution completion. Real-time processing and triggered decision-making control two parallel processes.

[0087] Specifically, real-time processing refers to processing each surviving container (i.e., ...) at every time step of a discrete-time system. Figure 1 The scheduling and execution of functions within a function instance are handled by the instance's internal scheduler. The system can support both preemptive and non-preemptive scheduling as needed. Preemptive scheduling allows function execution to be paused and resumed later; non-preemptive scheduling ensures that functions can only run until completion and cannot be paused. If preemptive mode is enabled, the instance's internal scheduler runs the preemptive scheduling algorithm; otherwise, it runs the non-preemptive scheduling algorithm.

[0088] Triggered decision-making is initiated by a function request submitted online by the user. The main decision-maker reads the task information from the function request and the system status from the network status monitor, and calculates the routing deadline using the routing deadline adjuster. and will This is passed to the joint optimizer for routing and scheduling to obtain the order list of routes and function schedules for the requested function. If it falls within the route deadline... If no suitable route or schedule is found (i.e., the routing-scheduling joint optimizer outputs that the function scheduling sequence is infeasible or that no similar live function instance exists), or if the cost function output by the routing-scheduling joint optimizer exceeds the task reward for timely completion. If the routing and 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 based on the calculated route and scheduling table. The internal scheduler of the instance runs the corresponding scheduling algorithm based on the route of the function request and the order table of function scheduling provided by the routing and scheduling joint optimizer.

[0089] The server-aware computation function orchestration method for edge networks of the present invention includes real-time processing and trigger-based decision-making:

[0090] The real-time processing schedules and executes functions 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's hot scheduling mode is preemptive or non-preemptive.

[0091] The triggered decision-making includes a routing and scheduling joint optimization step and a cold start step.

[0092] Joint optimization steps for routing and scheduling:

[0093] The main decision-maker reads new function requests submitted online by users. The request information, the network status in the network status monitor, and the status information of all instances; based on the network topology. Constructing the network time series extension graph ,make This represents the maximum timing length. The construction method involves arranging the network nodes of each time slot in a row, with the network node corresponding to the current time slot... Network nodes in the next time slot There exists a directed edge in the middle if and only if Define variables With weight initialize it to .

[0094] A network containing four nodes: A, B, C, and D. See the corresponding network timing extension graph example. Figure 2 The graph consists of four time slots, with each row representing a network node in that time slot. A path in the network time series extension graph corresponds to the propagation of data through nodes and time slots, and can therefore be interpreted as a path. For example, point A in the first row. Point B in the second row Point B in the third row Point D in the fourth row can be interpreted as data traveling from point A to point B via one time slot, being buffered at point B for one time slot, and then reaching point D. This path can be represented by directed edges in the network time-series extension graph. and corresponding time slots The binary pair formed The set that constitutes.

[0095] Specifically as follows:

[0096] 1-1) Read new function requests submitted online by users. Request information, network status, and function request The state information of instances c of the same category, and the function scheduling sequence corresponding to the shortest path. and the expected probability of time delay violation. Calculate the minimum cost among all feasible function scheduling sequences. A feasible function scheduling sequence is defined as any sequence in which each function has a cost no less than [amount missing]. The probability of the function execution order being completed before the time delay constraint. For the current and new function requests. All liveness function instances of the same type obtain the route deadline, including:

[0097] 1-1-1) Request the new function. Place into function scheduling sequence The end of.

[0098] 1-1-2) Initialize the route deadline to and schedule the function sequence in order. Each priority in The following functions and each priority level in the function Previous function Calculate the following physical quantities:

[0099]

[0100] in, Functions specified for SLO latency requirements, In preemptive mode, Defined as including all functions with a priority not lower than the current priority. (Include (Itself) and the data delivery time is later than the function. A set of functions; in non-preemptive scheduling mode, Defined as including all current priorities in the function Between (including) A set of functions of ).

[0101] If it appears and , It is a function If the actual delivery time of the data is not specified, the function scheduling sequence is not feasible, and proceed to step 1-1-3).

[0102] like and If the value decreases, record that value as the routing deadline and proceed to step 1-1-4.

[0103] 1-1-3) Request the new function In the function scheduling sequence list Shift one position forward if a new function requests... Already in the function scheduling sequence If the first function scheduling sequence is still infeasible, then output "Function scheduling sequence is infeasible" and end step 1-2; otherwise, return to step 1-1-2.

[0104] 1-1-4) Function scheduling sequence Each priority level is requested in a new function. Previous function Calculate the following physical quantities:

[0105]

[0106] in,

[0107]

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

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

[0110] 1-2) Try each surviving instance of the same function in turn, and analyze the network time-series expansion graph. New function request found The starting node and the set of allowed ending nodes within the corresponding route deadline. of Each data packet executes (1) and (2) respectively:

[0111] (1) Update variables:

[0112]

[0113]

[0114] in, The transmission bandwidth specified for user k's SL0. For link bandwidth, and They are and The estimated value, These are algorithm hyperparameters, which should be manually adjusted according to the actual situation. The reward for completing the task on time, as specified for user k's SL0. For users The transmission bandwidth specified by SL0, For users The size of the data packets, For users The reward for completing the task on time as specified in SL0. The number of data packets for user k.

[0115] (2) Network time series extension graph Each edge is assigned a weight. Calculate the shortest path from the starting point to the set of ending points using any shortest path algorithm (such as Dijkstra, Bellman-Ford, A* Star, etc.). And keep adding them up, the final sum is denoted as .

[0116] like If so, then the routing and scheduling scheme meets the requirements. This is done by finding the shortest path from all the starting nodes to the ending nodes. The corresponding link and time are used to route data packets, and the shortest path is utilized. Corresponding function scheduling sequence As the latest scheduling sequence, proceed to the hot call step to perform packet scheduling; otherwise, cancel the variable update in (1) and proceed to step 1-2) to try the next surviving instance of the same function.

[0117] If within the routing deadline If no suitable route or schedule is found (i.e., the routing-scheduling joint optimizer outputs that the function scheduling sequence is infeasible or that no live function instance of the same type exists), or if the routing-scheduling joint optimizer outputs the cost function... Exceeding the reward for completing the task on time If the routing scheme does not meet the requirements, the hot call will fail, triggering a cold start and proceeding to the cold start step to attempt to cold start a new function instance.

[0118] Hot call steps:

[0119] Run the corresponding scheduling algorithm according to the system's hot scheduling mode.

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

[0121] Input the latest function scheduling sequence In each time slot, the function with the highest priority that has already completed data transmission is identified. If this function has not exceeded the set delay constraint, it is executed within that time slot; otherwise, its priority is moved to the lowest. If all functions have timed out, they are executed in any order.

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

[0123] Input the latest function scheduling sequence Whenever a new function completes, observe the highest priority function assigned to that instance. And the highest priority function that has completed data transmission. The next function to be executed is determined by whether the following inequality holds:

[0124]

[0125] If the inequality is true, then execute the function. Otherwise, wait for the function. Execute the function after the transmission is complete .

[0126] This process is equivalent to adaptively adjusting the scheduling sequence based on function execution; see [link to relevant documentation]. Figure 3 Assuming the container is currently idle, in the original function scheduling sequence, function request node A executes before network intermediate forwarding node B. That is, node A corresponds to the originally highest priority function u, and node B corresponds to the highest priority function h that has already completed data transmission. The above formula is used to determine which of the function requesting node A and the network intermediate forwarding node B executes first. Figure 3The scenario shown assumes that the above inequality holds, therefore B is executed first. This operation achieves a high-probability latency guarantee for the function while making better use of the container's idle periods to improve resource utilization.

[0127] Cold start steps:

[0128] Start a new function instance using the following cold start steps.

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

[0130] Input parameters: Current network container deployment information, status information of each container, and the node of the container to be deployed. Nodes to be deployed Container nodes to be shut down Current container allocation matrix The (i, m, c)th element is denoted as .

[0131] definition For the first Class functions at edge nodes Arrival rate, For the first Average delay constraint of class function The edge nodes adjacent to node m (including node m itself). Represents container nodes The edge node where it is located, If for network node n: If, for container node x, the following condition holds: Then network node n is said to be satisfied; if for container node x: If the container node x is saturated, then the container node x is said to be saturated.

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

[0133] Auxiliary bipartite graph One side represents container nodes, and the other side represents edge nodes. The structure is as follows:

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

[0135] Figure 4 This illustrates the auxiliary bipartite graph formed by the unsaturated container nodes (1, 2, 3, 4) of the i-th type of container and their adjacent unsatisfied edge nodes (a, b, c, d, e, f). 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.

[0136] 3-1-2) Within the currently selected function category, find network nodes with a degree of 1 that are not satisfied. If not, find a container node with degree 1 that is not saturated. Let n be the only network node with a given vector; if there is still no such node, then choose any network node. ,remember , Proceed to step 3-1-3).

[0137] 3-1-3) Order To and For any connected node in the auxiliary bipartite graph, update Update the auxiliary bipartite graph and return to step (3-1-2) until no matching node is found. Output in the network nodes. Deploy edge node c and shut down the container node to be shut down. The resulting deployment benefits are of a certain magnitude. ,in It is the set consisting of all current containers and new containers.

[0138] 3-2) Deployment of function instances.

[0139] 3-2-1) Calculate the benefits of deploying containers on edge node C using the outer loop. For each edge node in the network Shut down the container that minimizes the decrease in deployment benefit value until the total memory consumption of surviving containers and newly deployed containers does not exceed the memory capacity of edge node m. Record its gain function value .like Smaller than the container node to be deployed that is not yet deployed If the gain function value is not found, then skip this edge node and repeat the loop for the next edge node.

[0140] 3-2-2) Inner loop: For each existing element in the network... The node to pull the container image of the container to be deployed is the same type of container image. Then proceed to the joint optimization step of routing and scheduling for routing scheduling.

[0141] It is important to note that the network time series extension graph at this point... In the middle, the starting node includes both Container image pull node The corresponding nodes also include the user's access nodes. Note that at this point, the cold start can be considered a non-preemptible and highest-priority computational task, and the set of termination nodes can be obtained from step 1-1 (adjusting the route deadline). Furthermore, the number of data packets is... This includes both mirrored data transfer and user input data. The calculated data transfer overhead is recorded as follows: .

[0142] 3-2-3) If the system benefit-cost ratio If the value is increased, its value is updated, and the corresponding deployment decision is recorded, including: the corresponding deployment node. Mirroring and pulling nodes The closed container collection and all The system routes data packets. After the loop ends, it outputs the deployment decision that maximizes the system's cost-effectiveness ratio and performs a cold start on new function instances based on that decision.

[0143] The processes described in 3-2-1) to 3-2-3) are shown below. 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. In this loop, the edge node m=C is used for calculation, i.e., to attempt to calculate the cost-benefit ratio of cold-starting the container at point C. First, step 3-1) is used to calculate the benefit of deploying the container at point C. Then, using the routing calculation algorithm in steps 1-2), the cost Q of routing the user's two data packets and the mirrored three data packets from points A and D to point C is calculated. The cost-benefit ratio is then calculated. .

[0144] The present invention provides a server-agnostic computation function orchestration method and system for edge networks. This method determines the deployment, caching, and deletion of function instances by solving a subproblem reflecting the current environment and system state. Simultaneously, it achieves both data partitioning routing and function scheduling based on an online primal-dual scheme. Furthermore, the function scheduling is adaptive; its execution order dynamically adjusts based on latency requirements and the actual function execution time, providing a high probability guarantee of latency for server-agnostic edge computing tasks.

[0145] The server-aware computation function orchestration method and system for edge networks of the present invention integrate joint optimization of function instance deployment, partitionable data routing, and adaptive scheduling. Specifically, when a new request arrives, the system makes decisions in the following ways:

[0146] In the case of a cold start, the deployment of container instances is achieved by the function instance deployer taking the current distribution of system instances and images as input and solving the subproblem of maximizing the deployment efficiency-transmission overhead ratio, thereby determining the deployment node of the new instance, the image pull node, and the routing of all related data packets.

[0147] In the case of hot calls, the joint optimization of separable routing and scheduling uses a routing-scheduling joint optimizer to simultaneously compute the routes of all input data packets, the assignment nodes for new functions, and the corresponding scheduling order based on an online primal-dual scheme. The scheduling order of functions changes dynamically as the functions are actually executed, thereby improving the service benefits of the system in meeting latency requirements.

[0148] The present invention provides a server-insensitive computation function orchestration method, system, and device for edge networks. It integrates the above-mentioned decision-making method, uses relevant data obtained from function execution records in actual industrial scenarios for numerical experiments, and compares and tests it with various scheduling and caching strategies representing current technological advancements 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.

[0149] The server-insensitive computation function orchestration method, system, and device for edge networks of the present invention can achieve this.

[0150] Figure 6 Figures (a)-(c) respectively demonstrate that, under different settings of request arrival rate, maximum link bandwidth, and node memory, the server-insensitive computation function orchestration method, system, and device for edge networks of the present invention have achieved the highest cumulative service reward in non-preemptive scheduling. Figure 6 (e)-(f) indicate that the number of function cold starts in this invention is not much different from the minimum number of cold starts. Figure 7 This demonstrates that under various settings in a preemptive scheduling scenario, the present invention can achieve the same effect as a non-preemptive scenario, obtaining the highest cumulative service reward and a lower number of cold starts. Figure 8 The paper demonstrates the relationship between cumulative service reward and network size, showing that the server-insensitive computation function orchestration method, system, and device for edge networks of the present invention can improve the cumulative service reward under hard latency constraints under different network sizes.

[0151] 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, when executed by one or more processors, manipulate one or more processors to perform one or more aspects of the above-described techniques. The non-transitory computer-readable storage medium 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 the 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.

[0152] Computer-readable storage media can include any storage medium 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 can include, but are not limited to, optical media (e.g., optical discs (CDs), digital versatile optical discs (DVDs), Blu-ray discs), magnetic media (e.g., floppy disks, magnetic tapes, or magnetic hard disks), volatile memory (e.g., random access memory (RAM) or cache), non-volatile memory (e.g., read-only memory (ROM) or flash memory), or microelectromechanical systems (MEMS) based storage media. Computer-readable storage media can be embedded in a computing system (e.g., system RAM or ROM), fixedly attached to a computing system (e.g., a magnetic hard disk drive), removably attached to a computing system (e.g., an optical disc or universal serial bus-based (USB) flash memory), or coupled to a computer system via a wired or wireless network (e.g., network-accessible storage (NAS)).

[0153] While the present invention has been disclosed above with reference to preferred embodiments, these embodiments are not intended to limit the invention. Any equivalent changes or modifications made without departing from the spirit and scope of the invention are also within the scope of protection of the invention. Therefore, the scope of protection of the present invention should be determined by the claims of this application.

Claims

1. A server-insensitive computation function orchestration method for edge networks, characterized in that, This includes real-time processing and triggered decision-making: The real-time processing schedules and executes functions in each function instance at each time step of the discrete-time system, including hot call steps; The hot call step involves running the corresponding preemptive scheduling algorithm or non-preemptive scheduling algorithm depending on whether the system's hot scheduling mode is preemptive or non-preemptive. The triggered decision-making includes a joint optimization step for routing and scheduling, and a cold start step. The joint optimization steps for routing and scheduling include: Read new function requests submitted online by users The request information, network status, and the new function request The state information of instances c of the same category, and the function scheduling sequence corresponding to the shortest path. and the expected probability of time delay violation. ; Calculate the minimum cost among all feasible function scheduling sequences, where a feasible function scheduling sequence is any sequence that allows each function in the feasible function scheduling sequence to have a cost no less than The probability of the execution order of functions completed before the time delay constraint; for current and new function requests. Obtain the route deadline for all live function instances of the same type; Try each surviving instance of the same function in turn, and analyze the network time-series expansion graph. The new function request was found. The starting node and the set of allowed ending nodes within the corresponding route deadline; the shortest path from all found starting nodes to ending nodes. The corresponding link and time are used to route data packets, and the shortest path is utilized. Corresponding function scheduling sequence As the latest scheduling sequence, proceed to the hot call step to perform packet scheduling; If a route and schedule that meet the requirements cannot be found within the specified route deadline, or if the route scheduling scheme does not meet the requirements, a cold start is triggered, and the process proceeds to the cold start step. The cold start procedure involves cold-starting a new function instance, including: Computation at network nodes Deploy edge node c and shut down the container node to be shut down. The resulting deployment benefits; Function instance deployment: Calculate the benefits of deploying the container to be deployed on edge node c using the outer loop. Through an inner loop, for each node in the network that has a container image of the same type as the container to be deployed, the process is repeated. Then proceed to the joint optimization step of routing scheduling to perform routing scheduling and calculate data transmission overhead. If the system's benefit-cost ratio If the value increases, update it and record the corresponding deployment decision; when the loop ends, output the system's cost-benefit ratio. Maximize deployment decisions and perform cold starts of new function instances based on the decisions made.

2. The server-insensitive computation function orchestration method for edge networks according to claim 1, characterized in that, The request for the current and new functions For all instances of the same type of live function, the route deadline is obtained as follows: 1-1-1) Request the new function Place into function scheduling sequence The end; 1-1-2) Initialize the route deadline to and schedule the function sequence in order. Each priority in The following functions and each priority level in the function Previous function Calculate the following physical quantities: , in, Functions specified for SLO latency requirements, For users The function execution time, This represents the expected probability of latency violation; in preemptive mode, Defined as including all functions with a priority not lower than the current priority. And the data delivery time is later than the function. A set of functions, including function q; in non-preemptive scheduling mode, Defined as including all current priorities in the function A set of functions between, containing ; If it appears and , It is a function If the actual delivery time of the data is not specified, the function scheduling sequence is not feasible, and proceed to step 1-1-3). like and If the value decreases, record that value as the routing deadline and proceed to step 1-1-4). 1-1-3) Request the new function In the function scheduling sequence list Shift one position forward if a new function requests... Already in the function scheduling sequence If the first function scheduling sequence is still infeasible, then output "Function scheduling sequence is infeasible" and end; otherwise, return to step 1-1-2. 1-1-4) Function scheduling sequence Each priority level is requested in a new function. Previous function Calculate the following physical quantities in sequence: , in, ; If found If the function scheduling sequence is not feasible, then... exist (Move forward one position and return to step 1-1-2); otherwise, if the current function scheduling sequence is feasible, proceed to step 1-1-5). 1-1-5) Output the deadline and the corresponding function scheduling sequence.

3. The server-insensitive computation function orchestration method for edge networks according to claim 1, characterized in that, The process of sequentially trying each surviving instance of the same function in the network time-series expansion graph... The new function request was found. The starting node and the set of allowed ending nodes within the corresponding route deadline include: right of Each data packet executes (1) and (2) respectively: (1) Update variables: , , in, The transmission bandwidth specified for user k's SL0. For link bandwidth, and They are and The estimated value, For algorithm hyperparameters, The reward for completing the task on time, as specified for user k's SL0. For users The transmission bandwidth specified by SL0, For users The size of the data packets, For users The reward for completing the task on time as specified in SL0. The number of data packets for user k; (2) Network time series extension graph Each edge is assigned a weight. Calculate the shortest path from the starting node to the set of ending nodes using any shortest path algorithm. And keep adding them up, the final sum is denoted as .

4. The server-insensitive computation function orchestration method for edge networks according to claim 3, characterized in that, like If so, then the routing and scheduling scheme meets the requirements.

5. The server-insensitive computation function orchestration method for edge networks according to claim 1, characterized in that, Preemptive scheduling algorithms include: Input the latest function scheduling sequence In each time slot, find the function with the highest priority that has already completed data transmission; if the function has not exceeded the set delay constraint, execute the function in that time slot; otherwise, move the function's priority to the lowest; if all functions have timed out, execute these functions in any order. The non-preemptive scheduling algorithm includes: Input the latest function scheduling sequence Whenever a new function completes, observe the highest priority function assigned to that instance. And the highest priority function that has completed data transmission. The next function to be executed is determined by the following inequality: , If the inequality is true, then execute the function. Otherwise, wait for the function. Execute the function after the transmission is complete .

6. The server-insensitive computation function orchestration method for edge networks according to claim 1, characterized in that, The computation is performed at the network node. Deploy edge node c and shut down the container node to be shut down. The deployment benefits include: 3-1-1) For each function category , Update the container assignment 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 represents the container node, and the other side represents the unsatisfied edge node adjacent to the container node. The construction method is as follows: Allocation matrix The (i, m, v)th element Set to 0, delete all saturated container nodes x and all satisfied network nodes n, and add the container node c to be deployed and the network node n. ;in Let n be the set of nodes adjacent to the node containing container c in the edge network. If for network node n: If, for container node x, the following condition holds: Then network node n is said to be satisfied; if for container node x: If the container node x is saturated, then the container node x is called a saturated container node. By connecting the container node and the edge node in the auxiliary bipartite graph, it is shown 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) Within the currently selected function category, find network nodes with a degree of 1 that are not satisfied. If not, find a container node with degree 1 that is not saturated. Let n be the only network node with a given vector; if there is still no such node, then choose any network node. ,remember , Proceed 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 matching node is found; output in the network nodes. Deploy edge node c and shut down the container node to be shut down. The resulting deployment benefits are of a certain magnitude. ,in It is the set consisting of all current containers and new containers.

7. A server-insensitive computation function orchestration system for edge networks, used to implement the server-insensitive computation function orchestration method for edge networks as described in any one of claims 1-6, characterized in that, It includes the master decision maker, instance-internal scheduler, network status monitor, function instance deployer, route deadline adjuster, and route scheduling joint optimizer; The master decision-maker completes system decisions by receiving necessary input parameters from the user side based on the status of each component in the edge network detected by the network status monitor; the decision-making framework of the master decision-maker includes real-time processing and triggered decision-making. The real-time processing refers to scheduling and executing functions 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 preemptive and non-preemptive scheduling as needed. If preemptive mode is enabled, the internal scheduler of the instance runs the preemptive scheduling algorithm; otherwise, it runs the non-preemptive scheduling algorithm. The triggered decision-making is initiated by a function request submitted online by the user. The main decision-maker reads the task information from the function request and the system status from the network status monitor, and calculates the routing deadline using the routing deadline adjuster. and will The route is passed to the joint route scheduling optimizer to obtain the route and function scheduling order list for the function request; If within the routing deadline No suitable route or schedule can be found, or the cost function output by the route-scheduling joint optimizer exceeds the task reward for timely completion. If the function instance deployer completes the cold start, the instance's internal scheduler will run the corresponding scheduling algorithm. Otherwise, a hot call will be triggered based on the calculated route and scheduling table. The instance's internal scheduler will run the corresponding scheduling algorithm based on the route of the function request and the order table of function scheduling provided by the route scheduling joint optimizer.

8. A server-insensitive computation 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-insensitive computation 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 the processor, it implements the steps of the server-insensitive computation function orchestration method for edge networks 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 the processor, it implements the steps of the server-insensitive computation function orchestration method for edge networks 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