Task unloading methods, devices, storage media and products

CN122579231APending Publication Date: 2026-08-14CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-15
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0003]相关技术中,计算任务卸载考虑的因素较为单一,难以达到资源利用率与系统稳定性兼顾的效果

Benefits of technology

[0015] Fourthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in the first aspect of embodiments of this application.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122579231A_ABST
    Figure CN122579231A_ABST
Patent Text Reader

Abstract

This application discloses a task offloading method, device, storage medium, and product. The method includes: obtaining a set of computing tasks to be allocated under an edge computing architecture; constructing a multi-objective function for the computing task set based on the task latency, task energy consumption, and penalty factors used for load balancing on each edge server; the multi-objective function aims to simultaneously minimize the overall task latency and overall task energy consumption of the computing task set, with constraints including that the penalty factors of each edge server are all less than a set penalty threshold; solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm to obtain a target offloading scheme for the computing task set; and offloading the computing task set based on the target offloading scheme. This method can avoid severe imbalances in load distribution among edge servers while ensuring low latency and low energy consumption of computing tasks, thereby improving resource utilization and system stability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of edge computing, and more particularly to a task offloading method, device, storage medium, and product. Background Technology

[0002] With the widespread adoption of mobile smart devices and the development of wireless communication technologies such as 5G, Mobile Edge Computing (MEC) has emerged as a new computing paradigm, serving as an extension and supplement to traditional cloud computing. The basic idea of ​​edge computing is to offload computing tasks generated on mobile devices from the cloud to the network edge, thereby meeting the low-latency requirements of computationally intensive applications such as real-time online games and augmented reality. Task offloading in edge computing is a key research issue: should computing tasks be executed locally or offloaded to edge nodes or the cloud? Due to the limited computing and storage resources of edge nodes, tasks need careful planning to minimize latency. The task offloading problem involves transferring computing tasks from the remote cloud to edge nodes closer to the user, thereby reducing data transmission time between the device and the cloud, improving response speed and system efficiency. Effective task offloading schemes can rationally allocate computing tasks among edge nodes, devices, and the cloud, achieving optimal resource utilization, reducing latency, and improving user experience.

[0003] In related technologies, the factors considered in unloading computing tasks are relatively singular, making it difficult to achieve a balance between resource utilization and system stability. Summary of the Invention

[0004] In view of this, embodiments of this application provide a task unloading method, device, storage medium, and product, which aim to improve resource utilization while enhancing system stability.

[0005] The technical solution of this application embodiment is implemented as follows: In a first aspect, embodiments of this application provide a task unloading method, including: Obtain the set of computing tasks to be assigned under the edge computing architecture; A multi-objective function is constructed for the set of computing tasks based on the task latency, task energy consumption of each computing task and the penalty factor used for load balancing on each edge server. The multi-objective function aims to minimize the overall task latency and overall task energy consumption of the set of computing tasks, and the constraints include that the penalty factor of each edge server is less than a set penalty threshold. The multi-objective function is solved using a decomposition-based multi-objective evolutionary algorithm to obtain the target unloading scheme for the set of computational tasks; Based on the target unloading scheme, the computing task set is unloaded.

[0006] The method in the above scheme further includes: The expected number of retransmissions of a task at the edge server is calculated based on the Poisson distribution-based task retransmission probability quantization. The task latency and energy consumption of the computation task at the edge server are calculated based on the expected number of retransmissions. The overall task latency of the computing task set is determined based on the maximum value of the task latency of each computing task, and the overall task energy consumption of the computing task set is determined based on the sum of the task energy consumption of each computing task.

[0007] In the above scheme, the step of calculating the task latency and energy consumption of the computing task at the edge server based on the expected number of retransmissions includes: For a computing task at an edge server, the processing latency of the computing task at the edge server and the unloading latency of the computing task being unloaded to the edge server are calculated. Based on the sum of the processing latency and the unloading latency, the task latency of the computing task is obtained. The unloading latency is determined based on the product of the transmission latency of the computing task being unloaded to the edge server once and the expected number of retransmissions. For a computing task at an edge server, the processing energy consumption of the computing task at the edge server and the offloading energy consumption of the computing task when it is offloaded to the edge server are calculated. Based on the sum of the processing energy consumption and the offloading energy consumption, the task energy consumption of the computing task is obtained. The offloading energy consumption is determined based on the product of the transmission energy consumption of the computing task when it is offloaded to the edge server once and the expected number of retransmissions.

[0008] The method in the above scheme further includes: The rate parameter of the Poisson distribution is determined by the sum of the number of computing tasks that failed to execute on each edge server within a set time period and the sum of the number of CPU cycles of all computing tasks running on each edge server within the set time period. Based on the rate parameter and the number of CPU cycles of the computation task, the retransmission probability of the computation task is determined.

[0009] The method in the above scheme further includes: The load factor is determined based on the ratio of the number of task execution cycles to the service capacity on each edge server; Based on the load of each edge server, a hyperbolic tangent function and an exponential function are constructed to obtain the penalty factor for load balancing on each edge server.

[0010] In the above scheme, solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm includes: During the population initialization phase, multiple first unloading schemes for the set of computing tasks are generated based on a greedy algorithm, and multiple second unloading schemes for the set of computing tasks are generated based on a random method. A uniformly sampled weight vector is generated based on the number of the plurality of first unloading schemes and the plurality of second unloading schemes; wherein each weight vector corresponds to each unloading scheme and is used to define the optimization direction of the subproblem.

