A task scheduling and cache optimization method in a storage-computing cooperative edge computing network
By decomposing the task scheduling and caching optimization problem in the edge computing network and adopting dynamic task scheduling and caching strategies, the problem of computational redundancy is solved, user latency and caching efficiency are improved, and efficient resource utilization is achieved.
Patent Information
- Application Number
- CN202510223168.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-27
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2045-02-27
AI Technical Summary
Existing collaborative edge computing networks fail to effectively utilize the correlation of computing tasks, resulting in computational redundancy and impacting service quality and resource utilization.
This paper proposes a task scheduling and caching optimization method for in-memory collaborative edge computing networks. By decomposing the problem into two sub-problems through system modeling, a dynamic task scheduling algorithm based on a merging mechanism and a caching strategy combining greedy algorithms and dynamic programming are adopted to optimize user latency costs and vendor caching costs.
It effectively reduces user latency and vendor caching costs, improves the utilization of computing resources and service quality, and provides stringent performance guarantees.
Smart Images

Figure CN120111530B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of edge computing, and particularly relates to a task scheduling and cache optimization method in a storage-computing collaborative edge computing network. BACKGROUND
[0002] With the rapid development of artificial intelligence and Internet of Things technology, mobile applications such as target detection, image recognition, augmented reality, virtual reality experience games and the like are constantly emerging, which are computationally intensive and delay sensitive. Generally speaking, to achieve low delay requirements, it is necessary to effectively control the transmission delay while ensuring the computing speed, which constitutes one of the main challenges faced by the traditional cloud computing architecture. Therefore, a new computing mode is urgently needed to solve the above problems and improve the quality of service (Quality of Service, QoS) of mobile users. Collaborative edge computing is considered to be a promising new computing paradigm, which can effectively reduce task processing delay and improve the utilization of computing resources by splitting complex computing tasks into subtasks and offloading them to nearby network edges (such as 5G base stations, wireless access points, etc.). Compared with the unified management mode of traditional cloud computing, collaborative edge computing is more flexible, more efficient, and can better meet the increasingly stringent service quality requirements of users.
[0003] Although collaborative edge computing improves the utilization of network computing resources to some extent, there is still computational redundancy. The computing tasks requested by mobile users have certain correlation in many scenarios, including temporal correlation, spatial correlation, semantic correlation, etc. Repeatedly computing highly correlated request tasks will consume the limited computing resources on the edge side of the network, hindering the improvement of the service quality of edge computing. However, most of the research work on scheduling optimization and service deployment optimization in recent years ignores the correlation between computing tasks, resulting in the existence of computational redundancy. Therefore, the correlation between computing tasks needs to be considered in the resource allocation decision of edge computing.
[0004] Content Dilivery Network (CDN) is a new type of network infrastructure generated by the rapid development of today's social media. CDN reduces the access delay of user requests by storing specified content in the streaming media resource library on servers closer to users. In edge computing, the cache technology combined with CDN has attracted widespread attention from scholars, but it is limited to caching service data (such as execution programs, containers, databases, etc.) required for computing to edge servers, and does not involve caching of computing results. Since the correlation of the above computing tasks exists in many scenarios, caching and reusing computing results can reduce computational redundancy and further improve computing efficiency.
[0005] In summary, this invention combines the relevance of computing tasks with the caching and reuse of computing results to design a task scheduling and caching optimization method in a storage-computing collaborative edge computing network. Summary of the Invention
[0006] The purpose of this invention is to provide a task scheduling and caching optimization method for in-memory compute collaborative edge computing networks. This method targets resource-constrained edge computing networks to optimize user latency costs and provider caching costs. First, for the correlated task scheduling problem in in-memory compute collaborative edge computing networks, an in-memory compute collaborative architecture is proposed and the system is modeled, with the optimization objective being to minimize user latency costs and provider caching costs. Second, the correlated task scheduling problem in in-memory compute collaborative edge computing networks is decomposed into two sub-problems, and two corresponding methods and a pre-caching mechanism are proposed, constructing a complete reusable task scheduling and caching strategy.
[0007] To achieve the above functions, this invention designs a task scheduling and cache optimization method in a storage-computing collaborative edge computing network, executing the following steps S1-S2 to minimize the user's latency cost and the service provider's cache cost:
[0008] Step S1: System modeling is performed for the reusable task scheduling and caching optimization problem in the in-memory computing collaborative edge computing network. The overall system model of the in-memory computing collaborative edge computing network, the in-memory computing collaborative edge computing network architecture, the computing request task offloading model, and the reusable computing result data block caching model are constructed. The optimization objective of the model is defined as minimizing the latency cost for users and the caching cost for service providers.
[0009] Step S2: Decompose the reusable task scheduling and caching optimization problem in the in-memory collaborative edge computing network into two sub-problems, and solve them separately, including the following steps:
[0010] Step S2.1: The first sub-problem is to determine a scheduling scheme for each computation request task and its subtasks to optimize the user's latency cost. Considering the spatiotemporal correlation characteristics of computation request tasks, a dynamic task scheduling algorithm based on a merging mechanism is proposed. First, the computation request tasks are dynamically sorted and then scheduled. At the same time, duplicate computation request tasks are merged. Finally, the execution order of the data blocks to be processed is further optimized based on the idea of binning.
[0011] Step S2.2: The second sub-problem is to determine the data result caching strategy on each server, optimize the caching cost of the service provider, and propose an approximate algorithm that combines dynamic programming and greedy algorithms to optimize the caching strategy for each edge server; in response to the dynamic changes in the timeliness of cached data results, a pre-caching mechanism is proposed to further optimize the caching cost.
[0012] The application also designs a computer device, including a memory, a processor and a computer program stored on the memory, and the processor executes the computer program to realize the task scheduling and cache optimization method in the storage-computation collaborative edge computing network.
[0013] The application also designs a computer readable storage medium, which stores a computer program / instruction, and the computer program / instruction is executed by a processor to realize the task scheduling and cache optimization method in the storage-computation collaborative edge computing network.
[0014] The application also designs a computer program product, which includes a computer program / instruction, and the computer program / instruction is executed by a processor to realize the task scheduling and cache optimization method in the storage-computation collaborative edge computing network.
[0015] Advantages: Compared with the prior art, the application has the following advantages:
[0016] The method of the application decomposes the reusable task joint scheduling and cache optimization problem in the storage-computation collaborative edge computing network into two sub-problems, decouples the decision variables, and reduces the problem complexity;
[0017] First, the first sub-problem takes minimizing the delay cost of users as the optimization objective, a dynamic task scheduling algorithm based on a merging mechanism is proposed in this stage, which has a provable approximation ratio of ;
[0018] The second sub-problem determines the data result cache strategy on each server, optimizes the cache cost of service providers, and proposes an approximate algorithm combining dynamic programming and greediness, which has a provable approximation ratio of ;
[0019] In addition, a forward-looking pre-cache strategy is proposed to fully utilize the computing resources. In summary, the application decouples the complex problem into two sub-problems through an innovative method, optimizes the delay cost of users and the cache cost of service providers, and provides strict performance guarantees for the proposed algorithm, ensuring the feasibility of the method. BRIEF DESCRIPTION OF DRAWINGS
[0020] Figure 1 is a schematic diagram of a general system model of a storage-computation collaborative edge computing network according to an embodiment of the application;
[0021] Figure 2 is a flowchart of a first-stage computing request task scheduling algorithm according to an embodiment of the application;
[0022] Figure 3 is a second-stage cache optimization schematic diagram according to an embodiment of the application. DETAILED DESCRIPTION
[0023] The application will be further described below with reference to the drawings. The following examples are only used to more clearly illustrate the technical solutions of the application, and cannot be used to limit the protection scope of the application.
[0024] The method provided by the embodiment of the application for task scheduling and cache optimization in a storage-computing collaborative edge computing network performs the following steps S1-S2 to minimize the delay cost of a user and the cache cost of a service provider:
[0025] Step S1: System modeling is performed for the reusable task scheduling and cache optimization problem in the storage-computing collaborative edge computing network, and a general system model of the storage-computing collaborative edge computing network, a storage-computing collaborative edge computing network architecture, a computing request task offloading model, and a reusable computing result data block cache model are constructed, and the optimization objective of the model is defined as minimizing the delay cost of a user and the cache cost of a service provider.
[0026] The specific steps of step S1 are as follows:
[0027] Step S1.1: A general system model of the storage-computing collaborative edge computing network is constructed; the storage-computing collaborative edge computing network includes N base stations (BS) and an SDN controller (Software-defined Networking Controller), and the SDN-based network architecture separates the control plane from the data plane. Each base station is equipped with an edge server to form an edge node, and all edge nodes are connected through a wired link, denotes the set of edge nodes; the heterogeneity of the edge nodes is considered, and C n and S n denote the computing capability and storage capability of the edge nodes, respectively, the time in the network system is divided into T time slots, and the set of time slots is The length of each time slot is τ, in each time slot, a user equipment generates at most one computing request, and sends it to the nearest edge node through a wireless network, the input data required by the computing request is provided by a related sensor, and different sensors transmit data to the nearest server in each time slot; according to different scenarios, the sensor can be located at the user's own position or not at the same position as the user. The sensor data has timeliness, and is calculated only when requested by the user, and is automatically discarded after expiration; the set of computing request tasks received by the edge node n at time t is denoted as , and the set of computing request tasks received by all edge nodes is denoted as The type of the computing request task is denoted by θ (θ∈Θ); with the help of the SDN controller, all the storage locations of the cached computing results are accessible to all edge nodes, all user requests are aggregated at the SDN controller, and the computing request task offloading scheduling is performed;
[0028] As shown in Figure 1 The storage-computing collaborative edge computing network in the embodiment is divided into three layers: a data collection layer, a request service layer, and a scheduling control layer. The data collection layer is responsible for providing raw data for users and periodically sending the raw data to the nearest edge node for computing. The request service layer includes user equipment that generates computing tasks and collaborative edge servers that execute the computing tasks. The raw data is scheduled to different edge nodes for computing only after being requested by a user, and is automatically deleted after expiration. The edge server has the ability to compute and cache data results. If the collaborative edge node has cached the data results of the user request through the SDN controller, there is no need to recalculate. The scheduling control layer includes the SDN controller of the entire network, which is responsible for scheduling user requests and querying the cache status of each edge node.
[0029] Step S1.2: Constructing a storage-computing collaborative edge computing network architecture; the input data of the computing request task is often divisible (for example, pictures, 3D point cloud frames, etc.), so the computing request task can be partially offloaded to different edge nodes for computing to improve efficiency. All possible input data sets of each computing request task can be divided into a series of data blocks, and the division strength of different computing request tasks is determined by different computing request task types. Let the input data set of the computing request task of type θ be divided into All possible input data sets of each computing request task are divided into multiple data blocks, and the size of each data block is represented as The kth computing request task received by the edge node n is of type θ, and the input data is represented as a binary vector If the input data block of the user's computing request is Then the corresponding element is Otherwise, Therefore, the size of all input data blocks of the computing request task k of type θ received by the edge node n is represented as: All data block sets that satisfy are defined as The actual data block set of the computing request task k is represented as J θ The offloading decision variable of the computing request task k accepted by the edge node n is represented as a N-dimensional vector: Wherein, is a N-dimensional vector, that is, When denotes that the jth data block of the computation request task k is offloaded from the edge node n to the edge node m; otherwise
[0030] Step S1.3: Constructing the computation request task offloading model; the user equipment and the edge node adopt a wireless link for data transmission, the wireless channel resource is shared by multiple user equipments, and the rate of transmitting the computation request task k to the edge node is wherein denotes the interference caused by other simultaneous transmission devices, B is the wireless channel bandwidth, is the transmission power, denotes the channel gain, N0 denotes the Gaussian noise power spectral density, and thus the computation request task transmission delay is represented as wherein S k is the user's request data packet size; the wired link transmission delay of the jth data block of the computation request task k is represented as wherein denotes the wired transmission rate between the edge nodes n and m; the edge node allocates the computation resource according to the computation request task type, and is represented as ; thus the computation delay is represented as wherein μ k denotes the computation density; after the computation request task is offloaded to the edge node, it will be queued in the queue of the computation request task of this type; the queuing delay of the jth data block of the computation request task k is wherein Q(j') is an indicator function, and the symbol ≤ represents the priority order, denotes the priority of the data block j in the task k, denotes the priority of the data block j' in the task k', and Q(j') = 1 indicates that the data block j needs to wait until the data block j' is processed; the retrieval delay is the time for the edge node to retrieve whether the computation result of the computation request task is cached in the SDN controller, and is represented as wherein f r denotes that the retrieval time is a function of the number of data to be retrieved; if the computation result of a certain data block of the computation request task is cached, only the computation result needs to be transmitted rather than being recalculated; represents that the computation result of the data block j is cached on the edge node m; the merging delay is the time for merging and reorganizing the results of all data blocks, and is represented as wherein f mThe merge time represents a function of the number of data blocks to be merged. In different tasks, there can be a significant difference between the size of the input data and the size of the output data. In the three-dimensional target detection task where the amount of input data is much larger than the amount of output data, the input data is a large amount of point cloud data, and the output is only the target bounding box information. On the contrary, in the museum AR rendering task, the input data is the position information of the visitor, and the output is the rendering data corresponding to the position, and the amount of output data is much larger than the input. Without loss of generality, the present application only considers one-way (large-scale data) transmission delay. The total delay of the task k (type θ) is calculated as follows:
[0031]
[0032] From the perspective of the user, when the actual delay of the task exceeds the maximum tolerable delay of the user, the dissatisfaction of the user will increase. Therefore, the delay cost of the user is as follows:
[0033]
[0034] wherein is the maximum delay that the user can tolerate, w k is the cost that needs to be paid after exceeding the maximum tolerable delay;
[0035] Step S1.4: Construct a reusable computing result data block cache model; the i-th reusable result data block cached by the edge node n is represented as wherein, I i represents the computing input data or the input data index, O i represents the computing result, θ i represents the type of the computing request task, V i represents the value of the data, represents the validity period of the data, and the value of the computing result exceeding the validity period is 0; the data to be cached by each edge node includes new data and old data; since the edge servers are cooperative, the data block of the computing request task can be unloaded to different servers for computing, and this part of data is called new data; the old data is the computing result data block already stored on the server, denoted as ; the local cache hit rate of the data is obtained from the historical information, representing the probability of requesting a certain cached data among all the requests received by the edge node n. The local cache hit rate of the data is represented as wherein is the number of times that the reusable data i is used among all the computing requests received by the edge node n in the time slot t; the age of data (AoD) represents the freshness of the data in the time scale, and is represented as A i(t) = t - g(t), where g(t) is the timestamp when the data is cached; the higher the freshness of the data, the higher the probability that it can be reused in the future. The data age parameter is denoted by , where λ is a tunable parameter, denotes the maximum validity period of this data block i. The data value of an old data block is denoted by The data value of a new data block is denoted by where is the average wired transmission rate from edge node n to other edge nodes, is the average local cache hit rate in the system, γ j denotes the data age parameter; the cache decision includes two parts: whether the computation result of a new arrival request needs to be cached, denoted by , and whether the cached computation result data is kept, denoted by ;
[0036] From the perspective of the service provider, caching data needs to bear the cost of using storage hardware. The storage resource is a fixed resource, and its fixed cost is defined as C fix ; only the data that is valuable to cache can improve user satisfaction and reduce redundant computation. The cache cost C cache of the service provider is denoted as:
[0037]
[0038] Step S1.5: Define the optimization objective of the model as minimizing the delay cost of the user and the cache cost of the service provider.
[0039] In step S1.5, the delay cost of the user and the cache cost of the service provider are specifically:
[0040] Define the input of the model as: the set of all computation request tasks received by all edge nodes The set of computation request tasks received by edge node n The set of edge nodes The set of data blocks requested by computation request task k The computing capacity C n and the storage capacity S n of edge node n, the set of all data blocks of computation request task type θ I θ , and the data block size Z θ of computation request task type θ;
[0041] Define the output of the model as: the offloading decision of each data block The computation order decision of data blocks offloaded to the same server The cache decision of each data block
[0042] The optimization objective of the model is as follows:
[0043]
[0044] s.t.
[0045]
[0046] Wherein, C1 ensures that the data block of the task is completely offloaded to the server for calculation, C2 guarantees that each offloaded data block can be processed by at most one edge node, C3 and C4 represent the cache decision, indicating whether a certain data block should be retained or discarded, C5 represents the limitation of storage capacity, and C6 represents the limitation of computing capacity.
[0047] Step S2: decompose the reusable task scheduling and cache optimization problem in the storage-computing collaborative edge computing network into two sub-problems, and solve them respectively, including the following steps:
[0048] Step S2.1: the first sub-problem is to determine the scheduling scheme for each computing request task and its subtask, so as to optimize the delay cost of the user; when the actual task delay exceeds the maximum tolerable delay expected by the user, the user experience will be reduced, thereby generating a corresponding cost. The first sub-problem is expressed as: Wherein, A dynamic task scheduling algorithm based on merging mechanism is proposed according to the time-space correlation characteristics of the computing request task, and the optimal solution satisfies the following two properties. Property 1: there is an optimal scheduling, and all the to-be-computed data blocks of the same task scheduled to the same server will be processed continuously. Property 2: there is an optimal scheduling, and the arrangement order of all the data blocks processed on all the servers is the same. Therefore, it is necessary to determine the scheduling order of the task and the scheduling order of the subtask. First, the computing request task is dynamically sorted and then scheduled; at the same time, the repeated computing request tasks are merged, and finally the execution order of the to-be-processed data blocks is further optimized based on the idea of bin packing; the method proposed in the application has an approximation ratio guarantee of The flow chart of the whole algorithm is shown in Figure 2 .
[0049] Step S2.1 includes the following steps:
[0050] Step S2.1.1: dynamically sort all the computing request tasks; first, sort the execution time of all the data blocks of each computing request task in descending order, and schedule all the data blocks of the computing request task to the first idle server to calculate the completion time T k of each computing request task; find out the T kThe smallest computation request task k' is merged into data blocks and then scheduled. After computation request task k' is scheduled, the above process is repeated until all computation request tasks are scheduled. It is worth noting that the sorting process is dynamic because the server load changes with the scheduling order.
[0051] Step S2.1.2: Merge the data blocks to be processed from different computation request tasks; first, count the number of times each data block is requested, and form a new set Ω for data blocks with a request count greater than 1; based on the dynamic sorting result of the computation request tasks, after computation request task k' is executed, subsequent computation request tasks do not need to repeat the computation of reusable data block results, therefore, update Ω to
[0052] Step S2.1.3: Schedule all pending data blocks for task k'. Since the initial completion time T of task k' has already been obtained... k′ , will T k′ Set to "bin size". Utilize the binning concept to rearrange data blocks, further optimizing the load, i.e., within a time limit of T... k′ In such cases, prioritize scheduling data blocks with longer processing times to the server with the highest load. If scheduling the data block to the server with the highest load still violates the T... k′ If the data block exceeds the limit, it will be scheduled for computation on the second-highest loaded server. This process continues until the data block is allocated to the least loaded server; otherwise, the computation will exceed the limit. k′ Then assign it to this server and set T k′ Update to the task's completion time. Repeat the above process until all data blocks have been scheduled.
[0053] Step S2.2: The second sub-problem determines the data result caching strategy on each server, optimizing the caching cost for the service provider, i.e., the difference between the storage hardware costs paid by the provider for cached data and the caching revenue. Since the offloading decision has already been solved by the first sub-problem, the cost minimization problem can be transformed into a value maximization problem, i.e. To address this problem, an approximate algorithm combining dynamic programming and a greedy approach is proposed to optimize the caching strategy for each edge server. The method proposed in this invention has the following advantages: The approximation ratio is guaranteed. To address the dynamic changes in the timeliness of cached data results, a pre-caching mechanism is proposed to further optimize caching costs; the solution strategy for the second sub-problem is illustrated in the diagram below. Figure 3 As shown.
[0054] Step S2.2 includes the following steps:
[0055] Step S2.2.1: Define the set of the computed results of the data blocks to be cached (hereinafter referred to as data blocks) as Renumber the index for each data block in U(t) and simplify the expression, ensuring that wherein is the value of the data block i, s i is the size of the data block; in order to balance the high time overhead of the dynamic programming algorithm and the poor performance of the greedy algorithm, the data blocks are divided into two sets according to the data value: a high-value data block set and a low-value data block set If then the data block i belongs to Otherwise, it belongs to wherein and satisfies For the data blocks in , value scaling is performed, i.e. wherein is an adjustable parameter; scaling is performed on a portion of the data blocks in order to further reduce the problem size, reduce the time complexity, and ensure a good approximation ratio.
[0056] Step S2.2.2: For the data blocks in the high-value data block set, a dynamic programming algorithm is used; the value maximization problem is converted into a space minimization problem under the condition of reaching a certain value, and G(i, V) is used to represent the minimum total space consumed when selecting from the first i data blocks to make the total value V, so It is worth noting that the value here refers to the scaled value. Through the dynamic programming method, the data block set selected when the total value is from 0 to can be obtained. For the data blocks in , greedy selection is performed in turn. In other words, each solution obtained by dynamic programming is combined with the data blocks in in turn until the solution with the highest value is found.
[0057] Step S2.2.3: Since the time effectiveness of the cached data results changes over time, relying solely on the above algorithm for caching decisions may have certain fluctuations. The edge server may cache some data blocks with low value when a large number of data blocks expire. Therefore, a random pre-caching strategy based on sampling is proposed, which calculates the original data that may be reused in advance when the server is idle, and caches it in advance to prevent batch expiration of data. The strategy first determines whether there is idle time from the completion of all tasks in the current batch to the next time slot. If there is idle time, a data block is randomly selected in the cache list, and a decision is made with a probability of P whether to perform a new original calculation and replace the current data block. The probability wherein T maxis the time point when the data block expires, and w is a tunable parameter. The closer the data block is to the expiration point, the more likely it is to be selected for re-computation with high probability. represents the future benefit of data block i if it is pre-cached, where Z i represents the size of data block i, P represents the probability of data block i being requested in the future, and T valid represents the valid period of the data block; L * represents the future benefit of re-computing data block i * if L * > L, L * is replaced by a new round of L; after n rounds of iteration, the data block that meets the requirements is selected for re-computation to complete pre-caching.
[0058] The embodiment of the present application also provides a computer device, including a memory, a processor and a computer program stored in the memory, and the processor executes the computer program to realize the task scheduling and cache optimization method in the storage-computation collaborative edge computing network.
[0059] The embodiment of the present application also provides a computer readable storage medium, which stores a computer program / instruction, and the computer program / instruction is executed by a processor to realize the task scheduling and cache optimization method in the storage-computation collaborative edge computing network.
[0060] The embodiment of the present application also provides a computer program product, which includes a computer program / instruction, and the computer program / instruction is executed by a processor to realize the task scheduling and cache optimization method in the storage-computation collaborative edge computing network.
[0061] The embodiments of the present application are described in detail above in combination with the drawings, but the present application is not limited to the above-mentioned embodiments, and various changes can be made within the knowledge of those skilled in the art without departing from the purpose of the present application.
Claims
1. A method for task scheduling and cache optimization in a memory-computing collaborative edge computing network, characterized in that, Perform the following steps S1-S2 to minimize the user's latency cost and the service provider's caching cost: Step S1: System modeling is performed for the reusable task scheduling and caching optimization problem in the in-memory computing collaborative edge computing network. The overall system model of the in-memory computing collaborative edge computing network, the in-memory computing collaborative edge computing network architecture, the computing request task offloading model, and the reusable computing result data block caching model are constructed. The optimization objective of the model is defined as minimizing the latency cost for users and the caching cost for service providers. Step S2: Decompose the reusable task scheduling and caching optimization problem in the in-memory collaborative edge computing network into two sub-problems, and solve them separately, including the following steps: Step S2.1: The first sub-problem is to determine a scheduling scheme for each computation request task and its subtasks to optimize the user's latency cost. Considering the spatiotemporal correlation characteristics of computation request tasks, a dynamic task scheduling algorithm based on a merging mechanism is proposed. First, the computation request tasks are dynamically sorted and then scheduled. At the same time, duplicate computation request tasks are merged. Finally, the execution order of the data blocks to be processed is further optimized based on the idea of binning. Step S2.2: The second sub-problem is to determine the data result caching strategy on each server, optimize the caching cost of the service provider, and propose an approximate algorithm that combines dynamic programming and greedy algorithms to optimize the caching strategy for each edge server; in response to the dynamic changes in the timeliness of cached data results, a pre-caching mechanism is proposed to further optimize the caching cost.
2. The task scheduling and caching optimization method in a storage-computing collaborative edge computing network according to claim 1, characterized in that, The specific steps of step S1 are as follows: Step S1.1: Construct the overall system model of the in-memory computing collaborative edge computing network; the in-memory computing collaborative edge computing network includes... Each base station has one SDN controller, and each base station is equipped with one edge server, forming edge nodes. All edge nodes are connected to each other via wired links. Represents the set of edge nodes; considering the heterogeneity of edge nodes, use... and Let represent the computing and storage capabilities of edge nodes respectively, and divide time in the network system into . There are 1 time slot, and the time slot set is 1 Each time slot The length is In each time slot, a user device generates at most one computation request and sends it to the nearest edge node via the wireless network. The input data required for this computation request is provided by the relevant sensors. Different sensors transmit data to the nearest server in each time slot. Sensor data is time-sensitive; it is computed only when requested by the user, otherwise it is automatically discarded after the expiration date. Edge nodes... exist The set of computational request tasks received at any given time This means that the set of computation request tasks received by all edge nodes is denoted as . Calculate the request task type using To indicate; With the help of the SDN controller, the storage location of all cached computation results is accessible to all edge nodes. All user requests are aggregated at the SDN controller and computation request task offloading and scheduling are performed. Step S1.2: Construct a storage-computing collaborative edge computing network architecture; assuming the type is... The computational request task input data set is divided into The set of all possible input data for each computational request task is divided into multiple data blocks, with each data block having a size of [size not specified]. Edge nodes n The first received The computation request task type is: Its input data is represented as a binary vector. If the user's calculation request inputs a data block Then the corresponding element ; otherwise, Therefore, edge nodes The type received is computation request task The size of all input data blocks is represented as: ; will satisfy The set of all data blocks is defined as , indicating a computation request task k The actual set of data blocks; edge nodes Accepted computation request task Unloading decision variables 3D vector representation: ;in, yes dimensional vector, i.e. ;when When, it indicates a computation request task. The Data blocks from edge nodes Unload to edge node ;otherwise ; Step S1.3: Construct a computation request task offloading model; data transmission between user devices and edge nodes is conducted via wireless links, and wireless channel resources are shared by multiple user devices, offloading computation request tasks. The transmission rate to the edge node is ,in This indicates interference caused by other simultaneously transmitting devices. For wireless channel bandwidth, For transmission power, Indicates channel gain. This represents the Gaussian noise power spectral density; therefore, the computational request task transmission delay is expressed as... ,in Calculate the size of the user's request data packet; calculate the request task. The The wired link transmission delay for each data block is expressed as: ,in Represents edge nodes and Wired transmission rate between nodes; edge nodes Allocate computing resources based on the type of computing request task, using Therefore, the computational delay is expressed as... ,in This indicates computation density; after a computation request task is offloaded to an edge node, it will be queued in the computation request task queue of this type; computation request task The The queuing delay for each data block is ,in ,in Indicates task Middle data block priority, Indicates task data blocks priority, For indicator functions, the symbol Indicates priority order. Represents data block Waiting for data blocks Processing must be completed before computation can begin; retrieval latency is the time it takes for an edge node to retrieve the computation result of a computation request task from the SDN controller to check if the result has been cached, expressed as... ,in This indicates that the retrieval time is a function of the number of data items to be retrieved; Represents data blocks The calculation results are cached at the edge nodes. Above; the merge delay is the time required to merge and reassemble the results of all data blocks, expressed as... ,in The merge time is a function of the number of data blocks to be merged, and the calculation request task is performed. The total delay is: The user's latency cost is: in The maximum latency that users can tolerate. The cost of exceeding the maximum tolerable delay; Step S1.4: Construct a reusable computation result data block caching model; edge nodes The cached first Each reusable result data block is represented as ,in, This indicates that the input data or input data index is being calculated. This indicates the calculation result. Indicates the type of computation request task. Indicate the value of the data, This indicates the validity period of the data; calculation results exceeding the validity period have a value of 0. The data to be cached at each edge node includes both new and old data. Because edge servers collaborate, data blocks for computational requests may be offloaded to different servers for computation; this portion of data is called new data. Old data refers to the computational result data blocks already stored on that server. The local cache hit rate of the data is represented as... ,in It is an edge node In the time slot Reusable data is used in all computation requests received. The number of times; data age represents the freshness of the data on a time scale, expressed as... ,in It is the timestamp when the data was cached; the data age parameter uses... It means that among them It is an adjustable parameter. This indicates the data block Maximum validity period; the data value of old data blocks is represented as The data value of the new data block is represented as: ,in This indicates the age of the data in this data block. For edge nodes Average wired transmission rate to other edge nodes This represents the average local cache hit rate in the system; caching decisions consist of two parts: whether the computation result of a newly arriving request needs to be cached, and... Indicates whether cached calculation results should be retained. express; Cache costs of service providers Represented as: In the formula, For fixed costs; Step S1.5: Define the optimization objective of the model as minimizing the user's latency cost and the service provider's caching cost.
3. The task scheduling and caching optimization method in a storage-computing collaborative edge computing network according to claim 2, characterized in that, In step S1.5, minimizing the user's latency cost and the service provider's caching cost specifically involves: The input to the model is defined as the set of computational request tasks received by all edge nodes. Edge nodes Received computation request task set Edge node set Calculation request task The set of data blocks requested for computation Edge nodes computing power and storage capacity The task type for the computation request is The complete set of data blocks and the calculation request task type is Data block size ; The model output is defined as: the unloading decision for each data block. ; Data block computation order decision when unloaded to the same server Cache decisions for each data block ; The optimization objective of the model is as follows: C1 ensures that the task's data blocks are completely offloaded to the server for computation; C2 guarantees that each offloaded data block can be processed by at most one edge node; C3 and C4 represent caching decisions, indicating whether a data block should be retained or discarded; C5 represents storage capacity limitations; and C6 represents computation capacity limitations.
4. The task scheduling and caching optimization method in a storage-computing collaborative edge computing network according to claim 1, characterized in that, Step S2.1 includes the following steps: Step S2.1.1: Dynamically sort all computation request tasks; first, sort the execution times of all data blocks of each computation request task in descending order, and schedule all data blocks of the computation request task to the first idle server to calculate the completion time of each computation request task. Find Minimal computational request task The data blocks of the computation request task are merged and then scheduled. After scheduling is complete, repeat the above process until all computational request tasks have been scheduled. Step S2.1.2: Merge the data blocks to be processed from different computing request tasks; first, count the number of times each data block has been requested, and form a new set of data blocks with a request count greater than 1. Based on the results of the dynamic sorting of computation request tasks, the computation request tasks are... After execution, subsequent computation requests do not need to recompile the results of the reusable data blocks; therefore, updates are unnecessary. for ;in Indicates a computation request task The set of data blocks requested for computation; Step S2.1.3: Schedule the computation request task All pending data blocks; Within the limit of the computation request task Completion time In such cases, prioritize scheduling data blocks with long processing times to the server with the highest load; if scheduling the data block to the server with the highest load still violates this rule... If the data block exceeds the limit, it will be scheduled to be computed on the second busiest server; and so on. If allocating the data block to the least loaded server still exceeds the limit, it will be scheduled to be computed on the second busiest server. Then it will be assigned to this server, and Update; repeat the above process until all data blocks have been scheduled.
5. The task scheduling and caching optimization method in a storage-computing collaborative edge computing network according to claim 4, characterized in that, Step S2.2 includes the following steps: Step S2.2.1: Define the set of calculation results of the data block to be cached as... ,for Sort each data block in the data to ensure ;in For data blocks value, The size of the data block; the data blocks are divided into two sets according to their value: a set of high-value data blocks. and low-value data block sets If satisfied Then the data block belong ; Otherwise it belongs to ;in And satisfy ;right Value scaling is performed on the data blocks in the data, i.e. ,in , These are adjustable parameters; Step S2.2.2: For data blocks in the high-value data block set, use a dynamic programming algorithm; transform the value maximization problem into a space minimization problem under the condition of achieving a certain value. Indicates preceding Choose from among the data blocks to make the total value equal to The minimum total space consumed in time, therefore The total value increased from 0 to The selected set of data blocks; each solution obtained from dynamic programming is sequentially summed with... The data blocks are combined until the highest-value solution is found. Step S2.2.3: Determine if there is still idle time before the next time slot after the server has finished calculating all the computational requests in this batch. If there is idle time, randomly select a data block from the cache list. The probability determines whether to recalculate the original data and replace the current data block; probability ,in This is the expiration time of the data block. These are adjustable parameters; This indicates that if the data block The future benefits after pre-caching, among which This indicates the probability that the data block will be requested in the future. Represents data block Size, Indicates the validity period of the data block; Indicates recalculation of data blocks The future returns after that, if they meet the following conditions Then Replaced with a new round L In iteration After each round, select the data blocks that meet the requirements, recalculate, and complete the pre-caching.
6. A computer device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the task scheduling and cache optimization method in a storage-computing collaborative edge computing network as described in any one of claims 1-5.
7. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instruction is executed by the processor, it implements the task scheduling and cache optimization method in a storage-computing collaborative edge computing network as described in any one of claims 1-5.
8. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the task scheduling and cache optimization method in a storage-computing collaborative edge computing network as described in any one of claims 1-5.
Citation Information
Patent Citations
Implementation method, device and equipment of distributed side cloud collaborative caching strategy and medium
CN110765365A
Task unloading and service caching joint optimization method based on edge collaboration
CN115297013A