Dynamic computing offloading and caching method and device for mobile edge cloud
By establishing an objective function and applying the water injection allocation algorithm and the channel inversion allocation algorithm in the mobile edge cloud, the computation offloading and service caching strategies are optimized, which solves the joint decision-making problem of computation offloading and service caching in the existing technology and improves the overall utility of the system and resource utilization efficiency.
Patent Information
- Application Number
- CN202510740974.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-05
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2045-06-05
AI Technical Summary
Existing technologies lack joint decision-making for computation offloading and service caching strategies in mobile edge computing, ignoring the mutual influence between computation offloading and service caching, resulting in unfair computing performance and insufficient resource utilization.
By establishing the objective function of computation offloading and service caching, adopting the water injection allocation algorithm and the channel inversion allocation algorithm, a joint strategy is formulated to optimize the time slices and cache sets of computation offloading and service caching, and adapt to mobile devices with homogeneous or heterogeneous service preferences.
The joint optimization of computation offloading and service caching in a mobile edge cloud environment is achieved, which improves the overall system utility, adapts to the limited resources of edge devices, and maintains the fairness and efficiency of service processing.
Smart Images

Figure CN120256069B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of edge computing, and more specifically, to a method and device for dynamic computing offloading and caching for mobile edge clouds. Background Art
[0002] With the development of Internet technology and the popularization of mobile devices, mobile devices such as smartphones have become indispensable tools in daily life. Although their hardware capabilities still have certain limitations, mobile devices are developing towards a more intelligent direction to provide efficient communication services and convenient computing services.
[0003] However, the limitations of mobile device hardware make it difficult to meet the computational demands of some compute-intensive tasks. Emerging mobile edge computing (MEC) technology has become a key technology to address this bottleneck. By offloading computationally demanding tasks to edge servers rather than processing them on mobile devices, the powerful computing power of edge servers can be leveraged to accelerate computations and reduce task response latency.
[0004] Compared to traditional communication-oriented networks, edge computing networks are built on computation-driven communication. Existing computation offloading and service caching decision-making methods combine wireless communication and computer technologies to adapt to edge scenarios with complex environments and changing services. However, they still have the following shortcomings:
[0005] 1. The research perspective is relatively single, limited to computing offloading strategy or service caching strategy, ignoring the mutual influence between the two and failing to formulate a joint strategy.
[0006] 2. The formulation of computation offloading strategies lacks practical significance. Current methods all assume that edge devices have pre-deployed specific data, such as task-related data and models, for processing tasks. However, edge devices have limited resources, and users generate heavy tasks in addition to light tasks. Therefore, pre-deploying all possible task-specific data is obviously unrealistic.
[0007] 3. Service caching strategies lack consideration for fairness. Given heterogeneous service preferences, the request ratio of computing tasks, or service popularity, is not fixed and is affected by computational offload decisions. Traditional channel-aware strategies cause edge devices to favor caching data from services with favorable channel conditions, leading to unfair caching strategies and reduced overall computing performance. Summary of the Invention
[0008] The purpose of the embodiments of the present application is to provide a dynamic computing offloading and caching method and device for mobile edge cloud, so as to solve the above-mentioned problems existing in the prior art, improve the decision-making performance of heterogeneous service preferences, and maximize the total utility.
[0009] In a first aspect, a dynamic computing offloading and caching method for a mobile edge cloud is provided, which may include:
[0010] Establishing an objective function for computation offloading and service caching based on a pre-built mobile edge system, a computation offloading model, and a service caching model; the mobile edge system includes multiple mobile devices and multiple edge servers; the objective function is defined based on the processing time slice and data transmission speed of each task, each of which is a task offloaded from each mobile device;
[0011] If the service preferences of multiple mobile devices are isomorphic, then based on the water filling allocation algorithm and the channel inversion allocation algorithm, determining the target time slice of each target task corresponding to the maximum value of the objective function;
[0012] If multiple mobile devices have heterogeneous service preferences, the optimization problem corresponding to the objective function is decomposed to obtain a computation offloading strategy and a service caching strategy; based on the computation offloading strategy and service caching strategy of each target task, a target cache set and a target task hit probability are determined; based on the target cache set and the target task hit probability, a target time slice corresponding to each target task at the maximum value of the objective function is determined;
[0013] The maximum value of the objective function corresponds to the target time slice of each target task and is determined as the optimal strategy for combining computation offloading and service caching.
[0014] In one possible implementation, the objective function is:
[0015]
[0016]
[0017] in, is the target time slice corresponding to mobile device n, is the data transmission speed of mobile device n, For the expected response delay, is the response delay threshold, For mobile devices The task offloading rate, is the size of the task.
[0018] In a possible implementation, when multiple mobile devices have the same service preferences, the target time slice is expressed as:
[0019]
[0020] in, and denote the optimal Lagrange multipliers related to time-sharing constraint and response delay constraint, respectively, and , is the data transmission speed of mobile device n, is the size of the task, is the mission hit probability.
[0021] In one possible implementation, if multiple mobile devices have isomorphic service preferences, the target time slice for each target task is determined based on a water filling allocation algorithm and a channel inversion allocation algorithm, including:
[0022] determining a first threshold value according to the water filling allocation algorithm, and determining a second threshold value according to the channel inversion allocation algorithm;
[0023] determining the target time slice based on the first threshold and the second threshold;
[0024] When the target parameter is not less than the first threshold, the target time slice is determined as: ; The target parameter is determined based on the Lagrange multiplier of the response delay constraint;
[0025] When the target parameter is not greater than the second threshold, the target time slice is determined as: ;in, is the Lagrange multiplier that satisfies the response delay constraint.
[0026] In one possible implementation, the Lagrange multiplier that satisfies the response delay constraint is expressed as:
[0027]
[0028] Among them, the target parameter .
[0029] In a possible implementation, the first threshold is expressed as: ; The second threshold is expressed as: .
[0030] In one possible implementation, determining the target cache set and the target task hit probability based on the computation offloading strategy and service cache strategy of each target task includes:
[0031] Determine the target offload vector and the target task hit probability based on the configured cache set and task hit probability;
[0032] The cache set is updated based on the target task hit probability and the target offload vector to obtain the target cache set.
[0033] In a possible implementation, updating the cache set based on the target task hit probability and the target offload vector to obtain the target cache set includes:
[0034] The target high-speed cache set is obtained by adopting a cache set replacement strategy and a greedy service adding strategy to process the target task hit probability and the target offload vector.
[0035] In a second aspect, a dynamic computing offloading and caching device for a mobile edge cloud is provided, which may include:
[0036] A construction unit is configured to establish an objective function for computation offloading and service caching based on a pre-built mobile edge system, a computation offloading model, and a service caching model; the mobile edge system includes multiple mobile devices and multiple edge servers; the objective function is defined based on a processing time slice and a data transmission speed for each task, each task being a task offloaded to each mobile device;
[0037] a determining unit configured to determine, if the plurality of mobile devices have isomorphic service preferences, a target time slice corresponding to each target task corresponding to a maximum value of the objective function based on a water filling allocation algorithm and a channel inversion allocation algorithm;
[0038] Furthermore, if multiple mobile devices have heterogeneous service preferences, the optimization problem corresponding to the objective function is decomposed to obtain a computation offloading strategy and a service caching strategy; based on the computation offloading strategy and service caching strategy of each target task, a target cache set and a target task hit probability are determined; based on the target cache set and the target task hit probability, a target time slice corresponding to each target task at which the maximum value of the objective function is obtained is determined;
[0039] Furthermore, the maximum value of the objective function corresponds to the target time slice of each target task, which is determined as the optimal strategy for computing offloading and service caching combination.
[0040] This application can build a system based on the edge network in real scenarios, consider the interaction between the computing offloading strategy and the service caching strategy, formulate a joint strategy, and improve the overall utility of the system. Realize dynamic data caching. Immediately after the user task data is offloaded, a certain amount of service-specific data is cached to improve the subsequent service processing speed and adapt to the limitations of limited storage resources of edge devices. Computation offloading strategy and service caching strategy are optimized alternately. In the case of isomorphic service preferences, the two strategies are automatically decoupled, and the optimal strategy is selected according to the performance optimization formula; in the case of heterogeneous service preferences, on the premise of meeting the cache balance condition, alternately fix computing offloading or service caching, and obtain the optimal joint decision by expanding the maximum offloading rate or replacing the cache service list iteration to maintain service processing fairness. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.
[0042] Figure 1 A schematic diagram of a dynamic computing offloading and caching method for a mobile edge cloud provided in an embodiment of the present application;
[0043] Figure 2 A flowchart of a dynamic computing offloading and caching method for mobile edge cloud provided in an embodiment of the present application;
[0044] Figure 3 A structural diagram of a dynamic computing offloading and caching device for a mobile edge cloud provided in an embodiment of the present application. DETAILED DESCRIPTION
[0045] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0046] For ease of understanding, the terms involved in the embodiments of this application are explained below:
[0047] A. Service preference isomorphism: refers to the tendency to use the same or similar technical architecture, platform, programming language, etc. when designing, deploying or selecting services.
[0048] B. Heterogeneous service preferences: refers to the active use of different technologies, platforms, and methods in the system to provide diverse services.
[0049] Computation offloading refers to the process of offloading some or all computing tasks on mobile devices to cloud computing environments (especially edge devices close to the user). It aims to address the shortcomings of mobile devices in terms of resource storage, computing performance, and energy efficiency. By offloading latency-critical, computationally intensive tasks to edge servers, it can reduce power consumption and latency, while enhancing the user experience. Computation offloading involves multiple aspects, including offloading decision-making, resource allocation, and offloading system implementation. It is a key technology in edge computing.
[0050] D. Service caching refers to a technology that temporarily stores data on the server side. This technology saves frequently requested data or web pages in the server's memory or hard disk, enabling faster responses to subsequent requests. This reduces server load, improves user access speed, and avoids repeated computations or database access operations. Service caching includes various forms, such as page caching, data caching, and object caching. Different caching strategies can be used based on application type and requirements.
[0051] E. Time Division Multiple Access (TDMA) is a multiple access technology used in wireless communications. It enables multiple users to share the same frequency resources by dividing time into non-overlapping time frames, each of which is further divided into multiple time slots. Each time slot is allocated to a different user for data transmission or voice calls.
[0052] F. Water-Filling (WF) is a power allocation algorithm whose core idea is to allocate available resources (such as power) according to channel quality. Users or subcarriers with better channel conditions are allocated more resources.
[0053] G. Channel Inversion (CI) is an adaptive power allocation method. Its core is that the transmitter dynamically adjusts the transmit power based on known channel state information (CSI) to ensure that the signal power received by the receiver remains constant.
[0054] Therefore, the present application provides a dynamic computing offloading and caching method and device for mobile edge cloud, which is used to solve the above-mentioned problems existing in the prior art, improve the decision-making performance of service preference heterogeneity, and maximize the total utility.
[0055] The preferred embodiments of the present application are described below in conjunction with the drawings in the specification. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application and are not used to limit the present application. In addition, the embodiments and features in the embodiments of the present application can be combined with each other if there is no conflict.
[0056] Figure 2 The present invention provides a flow chart of a dynamic computing offloading and caching method for mobile edge cloud. Figure 2 As shown, the method may include:
[0057] Step S210: construct a mobile edge system, a computation offloading model, a service cache model, and an objective function.
[0058] Specific: Combined Figure 1 As shown in Figure 1, A. Mobile Edge System: This system can include N mobile devices, represented by the set N = {1, ..., N}, a central server, an edge network access point (AP) connected to the edge servers, and multiple edge servers. Each mobile device can run various tasks in a mobile environment, and the set of tasks is represented by S = {1, ..., S}. These tasks are assumed to be static. The tasks in set S are all computationally intensive and cannot be processed locally on the mobile device with limited computing and storage resources. Instead, they need to be offloaded to the edge servers.
[0059] There are two types of data involved in the mobile edge system:
[0060] USD: Input data generated by mobile users, reflecting user characteristics (such as images, audio, sensor values, etc.).
[0061] SSD: The software architecture of the service, which provides the basic functions, interfaces, and background information (such as program executable files and databases) required for task processing.
[0062] The edge server obtains USD and SSD through the processes of computation offloading and service caching respectively, and can process related tasks after obtaining them.
[0063] B. Computation offloading model: Both the mobile device and the edge network access point (AP) are equipped with a single antenna to offload tasks and obtain USD. Assuming this is a slow fading channel, within the time window considered for computation offloading, the channel gain Keep it fixed. According to Shannon's formula, the mobile device Spectral efficiency (in bits per second per hertz) are:
[0064]
[0065] in, Represents a mobile device Uplink channel gain to edge network access point, Indicates the transmit power, represents the variance of complex Gaussian white noise.
[0066] When the system bandwidth is given as B, the uplink data transmission speed can be obtained (in bits per second) are:
[0067]
[0068] Based on the allocation of wireless resources using Time Division Multiple Access (TDMA) technology, time slices are assigned to mobile devices. ,use Express, satisfy , to process the corresponding tasks within the time slice, where the time slice can be understood as a time period or time window; for simplicity, it is assumed that the size of each USD is (in bits). Given and ,mobile device The task offloading rate (in tasks / second) is:
[0069]
[0070] Each mobile device has a service preference, represented by a vector express, ,in, Represents a mobile device Uninstall Task The probability of satisfying Assume that the edge server has deployed a preference learning algorithm and knows the service preferences of each mobile device. For tasks The unloading rate is , so we get a single task The total unloading rate is:
[0071]
[0072] As the number of tasks increases, the offloading process of each task will become independent of each other, so given the total offloading rate , the total service arrival volume at the edge network access point (AP) can be approximated as a Poisson process with arrival rate for:
[0073]
[0074] C. Service Cache Model: Service cache means that SSD is stored in the edge server. is the cache set, is a subset of S, which contains the index of cached services.
[0075] It should be noted that the task set S contains the task data and the service data for processing the task; the cache set It can be understood as service data for processing related tasks.
[0076] For simplicity, it is assumed that each SSD is of equal size and the maximum number of cache services is fixed to For the sake of comprehensiveness, consider is much smaller than the total number of tasks, that is, ,in Representing a collection The cardinality of the least frequently used strategy (LFU) is used to count and cache The most popular service, represents the popularity vector, where Indicates a task The probability of being uninstalled is calculated as follows:
[0077]
[0078] Furthermore, when When the cache set The following conditions are met:
[0079] (1) Cache Set The services in are more likely to be requested, i.e. .
[0080] (2) The number of cache services is always ,Right now .when When is a constant and the arrival of the current task is independent of past tasks, the LFU strategy is the optimal strategy.
[0081] (3) Given a vector of service preferences for each mobile device and the task offloading rate , service popularity vector will not change due to service arrival. After optimization, Still remain consistent.
[0082] D. Constructing the Objective Function: When a task with a USD is offloaded to an edge server, it is moved to a task queue that follows the first-in, first-out (FIFO) principle. When task s is ready to be computed, the edge server first searches its storage for the corresponding SSD and sets it to the highest priority. If the SSD is already cached, the edge server immediately calls it into its compute unit to begin computing task s. Otherwise, the edge server downloads the required SSD from the central server during the computation process, and the downloaded portion is removed after use.
[0083] Specifically, D1, response delay analysis: Since the propagation delay between the edge server and the central server cannot be ignored, and the first calculation rate of the central server (in tasks / second) much larger than the second computation rate of edge servers ,Right now For ease of processing, it is assumed that the computation durations of the central server and edge server are respectively and Since the amount of data of the calculation result is negligible and the transmission power of the edge network access point (AP) is significantly higher than that of the mobile device, the transmission delay of the calculation result is ignored for simplicity. Therefore, the expected response delay is given by express, It can be expressed as:
[0084]
[0085] Where W represents the expected queuing delay of any task in the task queue, and T represents the expected computing delay of any task.
[0086] Afterwards, the first calculated rate is based on the random selection and the second calculation rate , and their corresponding hit probabilities are and , determine the expected response delay ;in, Characterizes the likelihood that the requested SSD is in the cache set C, .
[0087]
[0088] According to the task arrival rate following the Poisson distribution And the above super-exponential service time (the service time conforms to the super-exponential distribution, referred to as super-exponential service time), we can get a The queuing model with utilization Expressed as .when According to the Pollaczek-Khintchine formula, we can get The closed form of:
[0089]
[0090] Therefore, response delays are expected can be converted to:
[0091]
[0092] D2. Optimization problem formula: Based on time division multiple access (TDMA) technology, formulate the function that maximizes the total utility of this system, for mobile devices The widely used logarithmic utility function is used:
[0093]
[0094] Furthermore, when When , the utility is guaranteed to be 0 by adding 1. The optimization is a time-sharing constraint, that is, the time-sharing constraint is When , the optimization function is to maximize the sum of the utilities of all mobile devices, that is, .
[0095] On the contrary, considering the response delay constraint to ensure the service quality of edge computing, the expected response delay Does not exceed the response delay threshold ,Right now Under the constraints of time sharing and response delay, the objective function of maximizing total utility can be expressed as:
[0096]
[0097] in, .
[0098] Step S220: Determine a target time slice based on the service preference types of the multiple mobile devices.
[0099] Specifically, the service preference types include service preference homogeneity and service preference heterogeneity.
[0100] A. When the service preference types of multiple mobile devices are isomorphic:
[0101] Service preference isomorphism means that the service preference of each mobile device is the same, i.e. Under the condition of isomorphic service preferences, the popularity vector is constant, and No, eliminated and The recursive relationship between them can therefore be optimized in advance and hit probability .set up and , therefore, we can get:
[0102]
[0103] when When , we can get:
[0104]
[0105] because , the above formula is a linear constraint, and when is feasible so that when Based on convex optimization theory, the following properties can be obtained:
[0106] (1) There is at least one constraint that satisfies the equality relationship between the time-sharing constraint and the response delay constraint.
[0107] (2) Assigned to mobile devices Target time slice It can be expressed as:
[0108]
[0109] in, and denote the optimal Lagrange multipliers related to time-sharing constraint and response delay constraint, respectively, and .
[0110] Furthermore, the target time slice There are two ways to determine:
[0111] a1. Determine the target time slice based on the water filling allocation algorithm (WF);
[0112] When the response delay constraint is ignored, the target time slice can be simplified according to the water filling allocation algorithm, which is specifically expressed as:
[0113]
[0114] in, is the Lagrange multiplier that satisfies the time-sharing constraint, that is, According to the complementary relaxation conditions and properties, it can be determined that if the response delay condition is met, then and , so the formula is the optimal solution.
[0115] a2. When the time-sharing constraint is ignored, the target time slice can be simplified according to the channel inversion allocation algorithm, which is specifically expressed as:
[0116] ,
[0117] in, is the Lagrange multiplier that satisfies the response delay, that is If the time-sharing constraint is satisfied, then and , so the formula is the optimal solution.
[0118] According to the above analysis, when service preferences are homogeneous and the optimal task hit probability is given In the case of and the second threshold for:
[0119]
[0120] in, ,when When , the equality is established.
[0121] The above process can be understood as Follow the below scenario:
[0122] (1) When Target time slice for .
[0123] (2) When Target time slice for .
[0124] (3) In other cases, the target time slice The expression is ,in and Strictly positive, satisfying the time-sharing constraint and response delay constraint.
[0125] The steps of the joint decision algorithm for computation offloading and service caching under homogeneous service preference are as follows:
[0126] 1: Comparison and 、 If the conditions in (1) or (2) are met, the target time end for or , end execution; otherwise jump to 2.
[0127] 2: Definition The upper and lower bounds of , initialized to ;definition The upper and lower bounds of , initialized to .
[0128] 3: Start iterative update and Until convergence:
[0129] 4: Calculation , ;
[0130] 5: According to calculate ;
[0131] 6: If ,but ,otherwise ;
[0132] 7: If ,but ,otherwise .
[0133] Since the best Lagrange multiplier is known and In the following range:
[0134] ,
[0135] Therefore, the upper bound of the total utility can be derived using Indicates based on The optimal total utility represented by is upper bounded by:
[0136]
[0137] Among them, when When , the equality sign always holds. This upper bound is achievable when the response latency constraint is not violated.
[0138] It should be noted that the upper bound of the optimal total utility with heterogeneous service preferences also satisfies this relationship.
[0139] B. When the service preference types of multiple mobile devices are heterogeneous:
[0140] The heterogeneous service preference means that each mobile device has different service preferences. , and Unlike the case of homogeneous service preferences, heterogeneous service preferences lead to the optimal cache set (target cache set) and the optimal task hit probability (target task hit probability) It cannot be determined in advance, and there is a recursive relationship between the two.
[0141] Therefore, the optimization problem corresponding to the objective function is decomposed into two sub-problems: calculation offloading strategy and service caching strategy. and Achieve optimization of both, and iterate optimization until the optimal strategy is obtained.
[0142] b1. Calculate the uninstallation strategy: Indicates the cache collections. Given , by optimizing the calculation offloading strategy to maximize the total utility. Introducing the task hit probability ,based on and The optimal offloading vector (target offloading vector) represented by The formula can be expressed as:
[0143]
[0144] in, ; The time-sharing constraints, response delay constraints and task hit probability constraints in this part are cache balance conditions;
[0145] Will Introduced into total utility, we get , and thus the task hit probability is obtained The formula is expressed as:
[0146]
[0147] Afterwards, and Iterative optimization can include:
[0148] b1-1: given omitted service index Cache collection and mission hit probability ,solve .
[0149] Specifically, Using cache collection and mission hit probability To express:
[0150]
[0151] in, is a constant, so the cache balance condition is linear, that is, the cache balance condition can be expressed as:
[0152]
[0153] Based on the above derivation, It becomes a convex optimization problem, so the target unloading vector It can be derived through optimization theory. First, derive The feasible range, according to , The value is obviously smaller than , given a cache collection , there is a unique probability Make the corresponding target offload vector Equivalent to the target offloading vector under service preference isomorphism, The cache balance condition in satisfies the following equation:
[0154]
[0155] when When , the cache balance condition is satisfied.
[0156] In summary, determine And solve the target unloading vector The steps of the algorithm are as follows:
[0157] 1: Given a cache set ,according to Deriving the coefficients .
[0158] 2: The range is initialized to .
[0159] 3: Iterative Update Until convergence:
[0160] 4: ;
[0161] 5: Computation offloading and service cache joint strategy algorithm based on service preference isomorphism to calculate the offloading vector set ;
[0162] 6: Bring in and Derived formula The formula on the left side of the equal sign;
[0163] 7: If the equation on the left side of the equal sign is positive, then ,otherwise, .
[0164] Given a cache collection , The upper bound of , when the corresponding target unloading vector Follow the WF allocation algorithm to obtain the upper bound, where The optimal solution is that all mobile devices are The optimal solution obtained when , based on the above inference, the service preference heterogeneity ratio It is more likely to achieve a higher hit rate, thus optimizing the total utility. The value range of is:
[0165]
[0166] From this we can get that, given a cache set and mission hit probability ,exist In the range of , with the following properties:
[0167] (1) The cache balance condition always holds true.
[0168] (2) There exists at least one constraint that satisfies the equality between the time-sharing constraint and the response delay constraint.
[0169] (3) Assigned to mobile devices Target time slice for:
[0170]
[0171] in , and They are the optimal Lagrange multipliers related to time-sharing constraint, response delay constraint and cache balance condition respectively.
[0172] Further, deduction : Given any Lagrange multiplier ,definition for:
[0173]
[0174] in, follow The structure is:
[0175]
[0176] According to the balance of cache balance conditions, we get , if known and ,but It can be deduced that, Known, and Can be derived.
[0177] Heterogeneous service preferences can also be divided into the following two situations:
[0178] When ignoring the response delay constraint, the target time slice can be simplified according to the water filling allocation algorithm , specifically expressed as:
[0179]
[0180] in, is the Lagrange multiplier that satisfies the time-sharing constraint, that is, If the response delay constraint is satisfied, then The solution is the optimal solution, then and .
[0181] When the time-sharing constraint is ignored, the target time slice can be simplified according to the channel inversion allocation algorithm. , specifically expressed as:
[0182]
[0183] in, is the Lagrange multiplier that satisfies the response delay constraint, that is, If the time-sharing constraint is satisfied, then The solution is the optimal solution, then and .
[0184] Configuring the third threshold and the fourth threshold for:
[0185] (1) When When , the target time slice is .
[0186] (2) When When , the target time slice is .
[0187] (3) In other cases, the target time slice The expression is ,in and Strictly positive, meeting time sharing and response delay requirements.
[0188] The above will and The iterative optimization process is simply:
[0189] 1: Given ,if and satisfy When Updated to If satisfied When Updated to Otherwise, jump to step 2.
[0190] 2: Definition The upper and lower bounds of , initialized to ;definition The upper and lower bounds of , initialized to .
[0191] 3: Start iterative update and Until convergence.
[0192] 4: Calculation and ;
[0193] 5: According to the formula calculate ;
[0194] 6: If ,but ,otherwise, ;
[0195] 7: If ,but ,otherwise .
[0196] Further, using Newton's formula to update ,Right now:
[0197]
[0198] Where the denominator is the function about The partial derivative of .
[0199] The above updates and The update steps are as follows:
[0200] 1: Initialize the Lagrange multiplier is 0.
[0201] 2: Start iterative update Until convergence.
[0202] 3: Given ,based on Update algorithm update ;
[0203] 4: Given ,based on renew .
[0204] 5: After convergence, Set to ,based on Derivation .
[0205] b1-2: Maximize total utility by optimizing task hit probability .
[0206] Through The derivative properties of There are three partial derivatives , and The weighted sum of , therefore, the target task hit probability The following conditions are met:
[0207]
[0208] in, 、 、 and Represents the algebraic expression obtained in the derivation of derivative properties. Updated by gradient ascent method ,Right now: .
[0209] because For a fixed step size, when Small enough, it converges to Based on the cache balance condition, the task hit probability Set to , that is, the probability of hitting the target task .
[0210] b2: Service cache strategy: given vector , if the service caches the collection Can increase the total utility, then update the service cache set to And the return value calculates the uninstallation strategy, namely:
[0211]
[0212] By updating the cache policy ( (for update rounds) to optimize the service cache strategy. Based on the target task hit probability in step b1 In the current step, use Represents, and target offload vector , for the popularity vector The update formula is:
[0213]
[0214] Afterwards, the cache collection is updated to the target cache collection using the following two methods:
[0215] (1) Cache Set Replacement Strategy (CSR): Given , without considering the previous cached set , by selecting Replace the cache collection with a more popular service, using the service cache collection express:
[0216]
[0217] in, ,and .
[0218] (2) Greedy Service Addition Strategy (GSA): On the basis of keeping the previously cached set, add the most popular services in the uncached set, using express:
[0219]
[0220] Given a cache collection and target offload vector , if satisfied , then the updated service cache collection Satisfaction ; If not satisfied, the update process stops, and the target cache set is obtained.
[0221] Based on these conditions, we can determine whether the new cache set meets the requirements before updating the offload vector and hit probability. The GAS strategy can continue until the cache set is full without triggering the stop condition, that is, |C| = C. Verification shows that the CSR strategy outperforms the GAS strategy, especially in favorable network environments. This is because the CSR strategy replaces and updates the entire cache set, but it requires higher computing performance at the edge network than the GAS strategy. Therefore, the CSR strategy can be selected based on the current network environment.
[0222] Afterwards, the target time slice is determined according to the target cache set and the target task hit probability.
[0223] Step S230: The maximum value of the objective function corresponds to the target time slice of each target task, which is determined as the optimal strategy for computing offloading and service caching combination.
[0224] This application provides a dynamic computation offloading and caching method for mobile edge clouds. The method comprises: establishing an objective function for computation offloading and service caching based on a pre-built mobile edge system, a computation offloading model, and a service caching model; determining the target time slice for each target task corresponding to the maximum value of the objective function based on a water filling allocation algorithm and a channel reversal allocation algorithm if multiple mobile devices have homogeneous service preferences; decomposing the optimization problem corresponding to the objective function into a computation offloading strategy and a service caching strategy if multiple mobile devices have heterogeneous service preferences; determining a target cache set and a target task hit probability based on the computation offloading strategy and the service caching strategy for each target task; determining the target time slice for each target task corresponding to the maximum value of the objective function based on the target cache set and the target task hit probability; and determining the target time slice for each target task corresponding to the maximum value of the objective function as the optimal strategy for the combined computation offloading and service caching. This application can build a system based on edge networks in real-world scenarios, consider the interaction between computation offloading strategies and service caching strategies, formulate a joint strategy, and improve the overall utility of the system. Dynamic data caching is implemented. After user task data is offloaded, a certain amount of service-specific data is immediately cached to improve subsequent service processing speed, adapting to the limited storage resources of edge devices. Computation offloading strategies and service caching strategies are alternately optimized. When service preferences are homogeneous, the two strategies are automatically decoupled, and the optimal one is selected based on the performance optimization formula. When service preferences are heterogeneous, fixed computation offloading or service caching is alternated, provided that cache balance conditions are met. The optimal joint decision is iteratively obtained by increasing the maximum offloading rate or replacing the cache service list, maintaining service processing fairness.
[0225] Corresponding to the above method, the embodiment of the present application also provides a dynamic computing offloading and caching device for mobile edge cloud, such as Figure 3 As shown, the device includes:
[0226] A construction unit 310 is configured to establish an objective function for computation offloading and service caching based on a pre-built mobile edge system, a computation offloading model, and a service caching model; the mobile edge system includes multiple mobile devices and multiple edge servers; the objective function is defined based on a processing time slice and a data transmission speed for each task, each task being offloaded to each mobile device;
[0227] A determining unit 320 is configured to determine, if the plurality of mobile devices have isomorphic service preferences, a target time slice corresponding to each target task corresponding to a maximum value of the objective function based on a water filling allocation algorithm and a channel inversion allocation algorithm;
[0228] Furthermore, if multiple mobile devices have heterogeneous service preferences, the optimization problem corresponding to the objective function is decomposed to obtain a computation offloading strategy and a service caching strategy; based on the computation offloading strategy and service caching strategy of each target task, a target cache set and a target task hit probability are determined; based on the target cache set and the target task hit probability, a target time slice corresponding to each target task at which the maximum value of the objective function is obtained is determined;
[0229] Furthermore, the maximum value of the objective function corresponds to the target time slice of each target task, which is determined as the optimal strategy for computing offloading and service caching combination.
[0230] The functions of each functional unit of a dynamic computing offloading and caching device for a mobile edge cloud provided in the above-mentioned embodiment of the present application can be realized through the above-mentioned method steps. Therefore, the specific working process and beneficial effects of each unit in a dynamic computing offloading and caching device for a mobile edge cloud provided in the embodiment of the present application will not be repeated here.
[0231] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into address buses, data buses, and control buses. For ease of illustration, the figure uses only one thick line, but this does not mean that there is only one bus or only one type of bus.
[0232] The communication interface is used for communication between the above electronic device and other devices.
[0233] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0234] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0235] The implementation methods and beneficial effects of the various components of the electronic device in the above embodiments to solve the problems can be found in Figure 2 The various steps in the embodiment shown are implemented, therefore, the specific working process and beneficial effects of the electronic device provided by the embodiment of the present application are not repeated here.
[0236] In another embodiment provided in the present application, a computer program product comprising instructions is also provided, which, when executed on a computer, enables the computer to execute a dynamic computing offloading and caching method for a mobile edge cloud as described in any one of the above embodiments.
[0237] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the embodiments of the present application may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware. Furthermore, the embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0238] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0239] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0240] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0241] Unless otherwise defined, the technical or scientific terms used in this application should have the usual meanings understood by persons of ordinary skill in the field to which the invention belongs. The words "first", "second" and similar terms used in this application do not indicate any order, quantity or importance, but are only used to distinguish different components. Words such as "include" or "comprise" mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Words such as "connect", "couple" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the object being described changes, the relative positional relationship may also change accordingly.
[0242] Although preferred embodiments have been described in the present application, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic inventive concepts. Therefore, the present application is intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present application.
[0243] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the embodiments of the present application and their equivalents, the embodiments of the present application are also intended to include these modifications and variations.
Claims
1. A dynamic computing offloading and caching method for mobile edge cloud, characterized in that: The method comprises: Establishing an objective function for computation offloading and service caching based on a pre-built mobile edge system, a computation offloading model, and a service caching model; the mobile edge system includes multiple mobile devices and multiple edge servers; the objective function is defined based on the processing time slice and data transmission speed of each task, each of which is a task offloaded from each mobile device; If the service preferences of multiple mobile devices are isomorphic, then based on the water filling allocation algorithm and the channel inversion allocation algorithm, determining the target time slice of each target task corresponding to the maximum value of the objective function; If multiple mobile devices have heterogeneous service preferences, the optimization problem corresponding to the objective function is decomposed to obtain a computation offloading strategy and a service caching strategy; based on the computation offloading strategy and service caching strategy of each target task, a target cache set and a target task hit probability are determined; based on the target cache set and the target task hit probability, a target time slice corresponding to each target task at the maximum value of the objective function is determined; Determine the target time slice of each target task corresponding to the maximum value of the objective function as the optimal strategy for computing offloading and service caching combination; The target time slice is expressed as: in, and denote the optimal Lagrange multipliers related to time-sharing constraint and response delay constraint, respectively, and , is the data transmission speed of mobile device n, is the size of the task, is the mission hit probability; If multiple mobile devices have the same service preferences, the target time slice for each target task is determined based on the water filling allocation algorithm and the channel inversion allocation algorithm, including: Determining a first threshold value according to the water filling allocation algorithm, and determining a second threshold value according to the channel inversion allocation algorithm; wherein the first threshold value is greater than the second threshold value; determining the target time slice based on the first threshold and the second threshold; When the target parameter is not less than the first threshold, the response delay constraint is ignored and the target time slice is simplified to: ;in, is the Lagrange multiplier that satisfies the time-sharing constraint; When the target parameter is not greater than the second threshold, the time-sharing constraint is ignored and the target time slice is simplified to: ;in, To satisfy the Lagrange multiplier of the response delay constraint, the target parameter is , .
2. The method according to claim 1, wherein The objective function is: in, is the target time slice corresponding to mobile device n, is the data transmission speed of mobile device n, For the expected response delay, is the response delay threshold, For mobile devices The task offloading rate, is the size of the task.
3. The method according to claim 1, wherein The first threshold is expressed as: ; The second threshold is expressed as: .
4. The method according to claim 1, wherein Based on the computation offloading strategy and service cache strategy of each target task, the target cache set and target task hit probability are determined, including: Determine the target offload vector and the target task hit probability based on the configured cache set and task hit probability; The cache set is updated based on the target task hit probability and the target offload vector to obtain the target cache set.
5. The method according to claim 4, wherein The cache set is updated based on the target task hit probability and the target offload vector to obtain the target cache set, including: The target high-speed cache set is obtained by adopting a cache set replacement strategy and a greedy service adding strategy to process the target task hit probability and the target offload vector.
6. A dynamic computing offloading and caching device for mobile edge cloud, characterized in that: The device comprises: A construction unit is configured to establish an objective function for computation offloading and service caching based on a pre-built mobile edge system, a computation offloading model, and a service caching model; the mobile edge system includes multiple mobile devices and multiple edge servers; the objective function is defined based on a processing time slice and a data transmission speed for each task, each task being a task offloaded to each mobile device; a determining unit configured to determine, if the plurality of mobile devices have isomorphic service preferences, a target time slice corresponding to each target task corresponding to a maximum value of the objective function based on a water filling allocation algorithm and a channel inversion allocation algorithm; Furthermore, if multiple mobile devices have heterogeneous service preferences, the optimization problem corresponding to the objective function is decomposed to obtain a computation offloading strategy and a service caching strategy; based on the computation offloading strategy and service caching strategy of each target task, a target cache set and a target task hit probability are determined; based on the target cache set and the target task hit probability, a target time slice corresponding to each target task at which the maximum value of the objective function is obtained is determined; and determining the target time slice of each target task corresponding to the maximum value of the objective function as the optimal strategy for combining computation offloading and service caching; The target time slice is expressed as: in, and denote the optimal Lagrange multipliers related to time-sharing constraint and response delay constraint, respectively, and , is the data transmission speed of mobile device n, is the size of the task, is the mission hit probability; Determining a first threshold value according to the water filling allocation algorithm, and determining a second threshold value according to the channel inversion allocation algorithm; wherein the first threshold value is greater than the second threshold value; determining the target time slice based on the first threshold and the second threshold; If multiple mobile devices have the same service preferences, the target time slice for each target task is determined based on the water filling allocation algorithm and the channel inversion allocation algorithm, including: When the target parameter is not less than the first threshold, the response delay constraint is ignored and the target time slice is simplified to: ;in, is the Lagrange multiplier that satisfies the time-sharing constraint; When the target parameter is not greater than the second threshold, the time-sharing constraint is ignored and the target time slice is simplified to: ;in, To satisfy the Lagrange multiplier of the response delay constraint, the target parameter is , .
Citation Information
Patent Citations
Attention mechanism reinforcement learning-based edge network device caching method
CN113411826A
Task unloading and service caching joint optimization method based on mobile edge computing
CN116233926A