[0011] In the above scheme, the penalty factor includes computational parameters that support dynamic adjustment, and the step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm further includes: During population iteration, the load of all edge servers in the current population is recalculated, and the calculation parameters of the penalty factor are dynamically adjusted based on the mean and variance of the load.

[0012] In the above scheme, the step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm further includes: If the number of population iterations reaches a set number or the improvement rate of the hypervolume for a set number of consecutive generations is less than a set ratio, then a Pareto front is output, and the target unloading scheme is obtained based on the Pareto front; wherein, the hypervolume is used to measure the comprehensive performance of the multi-objective optimization solution set.

[0013] In a second aspect, embodiments of this application provide a task offloading device, including: a processor and a memory for storing a computer program capable of running on the processor, wherein, when the processor is used to run the computer program, it executes the steps of the method described in the first aspect of embodiments of this application.

[0014] Thirdly, embodiments of this application provide a computer storage medium storing a computer program, which, when executed by a processor, implements the steps of the method described in the first aspect of embodiments of this application.

[0015] Fourthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in the first aspect of embodiments of this application.

[0016] The technical solution provided in this application involves obtaining a set of computing tasks to be allocated under an edge computing architecture; constructing a multi-objective function for the computing task set based on the task latency, task energy consumption, and penalty factors for load balancing on each edge server; the multi-objective function aims to minimize the overall task latency and overall task energy consumption of the computing task set, with constraints including that the penalty factors of each edge server are all less than a set penalty threshold; solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm to obtain a target offloading scheme for the computing task set; and offloading the computing task set based on the target offloading scheme. Thus, when offloading tasks under an edge computing architecture, while minimizing the task latency and task energy consumption of computing tasks, the load balancing among edge servers can be improved based on constraints. This ensures low latency and low energy consumption of computing tasks while avoiding severe imbalances in load distribution among edge servers, thereby improving resource utilization and system stability. Attached Figure Description

[0017] Figure 1 This is a flowchart illustrating the task unloading method according to an embodiment of this application; Figure 2 This is a schematic diagram of the edge computing architecture used in an application embodiment of this application; Figure 3 This is a schematic diagram of the task unloading device according to an embodiment of this application; Figure 4 This is a schematic diagram of the structure of the task unloading device in an embodiment of this application. Detailed Implementation

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

[0019] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.

[0020] For example, this application provides a task offloading method applied to an edge computing architecture, which includes multiple local devices and multiple edge servers. One or more local devices are connected to corresponding edge servers via wireless access devices (such as base stations). The task offloading method of this application can be run by an edge server, a local device, or a separately deployed server; that is, the task offloading device can be an edge server, a local device, or a separately deployed server in the edge computing architecture. This application does not limit this. (Refer to...) Figure 1 The method includes: Step 101: Obtain the set of computing tasks to be assigned under the edge computing architecture.

[0021] Here, each local device in an edge computing architecture can generate one or more computing tasks. Based on the scheduling cycle, a set of computing tasks to be allocated on each local device in the edge computing architecture can be obtained. These computing tasks can be offloaded to run on the local device or to an edge server. Because edge servers are closer to the local device, compared to offloading computing tasks to cloud servers, data transmission distance and response latency can be reduced. This allows for better expansion of the computing resources of local devices and meets the low-latency requirements of compute-intensive applications such as real-time online games and augmented reality.

[0022] Step 102: Construct a multi-objective function for the computing task set based on the task latency, task energy consumption of each computing task and the penalty factor used for load balancing on each edge server; the multi-objective function aims to minimize the overall task latency and overall task energy consumption of the computing task set at the same time, and the constraints include that the penalty factor of each edge server is less than a set penalty threshold.

[0023] Here, considering the limited computing and storage resources of each edge server, it is necessary to rationally plan the offloading locations of computing tasks in the computing task set. Based on this, this embodiment constructs a multi-objective function based on the task latency, energy consumption of each computing task, and the penalty factor used for load balancing on each edge server. This multi-objective function aims to simultaneously minimize the overall task latency and overall task energy consumption of the computing task set, with constraints including that the penalty factor of each edge server is less than a set penalty threshold. Thus, while minimizing the task latency and energy consumption of computing tasks, the load balancing among edge servers can be improved based on the constraints.

[0024] Step 103: Solve the multi-objective function using a decomposition-based multi-objective evolutionary algorithm to obtain the target unloading scheme for the set of computational tasks.

[0025] Here, the Multi-objective Evolutionary Algorithm Based on Decomposition (MOEA / D) transforms the multi-objective optimization problem into a series of single-objective optimization subproblems. Then, utilizing information from a number of adjacent problems, an evolutionary algorithm simultaneously optimizes these subproblems. Since a solution on the Pareto front corresponds to the optimal solution for each single-objective optimization subproblem, a set of Pareto optimal solutions can be obtained. Due to the decomposition operation, this method has a significant advantage in preserving the distribution of solutions, and by analyzing information from adjacent problems, it avoids getting trapped in local optima. Thus, by solving the aforementioned multi-objective function using the decomposition-based MOEA / D, the objective of simultaneously minimizing overall task latency and overall task energy consumption can be transformed into single-objective optimization subproblems. Based on the co-evolutionary mechanism among the subproblems, computational complexity is effectively reduced, thereby obtaining an objective offloading scheme for the computational task set.

[0026] Step 104: Based on the target unloading scheme, unload the computing task set.

[0027] Here, the target unloading scheme includes the unloading location of each computing task in the computing task set, that is, the correspondence between each computing task to be assigned and the unloading location. In this way, the unloading of each computing task in the computing task set can be realized based on the correspondence. Specifically, the correspondence between computing tasks and unloading locations can be sent to the corresponding local devices, and each local device can unload the computing tasks on its own to the local device or the edge server indicated by the unloading location.

