Method of scheduling services for execution in distributed micro-service aware wireless cellular network (DMS-WCN)
By scheduling multiple edge network nodes to execute multiple microservices in DMS-WCN, the problem of scheduling multiple microservices for high-performance and low-latency service execution is solved, and the reduction of energy consumption and optimization of resource allocation is achieved.
Patent Information
- Application Number
- CN202311511147.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-21
- Filing Date
- 2023-11-14
- Publication Date
- 2025-03-21
AI Technical Summary
In a distributed microservices aware wireless cellular network (DMS-WCN), scheduling multiple microservices for high-performance and low-latency service execution is a challenge.
The microservices of each of the multiple microservices are executed by receiving service requests in the network node and scheduling multiple edge network nodes. Specific steps include: assigning the microservices only to edge network nodes that meet the following conditions: having already caught the microservices; meeting the minimum delay requirements for processing the microservices; and generating minimal energy consumption when processing the microservices.
This method effectively reduces energy consumption in DMS-WCN and optimizes the allocation of transmission and computing resources, thereby improving the efficiency and performance of service execution.
Smart Images

Figure CN119676844A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method of scheduling services for execution in a Decentralized Microservices-Aware Wireless Cellular Network (DMS-WCN). Background Art
[0002] Advances in communication technology and the widespread use of mobile terminals have led to the emergence of demanding smart applications. However, how terminal devices can efficiently run these innovative applications is a huge challenge due to the limitations of battery life and cache and computing resources. To address this problem, multi-access edge computing (MEC) has emerged as a promising approach to provide relatively large computing resources closer to terminal devices. In order to optimize the performance of MEC networks, various offloading decisions and resource allocation strategies have been developed to meet the different needs of users in terms of parameters such as energy consumption and latency. At the same time, edge caching plays an important role in reducing data duplication and relieving network transmission pressure by pre-caching popular data on edge servers. More precisely, edge caching includes content caching and service caching, where content caching refers to caching of frequently accessed images, files, videos, and other similar items. When a user requests specific content, the edge server can deliver it to the user because the content has been actively cached. Due to the increasing diversification of smart applications, simply caching content in the edge network may no longer be sufficient to meet user needs. Therefore, the concept of service caching is proposed. This involves caching the relevant databases and programs of various services in the edge server. Therefore, the edge server can directly perform the computation of the required services. Obviously, the service placement decision is indispensable for the system performance. More specifically, in the publication Y.Miao, Y.Hao, M.Chen, H.Gharavi, and K.Hwang, “Intelligent task caching in edgecloud via bandit learning,” IEEE Trans.Netw.Sci.Eng., vol.8, no.1, pp.625–637, Dec.2021, a specific algorithm is designed for intelligent service caching in edge cloud systems, aiming to reduce task latency. The proposed caching strategy is able to learn the user's task request pattern in real time and can dynamically adjust the caching strategy based on the size of the service and its associated computational workload. The publication X. Ma, A. Zhou, S. Zhang, and S. Wang, “Cooperative service caching and workload scheduling in mobile edge computing,” in Proc. IEEE Int. Conf. Comput. Commun. (INFOCOM), Toronto, ON, Canada, Jul. 2020, pp. 2076–2085, claims that the mismatch between cache and computing capacity may lead to resource waste and performance degradation.To address this issue, the publication Y.Hao, M.Chen, L.Hu, M.S.Hossain, and A.Ghoneim of the publication “Energy efficient task caching and offloading for mobile edge computing,” IEEE Access, vol.6, pp.11 365–11 373, 2018 investigated the optimization problem of joint task caching and offloading, considering the limited computation and storage capacity requirements. The numerical results presented in this publication show that jointly considering task caching and offloading can lead to higher energy efficiency compared to the schemes that only optimize the cache strategy or computation offloading separately. In addition, in order to reduce computational latency while ensuring energy efficiency of MEC-enabled dense cellular networks, J.Xu, L.Chen, and P.Zhou and described in publication "Joint service caching and taskoffloading for mobile edge computing in dense networks," in Proc.IEEE Int.Conf.Comput. Commun. (INFOCOM), Honolulu, HI, USA, Apr. 2018, pp. 207–215 developed an effective online algorithm for joint optimization of service caching and task offloading. In addition, considering multi-dimensional resource constraints such as storage, computation, and communication, K.Poularakis, J.Llorca, AMTulino, I.Taylor, and L.Tassiulas and described in the publication "Joint service placement and request routing inmulticell mobile edge computing networks," in Proc.IEEE Int.Conf.Comput. Commun. (INFOCOM), Paris, France, Apr.-May proposed a nearly optimal service placement and request scheduling scheme using a submodule approach.
[0003] Recently, a new trend is emerging to decompose large services into a set of microservices (MS), where each microservice independently performs a specific function or task. This trend leads to a situation where functional units can be distributed at the edge of the network. Compared with monolithic services, the deployment and resource allocation of microservices are more flexible and elastic. Take the business for virtual reality (VR) as an example. This large application consists of multiple microservices, where each microservice implements unique functions such as detection, image resolution, voice resolution, and prediction. These microservices can be cached independently by different edge servers. When a user requests the VR service, the edge server that caches the associated microservices will be centrally borrowed to perform the corresponding computing tasks for the user. Distributed, independently developed microservices are conducive to the implementation of large services and shorten the service execution latency. Under this idea, the problem of resource limitation and mismatch can be further alleviated. However, since the successful execution of large services depends largely on the successful execution of each independent microservice, it becomes increasingly difficult to place microservices. To solve this problem, T.Bahreini and D.Grosu of the publication "Efficient algorithm for multi-component application placement in mobile edge computing," IEEE Trans. Cloud Comput., vol.10, no.4, pp.2550–2563, Oct.-Dec.2022 designed an effective heuristic online algorithm to solve the multi-component application placement problem. Their goal is to minimize the total cost of the edge computing system, which includes the cost of running, relocating, and communicating components. In addition, B.Tang, F.Guo, B.Cao, M.Tang, and K.Li of the publication, "Cost-aware deployment of microservices for riot applications in mobile edge computing environment," IEEE Trans.Netw.Serv.Manag., Dec.2022 proposed an adaptive dynamic deployment optimization method to solve the problem of minimizing the cost of microservice deployment, while considering service access latency and resource consumption. The system modeling method used in the aforementioned studies did not consider the impact of wireless transmission in actual systems and assumed that the resources provided by computing microservices on edge servers are fixed. However, in real-world wireless edge-enabled computing systems, transmission and computing resource allocation optimizations are mutually impactful. Such joint consideration is necessary.
[0004] What is desired, among other things, is an improved method of scheduling services for execution in a DMS-WCN.
[0005] Purpose of the Invention
[0006] It is an object of the present invention to mitigate or eliminate to some extent one or more problems associated with known methods of scheduling a service comprising multiple microservices for execution in a DMS-WCN.
[0007] The above objects are achieved by the combination of features of the main claim; the dependent claims disclose further advantageous embodiments of the invention.
[0008] Another object of the present invention is to provide a novel method and system to reduce or minimize energy consumption in a D-Microservice-WCN when executing a service including multiple microservices.
[0009] Yet another object of the present invention is to optimize or at least improve the allocation of transmission and computing resources for service execution in a DMS-WCN.
[0010] Those skilled in the art will derive other objects of the present invention from the following description. Therefore, the statement of the foregoing objects is not exhaustive and is only used to illustrate some of the many objects of the present invention. Summary of the invention
[0011] In a first main aspect, the present invention provides a method for scheduling services for execution in a distributed microservices-aware wireless cellular network (DMS-WCN). The method includes a network node receiving a request for a service and scheduling multiple edge network nodes to execute a respective one of a plurality of microservices (MS) including the requested service. The network node receives computation results of the microservice from edge network nodes, integrates the received computation results to provide a complete computation result for the requested service, and provides the complete computation result to the device receiving the service request. The network node schedules multiple edge network nodes to execute a respective one of a plurality of microservices by the following steps: assigning a microservice only to edge network nodes that: have already cached the microservice; meet a minimum latency requirement for processing the microservice; and generate minimal energy consumption when processing the microservice.
[0012] In a second main aspect, the present invention provides a network node of a distributed microservices-aware wireless cellular network (DMS-WCN), the network node comprising: a memory storing machine-readable instructions; and a processor for executing the machine-readable instructions, such that when the processor executes the machine-readable instructions, it configures the network node to perform the steps of the first main aspect of the present invention.
[0013] In a third main aspect, the invention provides a non-transitory computer readable medium storing machine readable instructions, wherein when the machine readable instructions are executed by a processor, they configure the processor to implement the method of the first main aspect of the invention.
[0014] The inventive summary does not necessarily disclose all features necessary to define the invention; the invention may lie in a sub-combination of the disclosed features.
[0015] The foregoing has outlined the features of the present invention rather broadly so that the detailed description of the invention that follows may be better understood. Additional features and advantages of the present invention will be described hereinafter, which form the subject matter of the claims of the present invention. It will be appreciated by those skilled in the art that the disclosed concepts and specific embodiments may be readily used as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The above and further features of the present invention will become apparent from the following description of preferred embodiments, which are provided by way of example only in conjunction with the accompanying drawings, in which:
[0017] Figure 1 is a schematic diagram of a DMS-WCN for implementing the method of the present invention; and
[0018] Figure 2 is a schematic block diagram of an improved radio device, apparatus or network node according to the present invention. DETAILED DESCRIPTION
[0019] The following description describes preferred embodiments by way of example only and is not limited to the combination of features necessary to implement the invention.
[0020] In this specification, references to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the present invention. The phrase "in one embodiment" appearing in various places in the specification does not necessarily all refer to the same embodiment, nor is it a separate or alternative embodiment that is mutually exclusive of other embodiments. Moreover, various features are described that may be exhibited by some embodiments but not others. Similarly, various requirements are described that may be requirements of some embodiments but not others.
[0021] It should be understood that the elements shown in the drawings can be implemented in various forms of hardware, software or a combination thereof. These elements can be implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, a memory and an input / output interface.
[0022] This specification illustrates the principles of the present invention. It will therefore be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the present invention and are included within its spirit and scope.
[0023] In addition, all statements citing the principles, aspects and embodiments of the present invention and specific examples thereof herein are intended to cover equivalents in structure and function. In addition, it is intended that such equivalents include currently known equivalents and equivalents developed in the future, that is, any element of the performance of the same function developed, regardless of structure.
[0024] Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of systems and devices embodying the principles of the invention.
[0025] The functionality of the various elements shown in the drawings may be provided through the use of dedicated hardware as well as hardware capable of processing software in association with appropriate software. When provided by a processor, the functionality may be provided by a single dedicated processor, a single shared processor, or multiple individual processors (some of which may be shared). Moreover, the explicit use of the term "processor" should not be interpreted as referring exclusively to hardware capable of executing software, and may implicitly include, but is not limited to, digital signal processor ("DSP") hardware, read-only memory ("ROM") for storing software, random access memory ("RAM"), and non-volatile memory.
[0026] In the claims herein, any element expressed as a means for performing a particular function is intended to encompass any manner of performing that function, including, for example, a) a combination of circuit elements that perform that function, or b) any form of software, thus including firmware, microcode, or the like, in combination with appropriate circuitry to execute that software to perform that function. The invention as defined by such claims resides in the fact that the functions provided by the various described means are combined together in the manner required by the claims. It is therefore considered that any means that can provide those functions are equivalent to the means shown herein.
[0027] In real-world wireless edge enabled computing systems, transport and computational resource allocation optimizations are mutually impactful. Joint consideration is extremely important and urgent. The present invention is devoted to solving this problem. The present invention broadly relates to the examination of distributed microservices-aware wireless cellular networks (DMS-WCNs) considering energy consumption as the primary objective. This is accomplished through a joint optimization strategy of microservices cache decisions, computation allocation, and computational resource allocation.
[0028] The present disclosure describes a general model of DMS-WCN, in which a large service consists of multiple microservices that can be distributed between small base stations (SBSs) and operate independently. When a service is requested, a macro base station (MBS) schedules a series of small base stations that have cached the necessary microservices to perform the corresponding computing tasks. The calculation results of each dedicated microservice are returned to the macro base station and integrated to deliver the complete service results to the user. Among them, the traversal transmission rate is derived taking into account the random location distribution of small base stations and users and the wireless transmission link.
[0029] A mathematical analysis is provided to examine how microservice caching, computation allocation, and small base station computation resource allocation affect the network's latency and energy consumption. Based on this analysis, a formulation for the joint microservice caching, computation allocation, and computation resource allocation problem toward energy consumption minimization is proposed, taking into account various practical constraints, such as user service latency requirements and the limited cache and computation resources of small base stations.
[0030] In order to solve the original problem efficiently, the original problem is transformed into another optimization problem considering microservice computation allocation and computation resource allocation. The NP-hardness of the reformulated problem is shown. To solve this NP-hard problem, a two-stage approach is adopted. In the first stage, the computation resource allocation problem is solved, and then a closed-form solution is derived under feasible microservice computation allocation strategies. In the second stage, an algorithm oriented to bilateral exchange is developed to improve the microservice computation allocation using the obtained computation resource allocation strategy. An exhaustive method and simulated annealing (SA) algorithm are proposed to find optimal and near-optimal microservice computation allocation strategies.
[0031] In the following description, reference will be made to the symbol table "Table 1" used in the following description:
[0032] Table 1: Summary of symbols
[0033]
[0034] Reference Figure 1 , shows a general DMS-WCN 10 consisting of N SBSs 12 and U users 14, each having a user device 16 such as a user equipment (UE) or the like, in which case the user equipment 16 is independent and uniformly distributed within the coverage area 18 of the MBS 20. However, it should be understood that this is not necessary for the method of the present invention, and in a real environment, the SBSs 12 and the user equipment 16 may be unevenly distributed within the coverage area 18 of the MBS 20. Figure 1 As can be seen in FIG. 1 , SBS 12 has cached microservices. As shown in the figure, the combination of microservices cached by SBS 12 can be different.
[0035] The present invention described herein provides a method for scheduling services to be executed in a DMS-WCN 10. The method includes a network node (e.g., MBS 20) receiving a requested service, and scheduling multiple edge network nodes (e.g., SBS 12) to execute a respective one of a plurality of microservices (MS) including the requested service. The MBS 20 receives the computation results of the microservice from the SBS 12, integrates the received computation results to provide a complete computation result for the requested service, and provides the complete computation result to a device (e.g., one of the user devices 16) receiving the service request. The user device may include any mobile handheld cellular device, such as a smart phone, a tablet, etc. The MBS 20 schedules multiple SBSs 12 to execute a respective one of a plurality of microservices by the following steps: assigning the microservice only to the SBS 12 that meets the following conditions: the selected SBS 12 has cached the microservice; the selected SBS 12 meets the minimum latency requirement for processing the microservice; and the selected SBS 12 generates the least energy consumption when processing the microservice.
[0036] Preferably, the MBS 20 schedules or allocates no more than one microservice from the plurality of microservices to each SBS 12 .
[0037] It is also preferred that the MBS 20 only assigns microservices to SBSs 12 that have sufficient resources for caching and executing the assigned microservices.
[0038] Microservices belonging to the most frequently requested services may be allocated to the SBS 12 based on a priority of the request level of their respective services. The MBS 20 may be configured to allocate microservices to the SBS 12 based on a service probability of the microservices including the requests.
[0039] Preferably, the MBS 20 allocates the microservices of the requested service to the SBSs 12 based on an initial allocation strategy. The method may include determining whether the initial allocation of the microservices to their respective SBSs 12 is a feasible allocation by determining whether the respective SBSs 12 have sufficient resources to cache and process their respective microservices while meeting the minimum latency requirement for executing / processing the allocated microservices. If the allocation is determined to be feasible, the MBS 20 may then determine a total energy consumption value for executing the allocated microservices on its respective SBS 12. The initial allocation strategy may include the MBS 20 allocating the microservice only to the SBSs 12 that meet at least the following conditions: the SBS 12 has cached the microservice; the SBS 12 meets the minimum latency requirement for processing the microservice; and the SBS 12 generates the least energy consumption when processing the microservice.
[0040] The method of the present invention may include the MBS 20 allocating microservices to the SBSs 12 based on the alternative or new allocation strategy. This may include the MBS 20 determining a total energy consumption value for executing the allocated microservices on their respective SBSs 12 for the alternative allocation strategy, comparing the total energy consumption value of the initial allocation strategy with the total energy consumption value of the alternative allocation strategy, and selecting the allocation strategy with the lowest total energy consumption value.
[0041] The method of the present invention may include, before determining the total energy consumption value of the alternative allocation strategy, first determining that the SBS 12 of the alternative allocation strategy has sufficient resources for caching and executing the allocated microservices, and if so, then determining the total energy consumption value of the alternative allocation strategy.
[0042] Preferably, the alternative allocation strategy is derived from the initial allocation strategy by swapping the allocation of the two microservices between the two SBSs 12 .
[0043] Preferably, the method further comprises repeatedly exchanging the allocation of the two microservices between the two SBSs 12 for a plurality of combinations of the two microservices from the requested service, and then determining for each of the combinations a total energy consumption value of the allocated microservices for executing the requested service at its respective SBS 12. Preferably, the method comprises comparing the total energy consumption value of the combination with the total energy consumption value of the initial allocation strategy, and if the total energy consumption value of the combination is less than the total energy consumption value of the initial allocation strategy, selecting an allocation strategy including a combination with a lowest total energy consumption value. Preferably, the method comprises repeatedly exchanging the allocation of the two microservices between the two SBSs 12 for all possible combinations of the two microservices from the requested service.
[0044] Figure 2 1 is a schematic block diagram of an improved radio device, apparatus or network node 30 for implementing the method of the present invention. MBS 20, SBS 12 and user equipment 16 may each include functions such as Figure 2 Improved radio equipment, device or network node described. The improved radio equipment, device or network node 30 is wirelessly connected to other equipment and network nodes within the coverage area 18 of the MBS 20 in the DMS-WCN 10.
[0045] The radio device, apparatus or network node 30 may include a plurality of functional blocks for performing its various functions. For example, the radio device, apparatus or network node 30 includes a receiver module 32, which provides processing of received signals and is configured to provide received signals and / or information extracted therefrom to a functional block module 34 (e.g., which may include various data receivers, control elements, user interfaces, etc.). Although the receiver module 32 is described as providing processing of received signals, it should be understood that the functional block may be implemented as a transceiver that provides processing of transmitted and received signals. Regardless of the specific configuration of the receiver module 32, an embodiment includes a signal detection module 36 that is provided in association with the receiver module 32, and the detection module 36 is used to facilitate accurate processing and / or decoding of received information and channel signals according to the present invention.
[0046] Although the signal detection module 36 is shown to be deployed as part of the receiver module 32 (e.g., including a part of the radio device module control and logic circuits), this deployment configuration is not limited according to the concepts of the present invention. For example, the signal detection module 36 can be deployed as a functional block of the radio device, device or network node 30 that is different from the receiver module 32 but connected to the receiver module 32. For example, the signal detection module 36 can be implemented using logic circuits and / or executable code / machine readable instructions stored in a memory 38 of the radio device, device or network node 30 for execution by a processor 39 to perform the functions described herein. For example, the executable code / machine readable instructions can be stored in one or more memories 38 (e.g., random access memory (RAM), read-only memory (ROM), flash memory, magnetic storage, optical storage or the like) suitable for storing one or more instruction sets (e.g., application software, firmware, operating system, applets and / or the like), data (e.g., configuration parameters, operating parameters and / or thresholds, collected data, processed data and / or the like), etc. The one or more memories 38 may include processor-readable memory for use with one or more processors 39, which are operable to execute code segments of the signal detection module 36 and / or utilize data provided thereby to perform the functions of the signal detection module 36 as described herein. Additionally or alternatively, the signal detection module 36 may include one or more special-purpose processors (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a graphics processing unit (GPU), or the like) configured to perform the functions of the signal detection module 36 as described herein.
[0047] The method of the present invention will be more fully understood through the following disclosure.
[0048] Reference again Figure 1, N = {1, ···, N} and U = {1, ···, U} represent the index set of all SBSs 12 and all users 14, respectively. Each SBS 12 is embedded with a memory (at least one memory 38) and a computing entity (at least one processor 39), which enables them to actively cache and compute for the expected services of the users 14, or more specifically, the services requested from the user devices 16. Specifically, n∈N, W n and F n Defined as the cache and computation capacity of SBS n. Assume that there are C services in the directory, whose index set is called C = {1,2,·,C}. Considering the heterogeneous preferences among different users 14, it is assumed that each user 14 has an inherent service request distribution. Let u∈U and c∈C,q u,c ∈[0,1] is defined as the probability of user u requesting service c, which satisfies the condition Σ c∈C q u,c =1.
[0049] In DMS-WCN 10, each service consists of a set of microservices, each of which compiles a specific function and is distributed among SBSs 12 for execution. For c∈C, let M c is the total number of microservices related to service c. In addition, M c is defined as a set of microservices consisting of service c. For simplicity, M c The i-th component in is referred to as ms(i,c) in the following text. Each ms(i,c) can be represented by (w i,c ,r i,c ,o i,c ) is represented by a three-dimensional tuple. i,c (in GB) is the storage space required for caching ms(i,c) related data and programs mentioned in the publications "Cooperative service caching and workload scheduling in mobile edge computing" and "Joint service caching and task offloading for mobile edge computing in dense networks". i,c is the CPU cycles required to complete the calculation of ms(i,c), and o i,c(in bits) is the data size of the calculation result about ms(i,c). In particular, consider the case where the service request (such as a download request for an ultra-high-definition movie, the operation of a computationally intensive mobile online game) is an instruction with a uniform and negligible bit size. In other words, the input data size is very small compared to the output data size. After receiving the request instruction, the MBS 20 will assist in scheduling the appropriate SBS 12 to simultaneously execute the associated microservices of the service. When the dedicated microservice calculation is completed, the scheduled SBS 12 returns the corresponding calculation result to the MBS 20. Based on the received calculation result, the MBS 20 will perform integration and transmit the result to the device 16 of the intended user 14.
[0050] As described above, when user u requests service c, MBS 20 will schedule SBS 12 with cache ms(i,c) to perform the corresponding computation, where i∈M c Based on this, the binary variable p is introduced i,c,n To indicate whether SBS n is actively cached ms(i,c). More precisely, p i,c,n =1 indicates that ms(i,c) is cached by SBS n, otherwise p i,c,n = 0. According to the above definition, the following restrictions should be met, namely
[0051]
[0052] Similarly, x i,c,n ∈{1,0} is used to indicate whether ms(i,c) is executed at SBS n. If and only if ms(i,c) is executed by SBSn, we have x i,c,n =1. Assume that each SBS 12 can handle the computation of multiple microservices. Given that SBS n is scheduled to execute ms(i,c), f i,c, Defined as the computing resources allocated to ms(i,c) by SBS n. Subject to the total available computing capacity of each SBS 12, it provides:
[0053]
[0054] According to the above definition, the computational delay and energy consumption of executing ms(i,c) at SBS n are expressed as and It can be calculated as follows:
[0055]
[0056]
[0057] where κ nis the energy consumption coefficient that depends on the computing unit architecture of SBS n. n , this refers to the publication Y.Wen, W.Zhang, and H.Luo, "Energy-optimal mobile application execution: Tamingresource-poor mobile devices with cloud clones," in Proc.IEEEInt.Conf.Comput.Commun.(INFOCOM), Orlando, FL, USA, Mar. 2012, pp.2716–2720 andX.Chen, "Decentralized computation offloading game for mobile cloudcomputing," IEEE Trans. Parallel Distrib. Syst., vol. 26, no. 4, pp. 974–983, Apr. 2015.
[0058] After SBS n executes ms(i,c), the calculation result is immediately returned to MBS 20 for further integration. On this basis, it is necessary to analyze the latency and energy consumption in terms of transmitting the calculation result of ms(i,c). Before elaborating on the detailed analysis, several practical considerations are introduced to better characterize the transmission between SBS 12 and MBS 20. First, the spatial placement of SBS 12 is considered. Figure 1 In the example shown in FIG. 1 , the spatial placement of the SBSs 12 is fairly uniformly distributed in a region with a radius R centered on the MBS 20. m The circle centered at the MBS 20 includes the coverage area 18 of the MBS 20. n represents the distance between SBS n and MBS 20, l n The probability density function (PDF) of Given. In this regard, reference is made to the publication Y. Wang and Q. Zhu, “Performance analysis of clustered device-to-device networks using mat′ern cluster process,” Wireless Netw., vol. 25, no. 8, pp. 4849–4858, Jun. 2018. In addition, channel fading is modeled as a combination of large-scale fading and small-scale fading. Among them, large-scale fading is characterized by a standard path loss model with an exponent α> 2. Reference is made to the publication HSDhillon, RK Ganti, F. Baccelli, and J. G. Andrews, “Modeling and analysis of k-tier downlink heterogeneous celular networks,” IEEE J. Sel. Areas Commun., vol. 30, no. 3, pp. 550–560, Apr. 2012. At the same time, small-scale fading is summarized by Rayleigh fading, and its channel power gain is exponentially distributed with a unit mean. Reference is made here to the publication J. Li, Y. Chen, M. Ding, F. Shu, B. Vucetic, and X. You, “A small-cell caching system in mobile cellular networks with los and nlos channels,” IEEE Access, vol. 5, pp. 1296–1305, 2017. Moreover, the total system bandwidth is divided into a set of orthogonal subchannels, and it is assumed that the number of subchannels is sufficient to support simultaneous communications in the macro cell. Thus, there is no interference between different communication links. Through the above description, the average rate of microservice calculation results transmitted between SBS n and MBS 20 is analyzed.
[0059] Given that P n As a result of the calculation for receiving a specific microservice, the received signal-to-noise ratio (SNR) at the MBS 20 is given as follows:
[0060]
[0061] where h n is the channel power gain of Rayleigh fading between SBS n and MBS 20, where h n ~exp(1). In addition, the standard path loss is calculated as the distance l n Where In addition, σ2 is the power of white Gaussian noise.
[0062] From (5) above, it can be seen that the SNR received at MBS 20 depends on the distance of SBS 12. In order to identify the transmission rates between different SBSs 12 and MBS 20, it is necessary to sort the distances between them in ascending order. n Defined as the order of SBS n, that is, SBS n is the 20th Ith from MBS n The closest one is SBS 12. Next, reference is made to the publications HA David and H. N. Nagaraja, Order Statistics, 3rd ed. Hoboken, NJ, USA: Wiley, 2003, 1 n The PDF can be expressed as follows:
[0063]
[0064] According to JGAndrews, F.Baccelli, and RKGanti, “A tractable approach to coverage and rate in cellular networks,” IEEE Trans. Commun., vol.59, no.11, pp.3122–3134, Nov.2011, for a positive random variable X, there exists Therefore, the average transmission rate of SBS n is It can be deduced as:
[0065]
[0066] Where W n is the available bandwidth of SBS n.
[0067] Substituting (6) into (7), we can obtain as follows:
[0068]
[0069] in γ(·,·) represents the lower incomplete gamma function as discussed in IS Gradshteyn and IMRyzhik, Table of integrals, series, and products, 7th ed. San Diego, CA, USA: Academic, 2007. The above analysis shows that the transmission rate increases with the transmission power, available bandwidth and proximity to the MBS 20 of the small base station.
[0070] According to the above analysis, SBS n returns the delay and energy consumption of the calculation result of ms(i,c) to MBS20, which are respectively expressed as and It can be given as follows:
[0071]
[0072]
[0073] Now, some description of the delay and energy consumption is provided for transmitting the integrated calculation results from the macro base station to the corresponding user. Considering the heterogeneity between users, the average transmission rate at which the MBS 20 transmits the calculation results to user u is similarly given as
[0074]
[0075] in W u and P u are the available bandwidth and transmission power allocated by MBS 20 to transmit the integrated calculation result to user u. u It is represented as the order of user u based on the distance between all users and MBS 20, that is, user u is the first user from MBS 20. u The one closest to the user.
[0076] Due to the above definition, the delay and energy consumption caused by transmitting the integrated calculation result of service c from MBS 20 to user u are respectively called and As shown below:
[0077]
[0078]
[0079] According to the above discussion, the successful execution of service c depends on the successful execution of its associated microservices. u,c Defined as the overall delay of user u, it can be given as:
[0080]
[0081] Unlike latency, the energy consumption of executing service c is calculated as the sum of the energy consumption of executing all its associated microservices and the energy consumption caused by transmission. u,c It is defined as the total energy consumption of user u performing service c, which can be expressed as:
[0082]
[0083] The goal is to minimize or at least reduce the energy consumption of the DMS-WCN 10 while taking into account the latency requirements of the users and the cache and computational capacity constraints of the SBS 12. i,c,n )c∈C,i∈Mc,n∈N are defined as the cache decisions of all SBS 12. Let x=(x i,c,n )c∈C,i∈Mc,n∈N is the computation allocation of all microservices. Moreover, f=(f i,c,n )c∈C,i∈Mc,n∈N denotes the computational resource allocation of SBS 12. Based on these definitions, the joint microservice caching, computational allocation, and computational resource allocation problem of DMS-WCN 10 for minimizing total energy consumption is mathematically formulated as follows:
[0084]
[0085] st
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095] Where (16b) and (16c) are used to illustrate that the cache and computing capacity of SBS 12 are limited. In addition, for requesting service c, (16d) ensures that the delay of user u is no greater than the minimum delay requirement t u,c . In addition, (16e) shows that at least one replica of each microservice should be cached. At the same time, (16f) depicts that the microservice regarding the requested service should be computed by exactly one SBS 12. Given that an SBS 12 is scheduled to perform computation for a particular microservice, the microservice must be actively cached by that SBS 12. This requirement is represented by (16g). Moreover, (16h) restricts that the computational resources allocated to each microservice must be non-negative. In addition, (16i) and (16j) indicate that the decision variables for caching and computation are binary variables.
[0096] Before presenting the detailed algorithm for solving P1, we first make some observations that further simplify the original minimization problem.
[0097] Lemma: P1 can be equivalently transformed into the following problem:
[0098]
[0099] st
[0100] (16c),(16f),(16h),(16j),
[0101]
[0102]
[0103] Proof: Benefit from p i,c,n and x i,c,n Binary values of , an attempt to simplify the original optimization problem consists of listing all possible combinations of these two variables. There are four possibilities, namely (0,0), (0,1), (1,0), and (1,1). It is worth noting that case (1,0) is impossible, based on the fact that for each SBS 12, caching the microservice is a prerequisite for performing the corresponding computation on that microservice. In other words, it violates the requirement set forth in (16g). In addition, given the limited cache capacity, the case (0,1) is also undesirable. The reason is that for an SBS 12 that is not scheduled for a particular microservice to perform computation, it is not necessary to cache that microservice. Moreover, p i,c,n x i,c,n =p i,c,n =x i,c,n It is valid for the other two cases. Based on this, p i,c,n Replace with x i,c,n This leads to the simplified problem P2.
[0104] In short, P2 is derived by maintaining consistency between cache decisions and computation allocation, which can be understood as small base stations only cache ms(i,c) when they need to perform computation. However, we still need to consider the joint microservice computation allocation and computation resource allocation optimization problem, which is a mixed integer nonlinear programming (MINLP) problem. In addition, the coupling between microservice computation allocation and computation resource allocation makes this problem difficult to solve directly. In the following courses, we test the computational complexity of P2 from a mathematical perspective. The following details that P2 is NP-hard.
[0105] Proof: According to the transitivity of reduction mentioned in O. Goldreich, "Computational complexity: A conceptual perspective," ACM SIGACT News, vol. 39, no. 3, p. 35–39, Sep. 2008, if a polynomial-time reduction mapping can be found that maps any case of the NP-hard problem to a case of P2, then P2 can be shown to be NP-hard. In the following proof, the selected NP-complete problem is the generalized assignment problem (GAP), which was well studied by DG Cattysse and LNVan Wassenhove, "A survey of algorithmic microservices for the generalized assignment problem," Eur. J. Oper. Res., vol. 60, no. 3, pp. 260–272, Aug. 1992. The GAP problem is formulated as follows:
[0106]
[0107] st
[0108]
[0109]
[0110] y j,m ∈{0, 1}, m=1,...,M, j=1,...,J (18d)
[0111] where J and M represent the number of jobs and machines, respectively. In addition, λ j,m and l j,m They represent the cost and size of work j when it is assigned to machine m. Specifically, the binary variable y j,m = 1 means that job j is assigned to machine m. Otherwise, y j,m= 0. Moreover, constraint (18b) indicates that the total available size of machine m is L m . Moreover, restriction (18c) guarantees that each job is assigned to exactly one machine.
[0112] Next, the equivalence between solving the GAP problem and solving P2 is revealed. First, the P2 case with J services, M SBSs 12 and one user 14 (i.e., U=1) is constructed. In other words, the goal of the reconstruction problem is to minimize the energy consumption of a single user. In addition, a special case is considered in which each service consists of only one microservice, i.e., M SBSs 12 and M SBSs 14. c =1, In addition, a simplifying assumption is made that all SBSs 12 always have enough storage space to cache all microservices. In other words, it is assumed that for each SBS 12, its storage space is greater than or equal to the microservice cache requirements, so that restriction (17b) can be removed. Therefore, problem P2 can be written as:
[0113]
[0114] st
[0115]
[0116]
[0117]
[0118] f j,m ≥0, m=1,...,M, j=1,...,J (19e)
[0119] x j,m ∈{0, 1}, m=1,...,M, j=1,...,J. (19f)
[0120] In addition, we continue to simplify P2′ by finding feasible solutions for the computing resource allocation strategy. Specifically, when the delay of completing the service accurately meets its minimum delay requirement, that is, when the inequality in (19b) is set as an equality, it can be concluded that the computing resource allocated to m for j is Therefore, the resulting problem is formulated as follows:
[0121]
[0122] st
[0123]
[0124]
[0125] x j,m ∈{0, 1}, m=1,...,M, j=1,...,J (20d)
[0126] Where, given that SBS m is scheduled to perform computation for service j, represents the energy consumption generated by calculation and transmission. Therefore, the final optimization problem can be written as above.
[0127] In summary, the GAP problem is proven to be polynomial-time reducible to P2. Due to the NP-completeness of GAP, P2 is proven to be NP-hard.
[0128] Given that P2 is NP-hard, its optimal solution is difficult to obtain. In this section, a time-efficient optimization method is developed. More specifically, the computational resource allocation problem with a given microservice allocation strategy is first explicitly examined. Therein, the optimal computational resource expression is derived with respect to the allocation strategy. Based on the analysis, the scheme design can be devoted to exploring a satisfactory microservice computation allocation to minimize energy consumption.
[0129] Computing resource allocation
[0130] In this section, the detailed computational resource allocation of the SBS 12 to perform tasks related to its associated microservices is explained. In order to minimize the total energy consumption, it is not difficult to check that each SBS 12 only needs to allocate computational resources to the microservices under its supervision. Moreover, from (3) and (4), it can be observed that the latency and energy consumption of the computational microservices are proportional and inversely proportional to the computational resources allocated by the SBS 12, respectively. In other words, larger values of f i,c,n The computational delay can be reduced while increasing energy consumption. On this basis, by setting an inequality restriction with strict equality (i.e., precisely satisfying the minimum delay requirement) in (17c), the computational resource allocation with the goal of minimizing energy consumption can be obtained. In this way, if SBS n is assigned to perform the computation of ms(i,c), the computational resources allocated to ms(i,c) should satisfy the following restrictions:
[0131]
[0132] In addition, considering the heterogeneity among users, in order to meet the delay requirements of each user, f i,c,n The final closed-form expression of can be derived as follows:
[0133]
[0134]
[0135] To minimize energy consumption, we have
[0136]
[0137] Microservice computing allocation optimization
[0138] Under the premise that there is a feasible microservice computing allocation strategy, the computing resource allocation strategy is obtained by satisfying the minimum latency requirement of each user in the previous section. In this section, attention is focused on solving the microservice computing allocation problem, which can be formulated as follows:
[0139]
[0140] st
[0141] (16c), (16f), (16j), and (17b).
[0142] To address P3, an initialized microservice computing allocation strategy is selected or designed, in which each microservice is assigned to the SBS 12 that generates the least energy consumption. However, limited by the cache space and computing capacity of each SBS 12, a microservice may miss its favorite SBS 12 (i.e., the SBS 12 that generates the least energy consumption). In view of this, it is assumed that microservices belonging to the most frequently requested services will be assigned high priority. Even so, the initialized allocation strategy may not bring good performance. In order to further minimize energy consumption, it is preferred to use a two-sided exchange method to explore an enhanced microservice computing allocation scheme. This mainly includes two stages.
[0143] In the first phase, an initial allocation strategy is formulated based on the request probability of the service. For this purpose, the probability that a user requests service c is calculated as In the current service set C, the service with the highest request probability is represented as c * For ms(i,c * ), if executed on SBS n, then the resulting energy consumption can be calculated by Among all candidate SBS 12, the SBS 12 that produces the minimum energy consumption is denoted as n * More specifically, the candidate SBS 12 refers to the SBS 12 that has the remaining capacity for caching and calculating ms(i,c). That is, given n * has sufficient capacity to cache and compute ms(i,c) while producing the lowest energy consumption, ms(i,c * ) will be assigned to n * When c *After the allocation of all associated microservices is determined, the algorithm removes it from C. In this case, it is also possible to encounter a situation where there is no feasible microservice computation allocation, that is, the resources of the small base station cannot support the execution of all microservices with the required latency performance. Taking this into account, if there is a feasible microservice computation allocation, called x, the total energy consumption EC(x) is calculated according to (17a); otherwise, this case is considered an infeasible case. In the numerical simulation, the infeasible case is ignored and only the energy consumption of the feasible case is calculated.
[0144] In the second stage, a bilateral exchange method is adopted to generate a new allocation strategy based on x. The specific exchange method is to exchange the SBS 12 they are currently responsible for with any two microservices. To this end, MS is defined as the set of all microservices. For the jth microservice in MS, the remaining microservices except it form another set, denoted as MS′. Then, an exchange is performed between the jth microservice in MS and all microservices in MS′. If the newly generated allocation strategy x′ satisfies the restrictions in (16c) and (17b), the total energy consumption EC(x′) is calculated according to (17a). Given that EC(x′) is less than EC(x), the allocation strategy is updated to x′. Otherwise, the previous allocation strategy is retained. In this way, an improved allocation strategy can be obtained. For the sake of brevity, the aforementioned process is summarized in the following Algorithm 1. The computational complexity of Algorithm 1 is analyzed in the following lemma.
[0145] Lemma: The time complexity of Algorithm 1 is reduced to O(NJ+J 2 -J) is given, where is the total number of microservices.
[0146] Proof: In the first phase, the initialization allocation complexity is at most O(NJ). In the second phase, for the jth microservice, the exchange needs to be performed between it and the other (J-1) microservices. In this way, the complexity of the exchange is obtained as J(J-1). Based on the double analysis, the proof is completed.
[0147] Although Algorithm 1 is effective, its performance depends on the initial allocation strategy. Therefore, the method may include enumerating all possible solutions, but this comes at the expense of time efficiency. Since each microservice has N choices (i.e., N small base stations), there will be a total of N J In this regard, the exhaustive search method is not always impractical when the SBSs 12 are densely distributed in the macro cell or the size of the micro service set is too large. The evaluation of Algorithm 1 shows that it provides a more flexible method to achieve a balance between time efficiency and performance insurance.
[0148]
[0149]
[0150]
[0151] The present invention relates to (among other things) the problem of minimizing the energy consumption of a DMS-WCN 10 by jointly optimizing microservice caching, computation allocation, and computational resource allocation. It is found that the proposed algorithm "Algorithm 1" achieves near-optimal performance and significant energy savings compared to other schemes.
[0152] The present invention also provides a network node 20 of the DMS-WCN 10, the network node 20 comprising a memory 38 storing machine-readable instructions and a processor 39 for executing the machine-readable instructions, such that when the processor 39 executes the machine-readable instructions, it configures the network node 20 to implement the method of any one of the appended method claims.
[0153] The present invention also provides a non-transitory computer readable medium 38 storing machine readable instructions, wherein when the machine readable instructions are executed by a processor 39, they configure the processor 39 to implement the method of any one of the appended method claims.
[0154] The above-mentioned means may be implemented at least in part in software. It will be appreciated by those skilled in the art that the above-mentioned means may be implemented at least in part using general-purpose computer equipment or using customized equipment.
[0155] Here, aspects of the methods and devices described herein may be performed on any device including a communication system. The procedural aspects of the technology may be considered to be a "product" or "article of manufacture" that is generally considered to be carried or embodied on a machine-readable medium in the form of executable code and / or related data. "Storage" type media include any or all of the memories of mobile stations, computers, processors, etc. or their related modules, such as various semiconductor memories, tape drives, disk drives, etc., which can provide storage at the following locations: software programming is performed at any time. All or part of the software can sometimes be communicated through the Internet or various other telecommunications networks. For example, such communications can enable software to be loaded from one computer or processor to another computer or processor. Therefore, another type of medium that can carry software elements includes optical waves, radio waves, and electromagnetic waves, such as through wired and optical landline networks and through various air links on the physical interface between local devices. Physical elements that carry such waves, such as wired or wireless links, optical links, etc., can also be considered as media that carry software. As used herein, unless restricted to tangible, non-transitory "storage" media, terms such as computer or machine "readable media" refer to any medium that participates in providing instructions to a processor for execution.
[0156] Although the present invention is shown and described in detail in the drawings and the above description, it will be understood to be illustrative rather than restrictive in nature, and it should also be understood that only exemplary embodiments are shown and described, and they will not limit the scope of the present invention in any way. It is understood that any of the features described herein can be used in conjunction with any embodiment. The illustrative embodiments are not mutually exclusive, or do not exclude other embodiments not described herein. Accordingly, the present invention also provides an embodiment comprising one or more combinations of the above-mentioned illustrative embodiments. Modifications and changes of the present invention as proposed herein can be made without departing from its spirit and scope, and therefore such restrictions should only be imposed as shown in the appended claims.
[0157] In the following claims and the preceding description of the invention, except where the context requires due to expressive language or necessary implication, the term "comprises" or variations thereof are used in an inclusive sense, i.e. specifying the presence of stated features but not excluding the presence or addition of other features in various embodiments of the invention.
[0158] It will be appreciated that, if any prior art publication is referred to herein, this reference does not constitute an admission that the publication forms part of the common general knowledge in the art.
Claims
1. A method for scheduling services for execution in a distributed microservices-aware wireless cellular network (DMS-WCN), the method comprising the steps of: Receive requests for services; scheduling a plurality of edge network nodes to execute a respective one of a plurality of microservices (MS) comprising the requested service; Receiving a calculation result of the microservice from the edge network node; Integrating the received calculation results to provide a complete calculation result for the requested service; Providing the complete calculation result to the device receiving the service request; The network node schedules the plurality of edge network nodes to execute a respective one of the plurality of microservices by the following steps: Assign microservices only to edge network nodes that meet the following criteria: The microservice has been cached; Meeting minimum latency requirements for processing the microservice; and Minimal energy consumption is generated when processing the microservices.
2. The method according to claim 1, wherein: The network node includes a macro base station (MBS), and the plurality of edge network nodes include a plurality of small base stations (SBSs) within a cell area of the macro base station.
3. The method according to claim 1, wherein: The network node schedules no more than one microservice from the plurality of microservices to each edge network node.
4. The method according to claim 1, wherein: The network node only allocates microservices to edge network nodes that have sufficient resources to cache and execute the allocated microservices.
5. The method according to claim 1, wherein: Microservices belonging to the most frequently requested services are assigned to edge network nodes with priorities based on the request levels of their respective services.
6. The method according to claim 1, wherein: The network node allocates microservices to edge network nodes based on service probabilities of the microservices including the request.
7. The method according to claim 1, wherein: The network node allocates the microservice to the edge network node based on the initial allocation strategy, and the method further includes: Whether the initial allocation of the microservices to their respective edge network nodes is a feasible allocation is determined by determining whether the respective edge network nodes have sufficient resources to cache and process their respective microservices while meeting the minimum latency requirement.
8. The method according to claim 1, wherein: The network node allocates the microservice to the edge network node based on the initial allocation strategy, and the method further includes: A total energy consumption value of the assigned microservices executed on their respective edge network nodes is determined.
9. The method according to claim 8, wherein: The initial allocation strategy includes allocating microservices only to edge network nodes that meet the following conditions: The microservice has been cached; Meeting the minimum latency requirement for processing the microservice; and Minimal energy consumption is generated when processing the microservice.
10. The method of claim 8, further comprising allocating microservices to edge network nodes based on an alternative allocation strategy, the method comprising: determining, for the alternative allocation strategy, a total energy consumption value for executing the allocated microservices on their respective edge network nodes; comparing the total energy consumption value of the initial allocation strategy with the total energy consumption value of the alternative allocation strategy; and The allocation strategy having the lowest total energy consumption value is selected.
11. The method according to claim 10, wherein: Before determining the total energy consumption value of the alternative allocation strategy, it is first determined whether the small base station of the alternative allocation strategy has sufficient resources for caching and executing the allocated microservices, and if so, then the total energy consumption value of the alternative allocation strategy is determined.
12. The method according to claim 10, wherein: The alternative allocation strategy is derived from the initial allocation strategy by exchanging the allocation of two micro services between two small base stations.
13. The method according to claim 13, wherein: The method further comprises: Repeating the exchange of the allocation of the two microservices between the two small base stations for multiple combinations of the two microservices between the two small base stations; determining respective total energy expenditure values of the combinations; comparing the total energy consumption value of the combination with the total energy consumption value of the initial allocation strategy; and If the total energy consumption value of the combination is less than the total energy consumption value of the initial allocation strategy, the combination with the lowest total energy consumption value is selected.
14. The method according to claim 14, wherein: The method includes repeatedly exchanging the allocation of the two micro services between the two small base stations for all possible combinations of the two micro services between the two small base stations.
15. A network node of a distributed microservices-aware wireless cellular network (DMS-WCN), the network node comprising: a memory storing machine-readable instructions; and a processor for executing the machine-readable instructions, such that when the processor executes the machine-readable instructions, it configures the network node to perform the following steps: Receive requests for services; scheduling a plurality of edge network nodes to execute a respective one of a plurality of microservices (MS) comprising the requested service; Receiving a calculation result of the microservice from the edge network node; Integrating the received calculation results to provide a complete calculation result for the requested service; Providing the complete calculation result to the device receiving the service request; The plurality of edge network nodes are scheduled to execute a respective one of the plurality of microservices by the following steps: Assign microservices only to edge network nodes that meet the following criteria: The microservice has been cached; Meeting the minimum latency requirement for processing the microservice; and Minimal energy consumption is generated when processing the microservice.
16. The network according to claim 15, wherein: The network node includes a macro base station (MBS), and the plurality of edge network nodes include a plurality of small base stations (SBSs) within a cell area of the macro base station.