[0028] It is understood that the method of this application embodiment, when offloading tasks under the edge computing architecture, can improve the load balancing between edge servers based on constraints, while minimizing the task latency and energy consumption of computing tasks. In this way, it can avoid serious imbalance in the load distribution between edge servers while ensuring low latency and low energy consumption of computing tasks. For example, the CPU utilization of hot edge servers is close to saturation, while other edge servers are idle for a long time, thereby improving resource utilization and system stability.

[0029] In related technologies, offloading computing tasks to edge servers can lead to execution failures, resulting in increased end-to-end latency and network load, thereby reducing system reliability. Therefore, in some embodiments, the method further includes: The expected number of retransmissions of a task at the edge server is calculated based on the Poisson distribution-based task retransmission probability quantization. The task latency and energy consumption of the computation task at the edge server are calculated based on the expected number of retransmissions. The overall task latency of the computing task set is determined based on the maximum value of the task latency of each computing task, and the overall task energy consumption of the computing task set is determined based on the sum of the task energy consumption of each computing task.

[0030] Here, the expected number of retransmissions of a task at the edge server is calculated based on the Poisson distribution-based task retransmission probability quantification. Then, the task latency and energy consumption of the computation task at the edge server are solved based on the expected number of retransmissions. This can quantify the additional latency and energy consumption costs caused by retransmission scenarios, thereby improving the accuracy of the target offloading solution and ensuring the reliability of system operation.

[0031] For example, the step of calculating the task latency and task energy consumption of the computing task at the edge server based on the expected number of retransmissions includes: For a computing task at an edge server, the processing latency of the computing task at the edge server and the unloading latency of the computing task being unloaded to the edge server are calculated. Based on the sum of the processing latency and the unloading latency, the task latency of the computing task is obtained. The unloading latency is determined based on the product of the transmission latency of the computing task being unloaded to the edge server once and the expected number of retransmissions. For a computing task at an edge server, the processing energy consumption of the computing task at the edge server and the offloading energy consumption of the computing task when it is offloaded to the edge server are calculated. Based on the sum of the processing energy consumption and the offloading energy consumption, the task energy consumption of the computing task is obtained. The offloading energy consumption is determined based on the product of the transmission energy consumption of the computing task when it is offloaded to the edge server once and the expected number of retransmissions.

[0032] It should be noted that for computing tasks on the local device side, since the above-mentioned offloading latency and offloading energy consumption are not involved, the task latency of the computing task can be determined based on the processing latency at the local device, and the task energy consumption of the computing task can be determined based on the processing energy consumption at the local device.

[0033] In this embodiment, different algorithms are used to calculate the task latency and energy consumption of the computing task based on the different offloading locations of the computing task, so that the overall task latency and overall task energy consumption of the computing task set are accurately quantified. In addition, the expected number of retransmissions of the task at the edge server is calculated based on the task retransmission probability quantification of the Poisson distribution, thereby realizing the calculation of the additional latency and additional energy consumption in the retransmission scenario, which helps to improve the accuracy of the target offloading scheme solution and thus enhances the reliability of system operation.

[0034] Exemplarily, the method further includes: The rate parameter of the Poisson distribution is determined by the sum of the number of computing tasks that failed to execute on each edge server within a set time period and the sum of the number of CPU cycles of all computing tasks running on each edge server within the set time period. Based on the rate parameter and the number of CPU cycles of the computation task, the retransmission probability of the computation task is determined.

[0035] Here, the rate parameter of the Poisson distribution can be determined based on the sum of the number of failed computing tasks on each edge server within the scheduling period and the sum of the CPU cycles of all running computing tasks on each edge server within the scheduling period. Then, based on this rate parameter and the CPU cycles of the computing tasks, the retransmission probability of the corresponding computing tasks can be determined. The CPU cycles refer to the total number of clock cycles consumed by the CPU to complete all operations of the computing task, and are used to measure the CPU computational load of the computing task.

[0036] In one application example, assume that the retransmission probability of task i is calculated on any edge server j. Where λ is the rate parameter of the Poisson distribution, and C i To calculate the CPU cycle count for task i, based on the aforementioned task retransmission probability... The expected number of retransmissions for task i at edge server j can be quantified. The expected number of retransmissions for task i at edge server j can be expressed as: Where n is the maximum number of retransmissions set, and k is the assumed number of retransmissions.

[0037] Exemplarily, the method further includes: The load factor is determined based on the ratio of the number of task execution cycles to the service capacity on each edge server; Based on the load of each edge server, a hyperbolic tangent function and an exponential function are constructed to obtain the penalty factor for load balancing on each edge server.

[0038] Here, the penalty factor for the edge server is determined by a hyperbolic tangent function and an exponential function constructed based on the load of the edge server. This can solve the defects of linear or quadratic function penalty factors, such as ignoring higher-order load effects, slow convergence speed, and easy over-penalization. This makes the penalty factor change more reasonably with the load, ensuring the effectiveness of load balancing constraints and avoiding excessive penalties from interfering with latency / energy consumption optimization, thereby improving the optimization effect of the algorithm in dynamic edge environments.

[0039] Specifically, the hyperbolic tangent function in the penalty factor can slow down the growth of the function value in high-load regions (such as when the edge server is close to full load), avoiding "over-penalty" (i.e., the penalty factor increases sharply with the load, causing the algorithm to over-constrain load balancing and sacrifice latency / energy consumption optimization); the exponential function in the penalty factor can make the function value more sensitive to load changes in low-load regions (such as when the edge server is lightly loaded), enhancing "discrimination at low load" (i.e., it can more clearly distinguish the differences between different low-load states, avoiding the problem that linear / quadratic functions are not sensitive to low load).

[0040] In one application example, the load of edge server j It is expressed as follows:

[0041] Among them, C i To calculate the number of CPU cycles for task i, M j This represents the subset of computational tasks corresponding to edge server j within the task execution window. This represents the peak frequency of edge server j. This indicates the task execution window. This indicates the number of physical cores in edge server j. The task execution window can be a scheduling period or a time slot, and the load factor... This can be understood as the proportion of the number of task execution cycles to the server capacity within the task execution window.

[0042] Penalty factor for edge server j It is expressed as follows:

[0043] in, The global penalty intensity; This is the overload steepness factor, used to control the penalty steepness in the high-load area; α is the low load attenuation coefficient, used to control the smoothness of the penalty in the low load region. α, β, and γ are all adjustable parameters, meaning they are calculation parameters that support dynamic adjustment.

[0044] For example, solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm includes: During the population initialization phase, multiple first unloading schemes for the set of computing tasks are generated based on a greedy algorithm, and multiple second unloading schemes for the set of computing tasks are generated based on a random method. A uniformly sampled weight vector is generated based on the number of the plurality of first unloading schemes and the plurality of second unloading schemes; wherein each weight vector corresponds to each unloading scheme and is used to define the optimization direction of the subproblem.

[0045] Here, in the population initialization phase of the MOEA / D algorithm, multiple first offloading schemes for the computational task set are generated based on a greedy algorithm, and multiple second offloading schemes for the computational task set are generated based on a random method. Then, a uniformly sampled weight vector is generated based on the number of the multiple first and second offloading schemes. The multiple first offloading schemes generated based on the greedy algorithm can include: first, arranging all computational tasks in ascending order of CPU cycles, and then distributing them one by one to the edge server with the lowest current load. This provides the MOEA / D algorithm with a clear convergence direction based on the multiple first offloading schemes generated by the aforementioned greedy algorithm, avoiding severe load imbalance on the edge servers from the outset. The multiple second offloading schemes generated based on the aforementioned random method supplement population diversity, preventing the algorithm from prematurely falling into local optima and covering more potential high-quality scheduling combinations. For dual-objective optimization scenarios, multiple two-dimensional weight vectors are generated using uniform sampling, with one two-dimensional weight vector corresponding to one offloading scheme. This directly defines the optimization focus of the sub-problem, thus matching the core logic of the MOEA / D algorithm to decompose the multi-objective optimization problem into multiple single-objective sub-problems for parallel optimization. This optimizes the solution efficiency and quality of the multi-objective function.

[0046] For example, the penalty factor includes computational parameters that support dynamic adjustment, and the step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm further includes: During population iteration, the load of all edge servers in the current population is recalculated, and the calculation parameters of the penalty factor are dynamically adjusted based on the mean and variance of the load.

[0047] Here, the calculation parameters of the penalty factor can include one or more of the aforementioned global penalty intensity α, overload steepness coefficient β, and low load decay coefficient γ. During population iteration, the load of all edge servers in the current population is recalculated, and the calculation parameters of the penalty factor are dynamically adjusted based on the mean and variance of the load. In this way, the penalty factor can be dynamically adjusted with the load, allowing the penalty intensity of infeasible solutions to adapt to the iteration progress, avoiding the algorithm from getting trapped in local optima too early, and thus achieving load balancing among edge servers based on adaptive penalty.

[0048] For example, the step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm further includes: If the number of population iterations reaches a set number or the improvement rate of the hypervolume for a set number of consecutive generations is less than a set ratio, then a Pareto front is output, and the target unloading scheme is obtained based on the Pareto front; wherein, the hypervolume is used to measure the comprehensive performance of the multi-objective optimization solution set.

[0049] In related technologies, task offloading in edge computing scenarios often relies on large-scale offline training and deep neural networks, which require high training samples and frequent gradient updates. In edge environments with limited computing power and memory, and dynamically changing topologies, model convergence is difficult, and the training process is prone to oscillations. Based on this, the embodiments of this application, in the population initialization stage, based on the aforementioned initialization strategy that combines greedy algorithms and random generation, optimize the solution efficiency and quality of the multi-objective function. Furthermore, by setting dual thresholds (i.e., a set number of iterations corresponding to the number of population iterations and a set ratio corresponding to the hypervolume improvement rate), the solution process is terminated, reducing the average number of iterations. This ensures that the multi-objective function can still be solved efficiently in resource-constrained edge environments, resulting in an objective offloading scheme.

[0050] Here, hypervolume (HV) is a core metric for evaluating the overall performance of a multi-objective optimization solution set. It calculates the volume of space enclosed by the current Pareto front solution set and a reference point. A larger HV value indicates that the solution set is closer to the true Pareto front and has a more uniform distribution.

[0051] The MOEA / D algorithm has an understandable dual termination condition: it stops running when either the maximum number of iterations is reached (corresponding to a set number of population iterations) or the solution quality no longer significantly improves (corresponding to a set rate of increase in oversize over a set number of generations being less than a set ratio). It then outputs the currently found optimal solution set (Pareto front) and derives the target unloading scheme based on the Pareto front. Each solution in the Pareto front represents a set of independent task scheduling schemes. From each scheme, the overall task latency and overall task energy consumption—two core performance indicators—can be extracted to form a complete dual-indicator decision matrix. Each scheme is then scored using TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution), and the highest-ranked scheme is selected as the target unloading scheme. This balances computational efficiency and solution quality, ensuring efficient solution processing even in resource-constrained edge environments.

[0052] The present application will be further described in detail below with reference to application examples.

[0053] In this application embodiment, the edge computing architecture is as follows: Figure 2As shown, the system includes multiple mobile user devices (i.e., local devices) corresponding to a local area. Each local device generates multiple computing tasks, which are transmitted via a wireless network to edge servers (i.e., MEC servers) around the base station. These tasks can be transmitted to edge servers of edge computing nodes in the local area or edge servers of edge computing nodes in neighboring areas. Each base station is surrounded by one or more edge servers. This edge computing architecture may also include cloud computing center nodes. Computing tasks can be offloaded to edge servers for execution or executed on local devices. This application embodiment models the task offloading and retransmission scenario and load balancing, constructing a multi-objective optimization problem to minimize latency and energy consumption, and solves the optimal offloading strategy (i.e., the target offloading scheme) using a multi-objective optimization algorithm.

[0054] The task uninstallation method in this application embodiment includes the following steps: Step 1: By system modeling the task offloading scenario in edge computing, a retransmission model is defined, and a method for calculating latency and energy consumption based on the retransmission model is given. The specific model definition is as follows: System Model: In edge computing architecture, there exists Local devices , One edge server Local devices The resulting set of computational tasks: Each computational task is an indivisible unit with attributes. , ,in, For the amount of data transmitted, To calculate the required number of CPU cycles, The maximum tolerable latency for completing the task. Define the unloading scheme as follows: , Decision variables This indicates the unloading location of the i-th computation task. This indicates that the computing task is unloaded to the local machine. This indicates that the computing task has been offloaded to the j-th edge server.

[0055] Retransmission model: Define the task retransmission probability on any edge server j. The number of task retransmissions follows a Poisson distribution. The probability of task retransmission is related to the number of CPU cycles. Relatedly, the higher the CPU cycle count, the higher the probability of computational tasks failing on edge servers. This can be determined by collecting data on the CPU cycles of tasks on edge servers within the same time period. With indicator variables The maximum likelihood estimate of the rate parameter λ is obtained:

[0056] Among them, indicator variables It is a binary variable (with a value of 0 or 1) used to mark whether the computing task i failed to execute. 1 indicates that the computing task i failed to execute on the edge server (retransmission is required); 0 indicates that the computing task i executed successfully (retransmission is not required).

[0057] Delay model: A set P of computing tasks generated by a local device is partly executed locally and partly executed on an edge server. If the tasks are executed locally, the offloading latency of the computing tasks does not need to be considered. The formula for calculating task latency is:

[0058] in, This indicates the task latency of the computing task on the local device side. represents the number of CPU cycles required for the i-th computation task, and p represents the computing power of the local device.

[0059] If executed on an edge server, the task offloading latency of a computing task includes the offloading latency of the computing task being sent from the local machine to the edge server, as well as the processing latency of the edge server in processing the computing task.

[0060]

[0061]

[0062] in, This indicates the task latency of the computing tasks at the edge server. This represents the transmission latency of a single computation task being unloaded to the edge server. This indicates the processing latency of computing tasks at the edge server. Indicates the amount of data transmitted. The transmission rate can be obtained using Shannon's formula. n represents the maximum number of retransmissions due to task failure. Assuming k retransmissions are required, the task latency is calculated using the formula: Based on the properties of the Poisson distribution, the expected number of retransmissions due to task unloading failure is: p j This represents the computing power of edge server j. Assuming tasks can be offloaded to the edge server in parallel, the overall task latency is the longest of the latency of the tasks computed on the local device and the latency of the tasks offloaded to the edge server.

[0063] in, M represents the overall task latency of the computation task set. .

[0064] Energy consumption model: When a task is uninstalled locally, the energy consumption calculation formula is as follows:

[0065] in, This indicates the power consumption of computing tasks on the local device side. Indicates the computing power of the local device. This represents the computation delay of computation task i.

[0066] When a computing task is offloaded to an edge server, the task's energy consumption consists of two parts: the energy consumed during the offloading process and the energy consumed during processing on the edge server. The formula for calculating task energy consumption is:

[0067]

[0068]

[0069] in This represents the energy consumption of computing tasks at the edge server. This represents the energy consumption of a single computational task being offloaded to an edge server. This indicates the energy consumption of computing tasks at the edge server. The computing power of the edge server, The transmit power for offloading computing tasks from the local device to the edge server. n represents the maximum number of retransmissions due to task failure. Assuming k retransmissions are required, the formula for calculating task energy consumption is: Based on the properties of the Poisson distribution, the expected number of retransmissions due to task unloading failure is: The total task energy consumption is the sum of the energy consumption of all computational tasks:

[0070] in, M represents the total energy consumption of the computation task set. .

[0071] Load balancing model: A hyperbolic tangent-exponential mixture function is used as the penalty factor to characterize the load balancing of the system. Traditional penalty factors are mostly linear or quadratic functions, ignoring higher-order load effects, resulting in slow convergence and a tendency to over-penalize. The load balancing is defined for any edge server j.

[0072] Load This indicates the proportion of server capacity occupied by the task execution cycle, where, Indicates the server's peak frequency. This indicates the task execution window. This represents the number of physical cores, assuming the task is executed in parallel on the server. The penalty factor is...

[0073] in, The global penalty intensity; This is the overload steepness factor, used to control the penalty steepness in the high-load area; α is the low load attenuation coefficient, used to control the smoothness of the penalty in the low load region. α, β, and γ are all adjustable parameters.

[0074] Step 2: Based on the above model, construct a multi-objective function based on time delay and energy consumption, and the constraints for solving it.

[0075] Delay-Energy Multi-Objective Function:

[0076] Where x is the decision vector, and each element x i The unloading location corresponding to the i-th computation task (e.g., x) i =0 indicates that computation task i is unloaded locally, x i =j indicates that computing task i is offloaded to edge server j.

[0077] Solve the constraints: C1:

[0078] C2:

[0079] C3:

[0080] C4:

[0081] Where C1 indicates that the penalty factor of the edge server cannot exceed the critical value, C2 indicates that the computing task is indivisible, C3 indicates that the completion time of each computing task cannot exceed the maximum tolerance time, and C4 indicates the range of computing tasks and the number of edge servers.

[0082] Step 3: Under constraints, solve for the optimal task offloading strategy, i.e., the optimal solution of the multi-objective function, using the optimized multi-objective evolutionary algorithm MOEA / D. The MOEA / D solution process is as follows: 1. Population Initialization: During the initialization phase, the system generates 100 chromosomes at once; each chromosome is composed of... It consists of 1 integer, each digit taking a value of 1. Here, 0 represents the local terminal device, and the remaining values ​​correspond to the edge servers. The first 50 chromosomes employ a greedy strategy, first sorting all tasks in ascending order of CPU cycles, then distributing them one by one to the edge server with the lowest current load. The last 50 chromosomes are generated uniformly and randomly to ensure the population has both a convergence direction and sufficient diversity. Two-dimensional uniform weights generated through a sampling method correspond one-to-one with the chromosomes, defining the optimization direction of subproblems.

[0083] 2. Genetic Variation: In the parent selection phase, for each subproblem, two individuals are randomly selected from the 20 nearest neighbor solutions in its weight space to serve as parents, ensuring the transmission of superior genes within the neighborhood. The crossover operation employs a two-point integer crossover strategy: two positions in the gene sequence are randomly selected as crossover points, and the task allocation sequences of the parent individuals within this interval are exchanged. Assume the task allocation sequence of parent individual A is... Parent individual B is If the intersection points are randomly selected as 3 and 5, then the parent generation intervals are swapped. The task allocation sequence in the [database / system]. After the swap, child A becomes [the child]. Offspring B becomes The mutation phase employs a targeted perturbation strategy: randomly selecting the server-numbered gene locus corresponding to the task, in order to... The amplitude is adjusted to simulate the migration of the task between adjacent edge nodes. For example, if the mutation point of parent individual A is selected as 2, then the sequence of offspring individual A will be... and If the mutation causes the server number to exceed the actual range, then a modulo operation is used to wrap back to the valid range, making... Mapped to , Mapped to This avoids generating invalid solutions. The mutation probability is designed with adaptive decay characteristics, starting from 0.9 in the first generation and decreasing linearly with the number of iterations, decaying to 0.1 by the 250th generation.

[0084] 3. Adaptive penalty: Each generation recalculates all load degrees based on the current population. The penalty factor calculation parameters are updated online according to the mean and variance of the load, so that the penalty factor changes in real time with the system load. The penalty factor is directly embedded into the aggregation function PBI.

[0085] For example, during each iteration, the system recalculates the load of all edge servers in the current population and dynamically adjusts the calculation parameters of the penalty factor (such as global penalty strength α, overload steepness coefficient β, and low load decay coefficient γ) based on the mean and variance of the load. Specifically: If the average load increases, it indicates that the overall system load has increased, so the global penalty intensity α should be increased to strengthen the constraints on overloaded nodes. If the load variance increases (significant load differences between nodes), the overload steepness coefficient β and low load attenuation coefficient γ of the optimization penalty factor are adjusted to make the penalty factor change in real time with the system load, ensuring the adaptability of the load balancing constraint.

[0086] Here, the aggregation function PBI (Penalty Boundary Intersection) is a core tool in the MOEA / D algorithm used for the transformation from multi-objective to single-objective. Its function is to convert objectives such as time delay and energy consumption into comparable single-objective values ​​(PBI values) to evaluate the quality of solutions. Specifically, it includes: Ideal point determination: The minimum values ​​of latency and energy consumption in the current population are recalculated in each generation and taken as the ideal point (the theoretical optimum of each objective). Normalization: Subtract the ideal point from each objective value of the solution and then divide by the range to eliminate dimensional differences; PBI value calculation: Combining the weight vectors corresponding to the sub-problems, calculate the "penalty boundary cross value" (PBI value) of the solution to the ideal point. The smaller the PBI value, the better the solution is in the corresponding optimization direction (while satisfying the trade-off requirements of time delay and energy consumption). Adaptive penalty integration: The penalty factor, which changes in real time with the load, is embedded into the PBI calculation, so that the PBI value can reflect the system load constraints and ensure the feasibility and optimization of the solution.

[0087] 4. Neighborhood Update: The neighborhood is defined as the 20 weight vectors and their corresponding individuals that are closest to the Euclidean distance in the weight space for the current subproblem. An elite-oriented competition mechanism is used to replace individuals in the neighborhood. The penalized boundary cross value of the new solution is calculated. If this value is better than the PBI value of the worst individual in the neighborhood, the worst individual is replaced with the new solution. This process simultaneously updates the external non-dominated archive to ensure that high-quality solutions are retained in a timely manner. A fixed number of 100 non-dominated solutions are stored, sorted by crowding distance according to the distribution density in the target space. When the archive overflows, the solution with the lowest crowding distance is prioritized for elimination.

[0088] 5. Convergence: In each generation, the minimum values ​​of latency and energy consumption for the current population are recalculated to obtain the ideal point. All target values ​​are subtracted from the ideal point and then divided by the range for normalization. The movement amount of the ideal point in each generation is recorded; if the movement amount is less than 1% for 30 consecutive generations, convergence is considered achieved.

[0089] 6. Termination: Iteration stops at the 250th generation or after 30 consecutive generations when the hypervolume improvement is less than 0.1%, and the Pareto front is output. The Pareto front refers to the set of all non-dominated solutions, where each solution achieves the optimal trade-off between time delay and energy consumption objectives, meaning that improvement in one objective inevitably leads to degradation of the other.

[0090] 7. Evaluation: In the Pareto front generated by MOEA / D, each solution in the front is regarded as a candidate solution, and its latency and energy consumption are extracted; TOPSIS is used to score each solution, and the solution with the highest ranking is selected as the final deployment solution.

[0091] In order to implement the method of the embodiments of this application, the embodiments of this application also provide a task unloading device, which corresponds to the task unloading method described above. The steps in the embodiments of the task unloading method described above are also fully applicable to the embodiments of this task unloading device.

[0092] Reference Figure 3 The task unloading device includes: an acquisition module 301, a construction module 302, a solution module 303, and an unloading module 304. The acquisition module 301 acquires a set of computing tasks to be allocated under the edge computing architecture; the construction module 302 constructs a multi-objective function for the computing task set based on the task latency, task energy consumption, and penalty factors for load balancing on each edge server; the multi-objective function aims to minimize both the overall task latency and overall task energy consumption of the computing task set, with constraints including that the penalty factors on each edge server are all less than a set penalty threshold; the solution module 303 solves the multi-objective function using a decomposition-based multi-objective evolutionary algorithm to obtain a target unloading scheme for the computing task set; the unloading module 304 unloads the computing task set based on the target unloading scheme.

[0093] In some embodiments, the construction module 302 is further configured to: The expected number of retransmissions of a task at the edge server is calculated based on the Poisson distribution-based task retransmission probability quantization. The task latency and energy consumption of the computation task at the edge server are calculated based on the expected number of retransmissions. The overall task latency of the computing task set is determined based on the maximum value of the task latency of each computing task, and the overall task energy consumption of the computing task set is determined based on the sum of the task energy consumption of each computing task.

[0094] In some embodiments, the construction module 302 is specifically used for: For a computing task at an edge server, the processing latency of the computing task at the edge server and the unloading latency of the computing task being unloaded to the edge server are calculated. Based on the sum of the processing latency and the unloading latency, the task latency of the computing task is obtained. The unloading latency is determined based on the product of the transmission latency of the computing task being unloaded to the edge server once and the expected number of retransmissions. For a computing task at an edge server, the processing energy consumption of the computing task at the edge server and the offloading energy consumption of the computing task when it is offloaded to the edge server are calculated. Based on the sum of the processing energy consumption and the offloading energy consumption, the task energy consumption of the computing task is obtained. The offloading energy consumption is determined based on the product of the transmission energy consumption of the computing task when it is offloaded to the edge server once and the expected number of retransmissions.

[0095] In some embodiments, the construction module 302 is further configured to: The rate parameter of the Poisson distribution is determined by the sum of the number of computing tasks that failed to execute on each edge server within a set time period and the sum of the number of CPU cycles of all computing tasks running on each edge server within the set time period. Based on the rate parameter and the number of CPU cycles of the computation task, the retransmission probability of the computation task is determined.

[0096] In some embodiments, the construction module 302 is further configured to: The load factor is determined based on the ratio of the number of task execution cycles to the service capacity on each edge server; Based on the load of each edge server, a hyperbolic tangent function and an exponential function are constructed to obtain the penalty factor for load balancing on each edge server.

[0097] In some embodiments, the solving module 303 is specifically used for: During the population initialization phase, multiple first unloading schemes for the set of computing tasks are generated based on a greedy algorithm, and multiple second unloading schemes for the set of computing tasks are generated based on a random method. A uniformly sampled weight vector is generated based on the number of the plurality of first unloading schemes and the plurality of second unloading schemes; wherein each weight vector corresponds to each unloading scheme and is used to define the optimization direction of the subproblem.

[0098] In some embodiments, the solving module 303 is specifically used for: During population iteration, the load of all edge servers in the current population is recalculated, and the calculation parameters of the penalty factor are dynamically adjusted based on the mean and variance of the load.

[0099] In some embodiments, the solving module 303 is specifically used for: If the number of population iterations reaches a set number or the improvement rate of the hypervolume for a set number of consecutive generations is less than a set ratio, then a Pareto front is output, and the target unloading scheme is obtained based on the Pareto front; wherein, the hypervolume is used to measure the comprehensive performance of the multi-objective optimization solution set.

[0100] In practical applications, the acquisition module 301, construction module 302, solution module 303, and unloading module 304 can be implemented by the processor in the task unloading device. Of course, the processor needs to run the computer program in memory to implement its functions.

[0101] It should be noted that the task unloading device provided in the above embodiments is only illustrated by the division of the above program modules. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the task unloading device and the task unloading method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0102] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of this application, the embodiments of this application also provide a task unloading device. Figure 4 This only shows an exemplary structure of the unloading device for this task, not the entire structure; implementation is possible as needed. Figure 4 The structure shown may be part or all of the structure.

[0103] like Figure 4 As shown, the task offloading device 400 provided in this embodiment includes at least one processor 401, a memory 402, a user interface 403, and at least one network interface 404. The various components in the task offloading device 400 are coupled together via a bus system 405. It can be understood that the bus system 405 is used to implement communication between these components. In addition to a data bus, the bus system 405 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 4 The general designated all buses as Bus System 405.

[0104] The user interface 403 may include a monitor, keyboard, mouse, trackball, click wheel, buttons, touchpad, or touch screen.

[0105] The memory 402 in this embodiment is used to store various types of data to support the operation of the task offloading device. Examples of such data include any computer program used to operate on the task offloading device.

[0106] The task offloading method disclosed in this application can be applied to or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the task offloading method can be completed by integrated logic circuits in the hardware of processor 401 or by instructions in software form. The processor 401 can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 401 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software modules can be located in a storage medium, specifically memory 402. Processor 401 reads information from memory 402 and, in conjunction with its hardware, completes the steps of the task offloading method provided in the embodiments of this application.

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

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

[0109] In an exemplary embodiment, this application also provides a computer storage medium, specifically a computer-readable storage medium, such as a memory 402 storing a computer program. This computer program can be executed by the processor 401 of the task offloading device 400 to complete the steps described in the method of this application embodiment. The computer-readable storage medium can be a ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM, etc.

[0110] In an exemplary embodiment, this application also provides a computer program product, including a computer program that can be executed by the processor 401 of the task offloading device 400 to complete the steps described in the method of this application embodiment.

[0111] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0112] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.

[0113] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A task unloading method, characterized in that, include: Obtain the set of computing tasks to be assigned under the edge computing architecture; A multi-objective function is constructed for the set of computing tasks based on the task latency, task energy consumption of each computing task and the penalty factor used for load balancing on each edge server. The multi-objective function aims to minimize the overall task latency and overall task energy consumption of the set of computing tasks, and the constraints include that the penalty factor of each edge server is less than a set penalty threshold. The multi-objective function is solved using a decomposition-based multi-objective evolutionary algorithm to obtain the target unloading scheme for the set of computational tasks; Based on the target unloading scheme, the computing task set is unloaded.

2. The method according to claim 1, characterized in that, The method further includes: The expected number of retransmissions of a task at the edge server is calculated based on the Poisson distribution-based task retransmission probability quantization. The task latency and energy consumption of the computation task at the edge server are calculated based on the expected number of retransmissions. The overall task latency of the computing task set is determined based on the maximum value of the task latency of each computing task, and the overall task energy consumption of the computing task set is determined based on the sum of the task energy consumption of each computing task.

3. The method according to claim 2, characterized in that, The process of calculating the task latency and energy consumption of the computation task at the edge server based on the expected number of retransmissions includes: For a computing task at an edge server, the processing latency of the computing task at the edge server and the unloading latency of the computing task being unloaded to the edge server are calculated. Based on the sum of the processing latency and the unloading latency, the task latency of the computing task is obtained. The unloading latency is determined based on the product of the transmission latency of the computing task being unloaded to the edge server once and the expected number of retransmissions. For a computing task at an edge server, the processing energy consumption of the computing task at the edge server and the offloading energy consumption of the computing task when it is offloaded to the edge server are calculated. Based on the sum of the processing energy consumption and the offloading energy consumption, the task energy consumption of the computing task is obtained. The offloading energy consumption is determined based on the product of the transmission energy consumption of the computing task when it is offloaded to the edge server once and the expected number of retransmissions.

4. The method according to claim 2, characterized in that, The method further includes: The rate parameter of the Poisson distribution is determined by the sum of the number of computing tasks that failed to execute on each edge server within a set time period and the sum of the number of CPU cycles of all computing tasks running on each edge server within the set time period. Based on the rate parameter and the number of CPU cycles for the computation task, the retransmission probability of the computation task is determined.

5. The method according to claim 1, characterized in that, The method further includes: The load factor is determined based on the ratio of the number of task execution cycles to the service capacity on each edge server; Based on the load of each edge server, a hyperbolic tangent function and an exponential function are constructed to obtain the penalty factor for load balancing on each edge server.

6. The method according to claim 1, characterized in that, The step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm includes: During the population initialization phase, multiple first unloading schemes for the set of computing tasks are generated based on a greedy algorithm, and multiple second unloading schemes for the set of computing tasks are generated based on a random method. A uniformly sampled weight vector is generated based on the number of the plurality of first unloading schemes and the plurality of second unloading schemes; wherein each weight vector corresponds to each unloading scheme and is used to define the optimization direction of the subproblem.

7. The method according to claim 6, characterized in that, The penalty factor includes computational parameters that support dynamic adjustment, and the step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm further includes: During population iteration, the load of all edge servers in the current population is recalculated, and the calculation parameters of the penalty factor are dynamically adjusted based on the mean and variance of the load.

8. The method according to claim 6, characterized in that, The step of solving the multi-objective function using a decomposition-based multi-objective evolutionary algorithm further includes: If the number of population iterations reaches a set number or the improvement rate of the hypervolume for a set number of consecutive generations is less than a set ratio, then a Pareto front is output, and the target unloading scheme is obtained based on the Pareto front; wherein, the hypervolume is used to measure the comprehensive performance of the multi-objective optimization solution set.

9. A task unloading device, characterized in that, include: A processor and memory for storing computer programs that can run on the processor, wherein, The processor, when running a computer program, performs the steps of the method according to any one of claims 1 to 8.

10. A computer storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.