Optimizing Layerwise Microservice Management in Heterogeneous Wireless Networks

Haojie Yan, Yuedong Xu, Lianggui Dai Haojie Yan and Yuedong Xu are with School of Information Science and Engineering, Fudan University. E-mail: {[email protected], [email protected]}Lianggui Dai is with the Intelligent Transportation System (ITS) Research Center, Guangdong Litong Corp (Email: {[email protected]})
Abstract

Small cells with edge computing are densely deployed in 5G mobile networks to provide high throughput communication and low-latency computation. The flexibility of edge computation is empowered by the deployment of lightweight container-based microservices. In this paper, we take the first step toward optimizing the microservice management in small-cell networks. The prominent feature is that each microservice consists of multiple image layers and different microservices may share some basic layers, thus bringing deep coupling in their placement and service provision. Our objective is to minimize the expected total latency of microservice requests under the storage, communication and computing constraints of the sparsely interconnected small cell nodes. We formulate a binary quadratic program (BQP) with the multi-dimensional strategy of the image layer placement, the access selection and the task assignment. The BQP problem is then transformed into an ILP problem, and is solved by use of a novel sphere-box alternating direction multipliers method (ADMM) with reasonable complexity O(q4)𝑂superscript𝑞4O(q^{4})italic_O ( italic_q start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT ), where q𝑞qitalic_q is the number of variables in the transformed problem. Trace-driven experiments show that the gap between our proposed algorithm and the optimal is reduced by 35%percent\%% compared with benchmark algorithms.

Index Terms:
Microservice management; small cell networks; mobile edge computing; binary quadratic program; sphere-box ADMM.

1 Introduction

The complex services (e.g., mobile video , smart healthy care, real-time entertainment, augmented virtual reality) require lower latency and higher reliability for mobile network. Edge cloud has emerged as a promising platform complementary to central cloud systems by provisioning computing resources and mini data bases at the edge. By placing the cloud closer to the users, the mobile edge computing (MEC) network allows mobile users to acquire web service from nearby edge network. By doing so, MEC contributes to reduce the latency and mitigate the congestion in the backhual link [LYCT17]. Despite all the advantages, mobile edge computing is faced with some inherent challenges, e.g., various users’ demands, unbalanced workload, small coverage, and limited capacity [HNN+18]. To deal with it, small cells are introduced in 5G as a fundamental element of edge network. Benefiting from dense deployment, small cell nodes can operate in high frequencies, covering a range of 10 meters to 2 kilometers [HH18].

Under the requirement of improving users’ experience, container-based microservice is regarded as a promising pattern which organizes the traditional monolithic web application into a series of small web services [RN16, FFRR15, WLZ+18]. Each web service runs in a container with lower overhead. Cgroup and Kubernetes can effectively manage the containers on individual server or cluster while KubeEdge extend containerized orchestration capability to edge host. To provide certain web services, SCN needs to download the corresponding microservice image first. Microservice image is organized as layer structure and each layer provides necessary data, file or compilation environment. According to the downloading record of the Docker Hub, the image size of the most popular microservices can vary from 109MB to 2045MB which poses a great challenge to the limited storage resources of edge nodes. A recent study[HSL+16] pointed out that 57 most popular microservices images have 19 common base layers. Taking microservices of Cassandra, JAVA, Python, and gcc as examples, their images all require one non-latest Linux distribution layer of Debian. Layer sharing means that only one replica of common layer should be stored by SCN. According to Docker, microservice images can be pulled from repositories and stored in SCNs by layers with required functionalities instead of downloading the whole image.

Recently a great number of papers have investigated on microservice deployment strategies. [LAMC19, SJMW19] do not pay attention to the characteristics of microservices themselves, and only regard microservice containers as lightweight virtual machine. Without fully exploring the characteristics of microservices, the deployment strategies proposed by these papers often fail to make full use of the capacity of SCNs which results in a big gap between their solutions and optimal solution. Gu et al.[GZH+21b, GZH+21a] explored the layer structure and designed strategies to maximize the throughput. But in their model, they assume that if a microservice is requested then its image must be deployed in one and only in one server. After studying the real data, we find that the request frequency of microservices follows the long-tail distribution, that is, a small number of microservice requests occupy the majority of user requests while a large number of microservices are rarely requested. Therefore, deploying every requested microservices will contribute little to the improvement of users’ experience but will pay great cost.

In this paper, we aim to minimize the global latency of users in the 5G dense edge network. Given the distribution of users and the type of their requested microservice, diverse SCNs storage capacity and computing capacity, and edge network topology (i.e., connection relationship between SCNs and bandwidth), we will jointly deal with four essential questions: (1)for each SCN, what microservices should be deployed? (2)for each SCN, what layers should be deployed? (3)for each user, which AP should be selected to connect? (4)for each user, which SCN or central cloud should his task be assigned to? We formulate the above problem as a BQP problem. Due to the strong mutual dependency between microservice deployment and task assignment, our optimization problem turns to be intractable. In particular, microservice deployment can influence task assignment. Likewise, if a task is assigned to a SCN, the SCN must download the corresponding microservice image to provide web service.

On the principle of divide and conquer, we decompose the problem into several simple sub-problems. By completely solving these sub-problems, our BQP problem can be transformed into an ILP problem. But the transformed ILP is still intractable which is proved to be NP-hard. To tackle it, we propose a novel algorithm which is composed of two subroutine. First, we propose sphere-box ADMM algorithm which combines replacement method and ADMM to solve the ILP problem. We replace the binary constraint of the ILP problem with sphere constraint and box constraint and adopt ADMM algorithm to optimize it. This step will output a continuous solution whose elements are all close to 0 or 1. Second, we design a problem-specific rounding algorithm to turn the continuous solution obtained by sphere-box ADMM into final integer solution. Our major contribution are summarized below:

\bullet To our best knowledge, this is the first work consider both the layer structure of microservice image and 5G dense edge network, and investigate how to minimize the global latency by jointly dealing with microservice deployment, layer deployment, AP selection and task assignment. We formulate the problem into a BQP problem.

\bullet We propose a novel decomposition method to handle the BQP problem. By completely solving the sub-problems, the intractable BQP problem is transformed to an equivalent ILP problem which is much simpler and can be solved effectively.

\bullet We design sphere-box ADMM to optimize the ILP problem and get continuous solution whose element are all close to 0 or 1. Then we design a problem specific rounding policy to convert the continuous solution into final integer solution.

\bullet We analyze the date of Alibaba’s 2021 cluster-trace to figure out the characteristics of microservice requests distribution. Then the analysis results are used for experiment simulation. Extensive experiments are performed to verify that our algorithm can obtain close-to-optimal solution.

The remainder of this paper is organized as follows. Section 2 describes the proposed novel network architecture and formulate our problem. In section 3 we decompose our problem and propose our algorithm. The data analysis of real data trace and performance evaluation results are reported in Section 4. Finally, conclusions are then drawn in Section 5.

2 System Model

In this section, we describe the architecture of heterogeneous wireless networks in support of layer-wise microservices. Then we formulate the joint microservice deployment, AP selection and task assignment as a BQP problem.

2.1 Heterogeneous Edge Network

Refer to caption
Figure 1: Small cell edge network with microservice provisioning

The architecture of our heterogeneous wireless networks is illustrated in Fig. 1 which conforms to European Telecommunication Standards Institute (ETSI) [KFF+18] and Federal Communications Commission (FCC) standards.

It consists of a macro cell node (MCN) and a number of densely deployed small cell nodes (SCNs). MCN directly connects to all the SCNs. Some SCNs are directly connected to each other through wired or fast wireless connection. Each user can connect to MCN or a SCN if he is within their overlapped transmission range. MCN and SCNs can connect to the central cloud through backhaul network. However, in practice, the bandwidth between the central cloud and the MCN is much higher than among SCNs [PIA+16]. Therefore we can consider that only MCN are connected to the central cloud. MCN can also be seen as a special SCN.

MCN and SCNs in support of microservices are equipped with computing and storage units with limited computing capability and storage space respectively. Hence, it cannot store all the microservice images locally and may not be able to handle multiple concurrent computations by itself. The central cloud has sufficient resource so we consider that the central cloud has deployed all the microservice images and can run infinite containers concurrently. MCN and SCNs also utilize a user plane function (UPF). With the help of UPF, the data traffic can be routed to other SCN. This enables collaboration between directly connected SCNs which means user requests web service from one SCN, but the service is actually performed by another SCN.

When a mobile user want to acquire web service from the edge cloud, he can connect to one of Sons which covers him to access the edge network. He can upload the data that he want to process and the type of microservice he wants to request. A SCN want to provide web service to user must corresponding microservice and has enough computing resource to start a container. Deploying a microservice means that the all the layers required by image have been stored. We call a SCN is available to a user when the SCN can provide service to the user [SHND19]. If the accessed SCN or one of its neighbor Sons is available, web service can be provide in the edge. Otherwise, the data will be offloaded to the central cloud and web service is provided by the cloud [PIST16].

2.2 Model Description

We consider an edge computing of a set 𝒩={1,,n,,N+1}𝒩1𝑛𝑁1\mathcal{N}=\{1,\ldots,n,\ldots,N+1\}caligraphic_N = { 1 , … , italic_n , … , italic_N + 1 } of SCNs. Among them, the index N+1𝑁1N+1italic_N + 1 denotes MCN. For SCN-n𝑛nitalic_n, Snsubscript𝑆𝑛S_{n}italic_S start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and Pnsubscript𝑃𝑛P_{n}italic_P start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT to denote its storage capacity, computing capacity and location, respectively. They can be rewritten as the vectors 𝐒𝐒\mathbf{S}bold_S, 𝐂𝐂\mathbf{C}bold_C. For the connection relationship between the SCNs, we use a 0-1 matrix G𝐺\mathit{G}italic_G to depict the topology. For nm,n,m𝒩formulae-sequence𝑛𝑚for-all𝑛𝑚𝒩n\neq m,\forall n,m\in\mathcal{N}italic_n ≠ italic_m , ∀ italic_n , italic_m ∈ caligraphic_N, Gn,msubscript𝐺𝑛𝑚\mathit{G}_{n,m}italic_G start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT is 1 which means that SCN-n𝑛nitalic_n and SCN-m𝑚mitalic_m are directly connected. Otherwise, SCN-n𝑛nitalic_n and SCN-m𝑚mitalic_m are not directly connected. Without loss of generality, we make all the elements in G𝐺Gitalic_G’s diagonal be 1. If SCN-n𝑛nitalic_n and SCN-m𝑚mitalic_m are connected, the bandwidth between them are denoted as Bn,msubscript𝐵𝑛𝑚B_{n,m}italic_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT. For the consistency of expression, we use BN+1,N+2subscript𝐵𝑁1𝑁2B_{N+1,N+2}italic_B start_POSTSUBSCRIPT italic_N + 1 , italic_N + 2 end_POSTSUBSCRIPT to denote the backhaul bandwidth between MCN and the central cloud.

We use set ={1,,i,,I}1𝑖𝐼\mathcal{I}=\{1,\ldots,i,\ldots,I\}caligraphic_I = { 1 , … , italic_i , … , italic_I } to denote all the microservices. We simply write the i𝑖iitalic_ith microservice as MS-i. Each microservice image is composed of some sharable layers and non-sharable layers. We denote the set of all layers existing in \mathcal{I}caligraphic_I as set ={1,,l,,L}1𝑙𝐿\mathcal{L}=\{1,\ldots,l,\ldots,L\}caligraphic_L = { 1 , … , italic_l , … , italic_L }. The storage space occupied by layer-l𝑙litalic_l is Klsubscript𝐾𝑙K_{l}italic_K start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT. We use Hi,l{0,1}subscript𝐻𝑖𝑙01H_{i,l}\in\{0,1\}italic_H start_POSTSUBSCRIPT italic_i , italic_l end_POSTSUBSCRIPT ∈ { 0 , 1 }, ifor-all𝑖\forall i\in\mathcal{I}∀ italic_i ∈ caligraphic_I, lfor-all𝑙\forall l\in\mathcal{L}∀ italic_l ∈ caligraphic_L to indicate whether layer-l𝑙litalic_l is required by MS-i𝑖iitalic_i or not. To satisfy the service level agreement (SLA), when the mobile edge nodes provides service to mobile user, it must allocate some amount of computing resource to the container. Different micorservices require different amounts of computing resource. For MS-i𝑖iitalic_i, we let Fisubscript𝐹𝑖F_{i}italic_F start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT denote the required computation resource.

We consider the set of all users as 𝒰={1,,u,,U}𝒰1𝑢𝑈\mathcal{U}=\{1,\ldots,u,\ldots,U\}caligraphic_U = { 1 , … , italic_u , … , italic_U }. We simply write the u𝑢uitalic_uth user as MU-u𝑢uitalic_u. Qusubscript𝑄𝑢Q_{u}italic_Q start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT presents his location. We let Musubscript𝑀𝑢M_{u}\in\mathcal{I}italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ∈ caligraphic_I, Rusubscript𝑅𝑢R_{u}italic_R start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT and pusubscript𝑝𝑢p_{u}italic_p start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT denote the type of microservice requested by MU-u𝑢uitalic_u, the size of data to be processed and transmitting power of his end device, respectively. We use Wu,nsubscript𝑊𝑢𝑛W_{u,n}italic_W start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT to denote the bandwidth between MU-u𝑢uitalic_u and SCN-n𝑛nitalic_n.

The user’s latency consists of three parts: latency of uploading data, latency of computing and latency of returning result. Considering the computation time only relates to the size of data and the type of microservice. The size of calculation results is much smaller than the size of data which can be ignored [LHL+21]. We actually optimize the latency of data uploading.

3 Problem Formulation And Transformation

We will describe the decisions, constraints and objective function involved in our problem in detail.

3.1 Decision Variables

3.1.1 Microservice deployment

We define 𝒙=def[𝒙1,,𝒙n,,𝒙N+1]T𝒙defsuperscriptsubscript𝒙1subscript𝒙𝑛subscript𝒙𝑁1T\bm{x}\overset{\text{def}}{=}[\bm{x}_{1},\ldots,\bm{x}_{n},\ldots,\bm{x}_{N+1}% ]^{\mathrm{T}}bold_italic_x overdef start_ARG = end_ARG [ bold_italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , bold_italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , … , bold_italic_x start_POSTSUBSCRIPT italic_N + 1 end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT, where 𝒙n=def[xn,1,,xn,i,,xn,I]Tsubscript𝒙𝑛defsuperscriptsubscript𝑥𝑛1subscript𝑥𝑛𝑖subscript𝑥𝑛𝐼T\bm{x}_{n}\overset{\text{def}}{=}[x_{n,1},\ldots,x_{n,i},\ldots,x_{n,I}]^{% \mathrm{T}}bold_italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT overdef start_ARG = end_ARG [ italic_x start_POSTSUBSCRIPT italic_n , 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n , italic_I end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT and xn,i{0,1}subscript𝑥𝑛𝑖01x_{n,i}\in\{0,1\}italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT ∈ { 0 , 1 }, as the zero-one microservice deployment decision vector. The decision variable xn,isubscript𝑥𝑛𝑖x_{n,i}italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT is an indicator variable defined as below:

xn,i={1,if MS-i is deployed at SCN-n,0,otherwise.subscript𝑥𝑛𝑖cases1if MS-i is deployed at SCN-n,0otherwise.x_{n,i}=\begin{cases}1,&\text{if MS-$i$ is deployed at SCN-$n$,}\\ 0,&\text{otherwise.}\end{cases}italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT = { start_ROW start_CELL 1 , end_CELL start_CELL if MS- italic_i is deployed at SCN- italic_n , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW

3.1.2 Layer Deployment

We define 𝒚=def[𝒚1,,𝒚n,,𝒚N+1]T𝒚defsuperscriptsubscript𝒚1subscript𝒚𝑛subscript𝒚𝑁1T\bm{y}\overset{\text{def}}{=}[\bm{y}_{1},\ldots,\bm{y}_{n},\ldots,\bm{y}_{N+1}% ]^{\mathrm{T}}bold_italic_y overdef start_ARG = end_ARG [ bold_italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , bold_italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , … , bold_italic_y start_POSTSUBSCRIPT italic_N + 1 end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT, where 𝒚n=def[yn,1,,yn,l,,yn,L]Tsubscript𝒚𝑛defsuperscriptsubscript𝑦𝑛1subscript𝑦𝑛𝑙subscript𝑦𝑛𝐿T\bm{y}_{n}\overset{\text{def}}{=}[y_{n,1},\ldots,y_{n,l},\ldots,y_{n,L}]^{% \mathrm{T}}bold_italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT overdef start_ARG = end_ARG [ italic_y start_POSTSUBSCRIPT italic_n , 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n , italic_L end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT, as the zero-one layer deployment decision vector. The decision variable yn,lsubscript𝑦𝑛𝑙y_{n,l}italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT is an indicator variable defined as below:

yn,l={1,if layer-l is deployed at SCN-n,0,otherwise.subscript𝑦𝑛𝑙cases1if layer-l is deployed at SCN-n,0otherwise.y_{n,l}=\begin{cases}1,&\text{if layer-$l$ is deployed at SCN-$n$,}\\ 0,&\text{otherwise.}\end{cases}italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT = { start_ROW start_CELL 1 , end_CELL start_CELL if layer- italic_l is deployed at SCN- italic_n , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW

3.1.3 AP Selection

We define 𝒛=def[𝒛1,,𝐳u,,𝐳U]𝒛defsuperscriptsubscript𝒛1subscript𝐳𝑢subscript𝐳𝑈top\bm{z}\overset{\text{def}}{=}[\bm{z}_{1},\ldots,\mathbf{z}_{u},\ldots,\mathbf{% z}_{U}]^{\top}bold_italic_z overdef start_ARG = end_ARG [ bold_italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , bold_z start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT , … , bold_z start_POSTSUBSCRIPT italic_U end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, where 𝒛u=def[zu,1,,zu,n,,zu,N+1]subscript𝒛𝑢defsuperscriptsubscript𝑧𝑢1subscript𝑧𝑢𝑛subscript𝑧𝑢𝑁1top\bm{z}_{u}\overset{\text{def}}{=}[z_{u,1},\ldots,z_{u,n},\ldots,z_{u,N+1}]^{\top}bold_italic_z start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT overdef start_ARG = end_ARG [ italic_z start_POSTSUBSCRIPT italic_u , 1 end_POSTSUBSCRIPT , … , italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT , … , italic_z start_POSTSUBSCRIPT italic_u , italic_N + 1 end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT and zu,n{0,1}subscript𝑧𝑢𝑛01z_{u,n}\in\{0,1\}italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT ∈ { 0 , 1 }, as the zero-one AP selection vector. The decision variable zu,nsubscript𝑧𝑢𝑛z_{u,n}italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT is an indicator variable defined as below:

zu,n={1,if MU-u connects to SCN-n,0,otherwise.subscript𝑧𝑢𝑛cases1if MU-u connects to SCN-n,0otherwise.z_{u,n}=\begin{cases}1,&\text{if MU-$u$ connects to SCN-$n$,}\\ 0,&\text{otherwise.}\end{cases}italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = { start_ROW start_CELL 1 , end_CELL start_CELL if MU- italic_u connects to SCN- italic_n , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW

Each mobile user is capable of offloading his time-consuming and computation-intensive task to the SCNs or MCN through wireless channel. If MU-u𝑢uitalic_u locates at the intersection of multiple SCNs’ coverage, then he can select one of them to access. We define indicator ϑu,nsubscriptitalic-ϑ𝑢𝑛\vartheta_{u,n}italic_ϑ start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT as below:

ϑu,n={1,if MU-u is covered by SCN-n,0,otherwise.subscriptitalic-ϑ𝑢𝑛cases1if MU-u is covered by SCN-n,0otherwise.\vartheta_{u,n}=\begin{cases}1,&\text{if MU-$u$ is covered by SCN-$n$,}\\ 0,&\text{otherwise.}\end{cases}italic_ϑ start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = { start_ROW start_CELL 1 , end_CELL start_CELL if MU- italic_u is covered by SCN- italic_n , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW

3.1.4 Task Assignment

For the ease of expression, we use index N+2𝑁2N+2italic_N + 2 to denote the central cloud.

We define 𝒘=def[𝒘1,,𝒘u,,𝒘U]𝒘defsuperscriptsubscript𝒘1subscript𝒘𝑢subscript𝒘𝑈top\bm{w}\overset{\text{def}}{=}[\bm{w}_{1},\ldots,\bm{w}_{u},\ldots,\bm{w}_{U}]^% {\top}bold_italic_w overdef start_ARG = end_ARG [ bold_italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , bold_italic_w start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT , … , bold_italic_w start_POSTSUBSCRIPT italic_U end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, where 𝒘u=def[wu,1,,wu,m,,wU,N+2]subscript𝒘𝑢defsuperscriptsubscript𝑤𝑢1subscript𝑤𝑢𝑚subscript𝑤𝑈𝑁2top\bm{w}_{u}\overset{\text{def}}{=}[w_{u,1},\ldots,w_{u,m},\ldots,w_{U,N+2}]^{\top}bold_italic_w start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT overdef start_ARG = end_ARG [ italic_w start_POSTSUBSCRIPT italic_u , 1 end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT italic_U , italic_N + 2 end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, as the zero-one task assignment decision vector. The decision variable wu,nsubscript𝑤𝑢𝑛w_{u,n}italic_w start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT is an indicator variable defined as below:

wu,m={1,if the task of MU-u is assigned to SCN-m,0,otherwise.subscript𝑤𝑢𝑚cases1if the task of MU-u is assigned to SCN-m,0otherwise.w_{u,m}=\begin{cases}1,&\text{if the task of MU-$u$ is assigned to SCN-$m$,}\\ 0,&\text{otherwise.}\end{cases}italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT = { start_ROW start_CELL 1 , end_CELL start_CELL if the task of MU- italic_u is assigned to SCN- italic_m , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW

For the sake of expression convenience, we add the (N+2)𝑁2(N+2)( italic_N + 2 )th column to the topology matrix G𝐺\mathit{G}italic_G which indicates whether a SCN can offload data to the central cloud or not. The elements in the new column are all 1.

3.1.5 Latency Description

We use Eu,nsubscript𝐸𝑢𝑛E_{u,n}italic_E start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT to denote the bandwidth of wireless channel between MU-u𝑢uitalic_u and one of accessible SCN-n𝑛nitalic_n.

Case1: task is assigned to accessed SCN. MU-u𝑢uitalic_u uploads his request and data to SCN-n𝑛nitalic_n and SCN-n𝑛nitalic_n performs the computing task. The latency of MU-u𝑢uitalic_u is only the latency of wireless communication between mobile device and access point:

tu,n,n=RuEu,n.subscript𝑡𝑢𝑛𝑛subscript𝑅𝑢subscript𝐸𝑢𝑛\displaystyle t_{u,n,n}=\frac{R_{u}}{E_{u,n}}.italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_n end_POSTSUBSCRIPT = divide start_ARG italic_R start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_ARG start_ARG italic_E start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT end_ARG .

Case2: task is assigned to a neighbor SCN. MU-u𝑢uitalic_u connects to SCN-n𝑛nitalic_n to access the network and task is performed by its neighbor SCN-m𝑚mitalic_m. Therefore, we have the latency:

tu,n,m=Ru(1Eu,n+1Bn,m).subscript𝑡𝑢𝑛𝑚subscript𝑅𝑢1subscript𝐸𝑢𝑛1subscript𝐵𝑛𝑚t_{u,n,m}=R_{u}(\frac{1}{E_{u,n}}+\frac{1}{B_{n,m}}).italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_m end_POSTSUBSCRIPT = italic_R start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ( divide start_ARG 1 end_ARG start_ARG italic_E start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT end_ARG + divide start_ARG 1 end_ARG start_ARG italic_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT end_ARG ) .

Case3: task is assigned to the central cloud. In this case, the task of MU-u𝑢uitalic_u is assigned to the central cloud.

If MU-u𝑢uitalic_u accessed SCN-n𝑛nitalic_n, n𝒩{N+1}𝑛𝒩𝑁1n\in\mathcal{N}\setminus\{N+1\}italic_n ∈ caligraphic_N ∖ { italic_N + 1 }, his request and data must be routed to the MCN first and then can be offloaded to the central cloud. Therefore, the latency is:

tu,n,N+2=Ru(1Eu,n+1Bn,N+1+1BN+1,N+2).subscript𝑡𝑢𝑛𝑁2subscript𝑅𝑢1subscript𝐸𝑢𝑛1subscript𝐵𝑛𝑁11subscript𝐵𝑁1𝑁2t_{u,n,N+2}=R_{u}(\frac{1}{E_{u,n}}+\frac{1}{B_{n,N+1}}+\frac{1}{B_{N+1,N+2}}).italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_N + 2 end_POSTSUBSCRIPT = italic_R start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ( divide start_ARG 1 end_ARG start_ARG italic_E start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT end_ARG + divide start_ARG 1 end_ARG start_ARG italic_B start_POSTSUBSCRIPT italic_n , italic_N + 1 end_POSTSUBSCRIPT end_ARG + divide start_ARG 1 end_ARG start_ARG italic_B start_POSTSUBSCRIPT italic_N + 1 , italic_N + 2 end_POSTSUBSCRIPT end_ARG ) .

If MU-u𝑢uitalic_u accesses MCN, his request can be offloaded to the central cloud straightforward. Therefore, the latency is:

tu,N+1,N+2=Ru(1Eu,n+1BN+1,N+2).subscript𝑡𝑢𝑁1𝑁2subscript𝑅𝑢1subscript𝐸𝑢𝑛1subscript𝐵𝑁1𝑁2t_{u,N+1,N+2}=R_{u}(\frac{1}{E_{u,n}}+\frac{1}{B_{N+1,N+2}}).italic_t start_POSTSUBSCRIPT italic_u , italic_N + 1 , italic_N + 2 end_POSTSUBSCRIPT = italic_R start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ( divide start_ARG 1 end_ARG start_ARG italic_E start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT end_ARG + divide start_ARG 1 end_ARG start_ARG italic_B start_POSTSUBSCRIPT italic_N + 1 , italic_N + 2 end_POSTSUBSCRIPT end_ARG ) .

In convenience of expression, we define tu,n,m=O,u𝒰,n𝒩,m𝒩{N+2}formulae-sequencesubscript𝑡𝑢𝑛𝑚𝑂formulae-sequencefor-all𝑢𝒰formulae-sequencefor-all𝑛𝒩for-all𝑚𝒩𝑁2t_{u,n,m}=O,\forall u\in\mathcal{U},\forall n\in\mathcal{N},\forall m\in% \mathcal{N}\cup\{N+2\}italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_m end_POSTSUBSCRIPT = italic_O , ∀ italic_u ∈ caligraphic_U , ∀ italic_n ∈ caligraphic_N , ∀ italic_m ∈ caligraphic_N ∪ { italic_N + 2 } where the O𝑂Oitalic_O is a large enough positive number when the situation where MU-u𝑢uitalic_u can not access SCN-n𝑛nitalic_n or task can not be assigned to SCN-m𝑚mitalic_m.

Considering for a user, the above mentioned three cases are complementary relationship, the latency of MU-u𝑢uitalic_u can be expressed as the sum of the above expressions.

tu=n=1N+1m=1N+2tu,n,mzu,nwu,msubscript𝑡𝑢superscriptsubscript𝑛1𝑁1superscriptsubscript𝑚1𝑁2subscript𝑡𝑢𝑛𝑚subscript𝑧𝑢𝑛subscript𝑤𝑢𝑚t_{u}=\sum_{n=1}^{N+1}\sum_{m=1}^{N+2}t_{u,n,m}z_{u,n}w_{u,m}italic_t start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 1 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_m end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT

3.2 Problem Formulation

To minimize the global latency of all users, we can formulate our optimization problem into following form:

(𝒫1)subscript𝒫1\displaystyle(\mathcal{P}_{1})( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) min𝐱,𝐲,𝐳,𝐰u=1Un=1N+1m=1N+2tu,n,mzu,nwu,msubscript𝐱𝐲𝐳𝐰superscriptsubscript𝑢1𝑈superscriptsubscript𝑛1𝑁1superscriptsubscript𝑚1𝑁2subscript𝑡𝑢𝑛𝑚subscript𝑧𝑢𝑛subscript𝑤𝑢𝑚\displaystyle\min_{\mathbf{x},\mathbf{y},\mathbf{z},\mathbf{w}}\sum_{u=1}^{U}% \sum_{n=1}^{N+1}\sum_{m=1}^{N+2}t_{u,n,m}z_{u,n}w_{u,m}roman_min start_POSTSUBSCRIPT bold_x , bold_y , bold_z , bold_w end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 1 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_m end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT (1)
s.t.: l=1Lyn,lKlSn,n𝒩,formulae-sequences.t.: superscriptsubscript𝑙1𝐿subscript𝑦𝑛𝑙subscript𝐾𝑙subscript𝑆𝑛for-all𝑛𝒩\displaystyle\text{s.t.: }\sum_{l=1}^{L}{y}_{n,l}K_{l}\leq S_{n},\forall n\in% \mathcal{N},s.t.: ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT italic_K start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ≤ italic_S start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , ∀ italic_n ∈ caligraphic_N , (2)
yn,lHi,lxn,i,n𝒩,i,l,formulae-sequencesubscript𝑦𝑛𝑙subscript𝐻𝑖𝑙subscript𝑥𝑛𝑖formulae-sequencefor-all𝑛𝒩formulae-sequencefor-all𝑖for-all𝑙\displaystyle y_{n,l}\geq H_{i,l}x_{n,i},\forall n\in\mathcal{N},\forall i\in% \mathcal{I},\forall l\in\mathcal{L},italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT ≥ italic_H start_POSTSUBSCRIPT italic_i , italic_l end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT , ∀ italic_n ∈ caligraphic_N , ∀ italic_i ∈ caligraphic_I , ∀ italic_l ∈ caligraphic_L , (3)
n=1N+1ϑu,nzu,n=1,u𝒰,formulae-sequencesuperscriptsubscript𝑛1𝑁1subscriptitalic-ϑ𝑢𝑛subscript𝑧𝑢𝑛1for-all𝑢𝒰\displaystyle\sum_{n=1}^{N+1}\vartheta_{u,n}z_{u,n}=1,\forall u\in\mathcal{U},∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 1 end_POSTSUPERSCRIPT italic_ϑ start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = 1 , ∀ italic_u ∈ caligraphic_U , (4)
n=1N+1zu,n=1,u𝒰,formulae-sequencesuperscriptsubscript𝑛1𝑁1subscript𝑧𝑢𝑛1for-all𝑢𝒰\displaystyle\sum_{n=1}^{N+1}z_{u,n}=1,\forall u\in\mathcal{U},∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 1 end_POSTSUPERSCRIPT italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = 1 , ∀ italic_u ∈ caligraphic_U , (5)
n=1N+2wu,n=1,u=1,2,,U,formulae-sequencesuperscriptsubscript𝑛1𝑁2subscript𝑤𝑢𝑛1for-all𝑢12𝑈\displaystyle\sum_{n=1}^{N+2}w_{u,n}=1,\forall u=1,2,\ldots,U,∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = 1 , ∀ italic_u = 1 , 2 , … , italic_U , (6)
wu,nxn,Mu,u𝒰,n𝒩,formulae-sequencesubscript𝑤𝑢𝑛subscript𝑥𝑛subscript𝑀𝑢formulae-sequencefor-all𝑢𝒰for-all𝑛𝒩\displaystyle w_{u,n}\leq x_{n,M_{u}},\forall u\in\mathcal{U},\forall n\in% \mathcal{N},italic_w start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT ≤ italic_x start_POSTSUBSCRIPT italic_n , italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ∀ italic_u ∈ caligraphic_U , ∀ italic_n ∈ caligraphic_N , (7)
u=1UFMuwu,mCm,m𝒩,formulae-sequencesuperscriptsubscript𝑢1𝑈subscript𝐹subscript𝑀𝑢subscript𝑤𝑢𝑚subscript𝐶𝑚for-all𝑚𝒩\displaystyle\sum_{u=1}^{U}F_{M_{u}}w_{u,m}\leq C_{m},\forall m\in\mathcal{N},∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT italic_F start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , ∀ italic_m ∈ caligraphic_N , (8)
n=1N+1m=1N+2Gn,mzu,nwu,m=1,u𝒰,formulae-sequencesuperscriptsubscript𝑛1𝑁1superscriptsubscript𝑚1𝑁2subscript𝐺𝑛𝑚subscript𝑧𝑢𝑛subscript𝑤𝑢𝑚1for-all𝑢𝒰\displaystyle\sum_{n=1}^{N+1}\sum_{m=1}^{N+2}\mathit{G}_{n,m}z_{u,n}w_{u,m}=1,% \forall u\in\mathcal{U},∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 1 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_G start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT = 1 , ∀ italic_u ∈ caligraphic_U , (9)
xn,m,ynl,zu,n,wu,m{0,1},subscript𝑥𝑛𝑚subscript𝑦𝑛𝑙subscript𝑧𝑢𝑛subscript𝑤𝑢𝑚01\displaystyle x_{n,m},y_{nl},z_{u,n},w_{u,m}\in\{0,1\},italic_x start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_n italic_l end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT ∈ { 0 , 1 } ,
i,l,,u𝒰,\displaystyle\forall i\in\mathcal{I},\forall l\in\mathcal{L},,\forall u\in% \mathcal{U},∀ italic_i ∈ caligraphic_I , ∀ italic_l ∈ caligraphic_L , , ∀ italic_u ∈ caligraphic_U ,
n𝒩,m𝒩{N+2}.formulae-sequencefor-all𝑛𝒩for-all𝑚𝒩𝑁2\displaystyle\forall n\in\mathcal{N},\forall m\in\mathcal{N}\cup\{N+2\}.∀ italic_n ∈ caligraphic_N , ∀ italic_m ∈ caligraphic_N ∪ { italic_N + 2 } .

Constraint (2) ensures that for each SCN, the layers deployed at it will not exceed its storage capacity. (3) indicates that when deploying a microservice, all the layers required by it need to be deployed first. Constraints (4) and (5) guarantee that a user will connect to one of his accessible SCNs. Constraint (6) ensures that a user’s task will be assigned to a SCN or to the central cloud. Constraint (7) indicates that when the task is assigned to a SCN, corresponding microservice need to be deployed first. In constraint (8), the total computing resource consumed by all tasks assigned to SCN-m𝑚mitalic_m cannot exceed its capacity Cmsubscript𝐶𝑚C_{m}italic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT. Constraint (9) ensures that the relationship between AP selection and task assignment is one of the three cases in section 3.1.5.

It’s a BQP problem with binary variables. Its objective function (1) and constraints (9) are quadratic. Its extremely non-convex nature makes it difficult to be analyzed theoretically, and it cannot be solved efficiently by off-the-shelf optimization algorithm. It is computationally prohibited in large size case when either the number of mobile user or the number of microservice is large.

3.3 Problem Decomposition and Transformation

Given a set of binary solution (𝒙,𝒘,𝒛)superscript𝒙superscript𝒘superscript𝒛(\bm{x}^{\prime},\bm{w}^{\prime},\bm{z}^{\prime})( bold_italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , bold_italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , bold_italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) satisfying the constraint (2),(3),(6),(7),(8), we consider the sub-problem about 𝒛𝒛\bm{z}bold_italic_z.

(𝒮𝒫1)𝒮subscript𝒫1\displaystyle(\mathcal{SP}_{1})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) min𝒛u=1Un=1N+1m=1N+2tu,n,mzu,nwu,msubscript𝒛superscriptsubscript𝑢1𝑈superscriptsubscript𝑛1𝑁1superscriptsubscript𝑚1𝑁2subscript𝑡𝑢𝑛𝑚subscript𝑧𝑢𝑛superscriptsubscript𝑤𝑢𝑚\displaystyle\min_{\bm{z}}\sum_{u=1}^{U}\sum_{n=1}^{N+1}\sum_{m=1}^{N+2}t_{u,n% ,m}z_{u,n}w_{u,m}^{\prime}roman_min start_POSTSUBSCRIPT bold_italic_z end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 1 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_m end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT
s.t.: (4),(5),(9),
zu,n{0,1},u𝒰,n𝒩.formulae-sequencesubscript𝑧𝑢𝑛01formulae-sequencefor-all𝑢𝒰for-all𝑛𝒩\displaystyle z_{u,n}\in\{0,1\},\forall u\in\mathcal{U},\forall n\in\mathcal{N}.italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT ∈ { 0 , 1 } , ∀ italic_u ∈ caligraphic_U , ∀ italic_n ∈ caligraphic_N .

This sub-problem is an ILP problem where each user accesses an accessible SCN to minimize the global latency. Since different users’ decisions are not coupled, the global latency is minimized if and only if the latency of each user is minimized.

We use ξu,msubscript𝜉𝑢𝑚\xi_{u,m}italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT to denote the shortest upload latency from MU-u𝑢uitalic_u to SCN-m𝑚mitalic_m.

ξu,m=min{tu,n,m|n𝒩},m𝒩{N+2}.formulae-sequencesubscript𝜉𝑢𝑚conditionalsubscript𝑡𝑢𝑛𝑚𝑛𝒩for-all𝑚𝒩𝑁2\xi_{u,m}=\min\{t_{u,n,m}|n\in\mathcal{N}\},\forall m\in\mathcal{N}\cup\{N+2\}.italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT = roman_min { italic_t start_POSTSUBSCRIPT italic_u , italic_n , italic_m end_POSTSUBSCRIPT | italic_n ∈ caligraphic_N } , ∀ italic_m ∈ caligraphic_N ∪ { italic_N + 2 } .

We define ζu,m𝒩subscript𝜁𝑢𝑚𝒩\zeta_{u,m}\in\mathcal{N}italic_ζ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT ∈ caligraphic_N to denote which SCN is selected to access when the latency achieves ξu,msubscript𝜉𝑢𝑚\xi_{u,m}italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT. If there are multiple SCNs can achieve such latency, we randomly choose one from them.

So the optimal value of the sub-problem (𝒮𝒫1𝒮subscript𝒫1\mathcal{SP}_{1}caligraphic_S caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) is u=1Um=1N+2ξu,mwu,msuperscriptsubscript𝑢1𝑈superscriptsubscript𝑚1𝑁2subscript𝜉𝑢𝑚superscriptsubscript𝑤𝑢𝑚\displaystyle\sum_{u=1}^{U}\displaystyle\sum_{m=1}^{N+2}\xi_{u,m}w_{u,m}^{\prime}∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. The optimal solution about 𝒛𝒛\bm{z}bold_italic_z can be presented as follow:

zu,n={1,if wu,m=1 and n=ζu,m,0,otherwise.subscript𝑧𝑢𝑛cases1if wu,m=1 and n=ζu,m,0otherwise.z_{u,n}=\begin{cases}1,&\text{if $w^{\prime}_{u,m}=1$ and $n=\zeta_{u,m}$,}\\ 0,&\text{otherwise.}\end{cases}italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = { start_ROW start_CELL 1 , end_CELL start_CELL if italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT = 1 and italic_n = italic_ζ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW (10)

By solving (𝒮𝒫1)𝒮subscript𝒫1(\mathcal{SP}_{1})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) with respect to 𝒛𝒛\bm{z}bold_italic_z completely, (𝒫1)subscript𝒫1(\mathcal{P}_{1})( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) can be transformed to an ILP formulation about {𝒙,𝒚,𝒘}𝒙𝒚𝒘\{\bm{x},\bm{y},\bm{w}\}{ bold_italic_x , bold_italic_y , bold_italic_w } as follows:

(𝒫2)subscript𝒫2\displaystyle(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) min𝒙,𝒚,𝒘u=1Um=1N+2ξu,mwu,msubscript𝒙𝒚𝒘superscriptsubscript𝑢1𝑈superscriptsubscript𝑚1𝑁2subscript𝜉𝑢𝑚subscript𝑤𝑢𝑚\displaystyle\min_{\bm{x},\bm{y},\bm{w}}\sum_{u=1}^{U}\sum_{m=1}^{N+2}\xi_{u,m% }w_{u,m}roman_min start_POSTSUBSCRIPT bold_italic_x , bold_italic_y , bold_italic_w end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT
s.t.: (2),(3),(6),(7),(8),
xn,m,ynl,zu,n,wu,m{0,1},subscript𝑥𝑛𝑚subscript𝑦𝑛𝑙subscript𝑧𝑢𝑛subscript𝑤𝑢𝑚01\displaystyle x_{n,m},y_{nl},z_{u,n},w_{u,m}\in\{0,1\},italic_x start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_n italic_l end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT ∈ { 0 , 1 } ,
i,l,,u𝒰,\displaystyle\forall i\in\mathcal{I},\forall l\in\mathcal{L},,\forall u\in% \mathcal{U},∀ italic_i ∈ caligraphic_I , ∀ italic_l ∈ caligraphic_L , , ∀ italic_u ∈ caligraphic_U ,
n𝒩,m𝒩{N+2}.formulae-sequencefor-all𝑛𝒩for-all𝑚𝒩𝑁2\displaystyle\forall n\in\mathcal{N},\forall m\in\mathcal{N}\cup\{N+2\}.∀ italic_n ∈ caligraphic_N , ∀ italic_m ∈ caligraphic_N ∪ { italic_N + 2 } .

This problem is still difficult to solve because of the tight coupling between micorservice deployment and task assignment. In Lemma 1, we show that the optimization problem (𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT) is an NP-hard problem. However, through decomposition and transformation, the problem is greatly simplified when compared to the original problem (𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT), which is very important to design efficient algorithm to solve later.

Lemma 1. The transformed optimization problem (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is NP-hard.

Proof. Given a solution {𝒙,𝒚}superscript𝒙superscript𝒚\{\bm{x}^{\prime},\bm{y}^{\prime}\}{ bold_italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , bold_italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT } satisfying the constraints (1)(2), we explore the sub-problem (𝒮𝒫2)𝒮subscript𝒫2(\mathcal{SP}_{2})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) with respect to the variables 𝒘𝒘\bm{w}bold_italic_w.

(𝒮𝒫2)min𝒘u=1Um=1N+2ξu,mwu,m𝒮subscript𝒫2subscript𝒘superscriptsubscript𝑢1𝑈superscriptsubscript𝑚1𝑁2subscript𝜉𝑢𝑚subscript𝑤𝑢𝑚(\mathcal{SP}_{2})\min_{\bm{w}}\sum_{u=1}^{U}\sum_{m=1}^{N+2}\xi_{u,m}w_{u,m}( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) roman_min start_POSTSUBSCRIPT bold_italic_w end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT
u=1UFMuwu,N+2u=1UFMu.superscriptsubscript𝑢1𝑈subscript𝐹subscript𝑀𝑢subscript𝑤𝑢𝑁2superscriptsubscript𝑢1𝑈subscript𝐹subscript𝑀𝑢\sum_{u=1}^{U}F_{M_{u}}w_{u,N+2}\leq\sum_{u=1}^{U}F_{M_{u}}.∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT italic_F start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_N + 2 end_POSTSUBSCRIPT ≤ ∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT italic_F start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT . (11)
s.t.:(5),(6),(7).s.t.:(5),(6),(7)\text{s.t.:(5),(6),(7)}.s.t.:(5),(6),(7) .
wu,m{0,1},u𝒰,m𝒰{N+2}formulae-sequencesubscript𝑤𝑢𝑚01formulae-sequencefor-all𝑢𝒰for-all𝑚𝒰𝑁2w_{u,m}\in\{0,1\},\forall u\in\mathcal{U},\forall m\in\mathcal{U}\cup\{N+2\}italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT ∈ { 0 , 1 } , ∀ italic_u ∈ caligraphic_U , ∀ italic_m ∈ caligraphic_U ∪ { italic_N + 2 }

We add an extra constraint(21), but it is satisfied naturally when the decision variables are binary. In (𝒮𝒫2)𝒮subscript𝒫2(\mathcal{SP}_{2})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), we can regard the central cloud as a SCN with computing capability u=1UFMusuperscriptsubscript𝑢1𝑈subscript𝐹subscript𝑀𝑢\sum_{u=1}^{U}F_{M_{u}}∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT italic_F start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT.

We regard the tasks as U items which need to be assigned and regard the SCNs and the central cloud as N+2𝑁2N+2italic_N + 2 bins. The budget of bin-n𝑛nitalic_n is the computing capability of SCN-n𝑛nitalic_n. The computing resource required by MU-u𝑢uitalic_u is the weight of the u𝑢uitalic_uth item. The latency of MU-u𝑢uitalic_u is the cost of the u𝑢uitalic_uth item. Constraints (5) and (6) indicate that some items can only be assigned to limited bins. Constraints (7) and (21) indicate that them items placed in a bin can not exceed the bin’s budget. The objective function is to minimize the total cost. This is a General Assignment Problem(GAP), which is NP-hard[ÖBT10].

Since sub-problem (𝒮𝒫2)𝒮subscript𝒫2(\mathcal{SP}_{2})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is NP-hard, the main problem (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is also NP-hard.

4 Algorithm

To address (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), in this section, we introduce sphere-box ADMM and a well-designed rounding policy which can effectively solve the transformed problem.

4.1 Sphere-box ADMM

The difficulty of solving (𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT) mainly comes from the discontinuity caused by its domain of definition. Handling discrete space well is the key to solve the problem. Since our problem is not submodular like min-cut, the performance of heuristic algorithms such as greedy algorithm is neither good nor guaranteed performance. Exact algorithms such as branch and bound, cutting planes are computationally prohibited because it is NP-hard. Linear relaxation performs badly while semi-definition relation achieve better performance at the cost of much higher memory and computation. Therefore, we use replacement method to handle the discrete domain.

4.1.1 Sphere-box Replacement

We consider a binary space with q𝑞qitalic_q variables. 𝐮{0,1}q𝐮superscript01𝑞\mathbf{u}\in\{0,1\}^{q}bold_u ∈ { 0 , 1 } start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT which is a binary vector. Box space Sb=[0,1]qsubscript𝑆𝑏superscript01𝑞S_{b}=[0,1]^{q}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT = [ 0 , 1 ] start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT is a convex continuous space and sphere space Sp={𝐮|𝐮12𝟏q22=q4}subscript𝑆𝑝conditional-set𝐮superscriptsubscriptnorm𝐮12subscript1𝑞22𝑞4S_{p}=\{\mathbf{u}|\|\mathbf{u}-\frac{1}{2}\mathbf{1}_{q}\|_{2}^{2}=\frac{q}{4}\}italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = { bold_u | ∥ bold_u - divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_1 start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = divide start_ARG italic_q end_ARG start_ARG 4 end_ARG } is a non-convex continuous space. According to Lemma2, we can replace the binary constraints in problem (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) with constraint that the variables are in both the box space and the sphere space.

Lemma 2. The binary set {0,1}qsuperscript01𝑞\{0,1\}^{q}{ 0 , 1 } start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT can be equivalently replaced by the intersection between as box Sbsubscript𝑆𝑏S_{b}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT and a sphere Spsubscript𝑆𝑝S_{p}italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, as follows:

𝒖{0,1}q𝒖[0,1]q{𝒖:𝒖12𝟏q22=q4}iff𝒖superscript01𝑞𝒖superscript01𝑞matrix:𝒖superscriptsubscriptnorm𝒖12subscript1𝑞22𝑞4\bm{u}\in\{0,1\}^{q}\iff\bm{u}\in[0,1]^{q}\cap\begin{Bmatrix}\bm{u}:\|\bm{u}-% \frac{1}{2}\mathbf{1}_{q}\|_{2}^{2}=\frac{q}{4}\end{Bmatrix}bold_italic_u ∈ { 0 , 1 } start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT ⇔ bold_italic_u ∈ [ 0 , 1 ] start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT ∩ { start_ARG start_ROW start_CELL bold_italic_u : ∥ bold_italic_u - divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_1 start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = divide start_ARG italic_q end_ARG start_ARG 4 end_ARG end_CELL end_ROW end_ARG }

The detail proof can be seen in [WG18]

4.1.2 ADMM Iteration Step

We concatenate the decision variables 𝒙,𝒚,𝒘𝒙𝒚𝒘\bm{x},\bm{y},\bm{w}bold_italic_x , bold_italic_y , bold_italic_w to form a variable vector 𝒗=[𝒙,𝒚,𝒘]T𝒗superscript𝒙𝒚𝒘T\bm{v}=[\bm{x},\bm{y},\bm{w}]^{\mathrm{T}}bold_italic_v = [ bold_italic_x , bold_italic_y , bold_italic_w ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT. We directly replace the binary constraints with them in (𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT). We introduce auxiliary variables 𝒆1subscript𝒆1\bm{e}_{1}bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in box space Sb=[0,1]qsubscript𝑆𝑏superscript01𝑞S_{b}=[0,1]^{q}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT = [ 0 , 1 ] start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT and auxiliary variables 𝒆2subscript𝒆2\bm{e}_{2}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in sphere space Sp={𝒆2:|𝒆212𝟏q22=q4}S_{p}=\{\bm{e}_{2}:|\|\bm{e}_{2}-\frac{1}{2}\bm{1}_{q}\|_{2}^{2}=\frac{q}{4}\}italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = { bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT : | ∥ bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_1 start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = divide start_ARG italic_q end_ARG start_ARG 4 end_ARG }, where q=(N+1)M+(N+1)L+(N+2)M𝑞𝑁1𝑀𝑁1𝐿𝑁2𝑀q=(N+1)M+(N+1)L+(N+2)Mitalic_q = ( italic_N + 1 ) italic_M + ( italic_N + 1 ) italic_L + ( italic_N + 2 ) italic_M.

Since (𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT) is an ILP problem, we can use matrix and vector to rewrite it as compact form as follows:

(𝒫3)subscript𝒫3\displaystyle(\mathcal{P}_{3})( caligraphic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) min𝒗,𝒆1,𝒆2𝐟𝒗subscript𝒗subscript𝒆1subscript𝒆2superscript𝐟top𝒗\displaystyle\min_{\bm{v},\bm{e}_{1},\bm{e}_{2}}\mathbf{f}^{\top}\bm{v}roman_min start_POSTSUBSCRIPT bold_italic_v , bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT bold_f start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_v
s.t.:𝐀1𝒗=𝐠1subscript𝐀1𝒗subscript𝐠1\mathbf{A}_{1}\bm{v}=\mathbf{g}_{1}bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_v = bold_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT,
𝐀2𝒗+𝐡=𝐠2,subscript𝐀2𝒗𝐡subscript𝐠2\displaystyle\mathbf{A}_{2}\bm{v}+\mathbf{h}=\mathbf{g}_{2},bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_v + bold_h = bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ,
𝒗=𝒆1=𝒆2,𝒗subscript𝒆1subscript𝒆2\displaystyle\bm{v}=\bm{e}_{1}=\bm{e}_{2},bold_italic_v = bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ,
 𝒆1Sb, 𝒆2Sp,𝐠+q.formulae-sequence subscript𝒆1subscript𝑆𝑏formulae-sequence subscript𝒆2subscript𝑆𝑝𝐠superscriptsubscript𝑞\text{ }\bm{e}_{1}\in S_{b},\text{ }\bm{e}_{2}\in S_{p},\mathbf{g}\in\mathbb{R% }_{+}^{q}.bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT , bold_g ∈ blackboard_R start_POSTSUBSCRIPT + end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT .

Where the specific definition of each matrix and vector in (𝒫3subscript𝒫3\mathcal{P}_{3}caligraphic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT) can be found in Appendix A. Therefore, our ADMM update step is based on the following augmented Lagrangian expression:

𝒜=𝒜absent\displaystyle\mathcal{LA}=caligraphic_L caligraphic_A = 𝐟𝒗+𝒌1(𝒗𝒆1)+𝒌2(𝒗𝒆2)+𝒌3(𝐀1𝒗𝐠1)superscript𝐟top𝒗subscriptsuperscript𝒌top1𝒗subscript𝒆1subscriptsuperscript𝒌top2𝒗subscript𝒆2subscriptsuperscript𝒌top3subscript𝐀1𝒗subscript𝐠1\displaystyle\mathbf{f}^{\top}\bm{v}+\bm{k}^{\top}_{1}(\bm{v}-\bm{e}_{1})+\bm{% k}^{\top}_{2}(\bm{v}-\bm{e}_{2})+\bm{k}^{\top}_{3}(\mathbf{A}_{1}\bm{v}-% \mathbf{g}_{1})bold_f start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_v + bold_italic_k start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_v - bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) + bold_italic_k start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( bold_italic_v - bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) + bold_italic_k start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_v - bold_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) (12)
+𝒌4(𝐀2𝒗+𝐡𝐠2)subscriptsuperscript𝒌top4subscript𝐀2𝒗𝐡subscript𝐠2\displaystyle+\bm{k}^{\top}_{4}(\mathbf{A}_{2}\bm{v}+\mathbf{h}-\mathbf{g}_{2})+ bold_italic_k start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ( bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_v + bold_h - bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT )
+ρ12𝒗𝒆122+ρ22𝒗𝒆222subscript𝜌12subscriptsuperscriptnorm𝒗subscript𝒆122subscript𝜌22subscriptsuperscriptnorm𝒗subscript𝒆222\displaystyle+\frac{\rho_{1}}{2}\|\bm{v}-\bm{e}_{1}\|^{2}_{2}+\frac{\rho_{2}}{% 2}\|\bm{v}-\bm{e}_{2}\|^{2}_{2}+ divide start_ARG italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∥ bold_italic_v - bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + divide start_ARG italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∥ bold_italic_v - bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT
+ρ32𝐀1𝒗𝐠122+ρ42𝐀2𝒗+𝐡𝐠222subscript𝜌32subscriptsuperscriptnormsubscript𝐀1𝒗subscript𝐠122subscript𝜌42subscriptsuperscriptnormsubscript𝐀2𝒗𝐡subscript𝐠222\displaystyle+\frac{\rho_{3}}{2}\|\mathbf{A}_{1}\bm{v}-\mathbf{g}_{1}\|^{2}_{2% }+\frac{\rho_{4}}{2}\|\mathbf{A}_{2}\bm{v}+\mathbf{h}-\mathbf{g}_{2}\|^{2}_{2}+ divide start_ARG italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∥ bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_v - bold_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + divide start_ARG italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∥ bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_v + bold_h - bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT

Here, 𝒌1,𝒌2,𝒌3,𝒌4subscript𝒌1subscript𝒌2subscript𝒌3subscript𝒌4\bm{k}_{1},\bm{k}_{2},\bm{k}_{3},\bm{k}_{4}bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT indicate dual variables, while ρ1,ρ2,ρ3,ρ4subscript𝜌1subscript𝜌2subscript𝜌3subscript𝜌4\rho_{1},\rho_{2},\rho_{3},\rho_{4}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT are positive penalty parameters.

Input : ADMM parameters and 𝒗0superscript𝒗0\bm{v}^{0}bold_italic_v start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT, 𝒌10superscriptsubscript𝒌10\bm{k}_{1}^{0}bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT, 𝒌20superscriptsubscript𝒌20\bm{k}_{2}^{0}bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT, 𝒌30superscriptsubscript𝒌30\bm{k}_{3}^{0}bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT, 𝒌40superscriptsubscript𝒌40\bm{k}_{4}^{0}bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT.
Output : [𝒙,𝒚,𝒘]superscript𝒙superscript𝒚superscript𝒘[\bm{x}^{\dagger},\bm{y}^{\dagger},\bm{w}^{\dagger}][ bold_italic_x start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , bold_italic_y start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , bold_italic_w start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ]
while not converged do
       update (𝒆1t+1,𝒆2t+1,𝒉t+1)superscriptsubscript𝒆1𝑡1superscriptsubscript𝒆2𝑡1superscript𝒉𝑡1(\bm{e}_{1}^{t+1},\bm{e}_{2}^{t+1},\bm{h}^{t+1})( bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT , bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT , bold_italic_h start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT ) according to Eqs.(13)(14)(15)
       update 𝒗t+1superscript𝒗𝑡1\bm{v}^{t+1}bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT by solving Eqs.(16)
       update (𝒌1t+1,𝒌2t+1,𝒌3t+1,𝒌4t+1)superscriptsubscript𝒌1𝑡1superscriptsubscript𝒌2𝑡1superscriptsubscript𝒌3𝑡1superscriptsubscript𝒌4𝑡1(\bm{k}_{1}^{t+1},\bm{k}_{2}^{t+1},\bm{k}_{3}^{t+1},\bm{k}_{4}^{t+1})( bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT , bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT , bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT , bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT ) as shown in Eqs.(17)
      
return [𝒙,𝒚,𝒘]=𝒗t+1superscript𝒙superscript𝒚superscript𝒘superscript𝒗𝑡1[\bm{x}^{\dagger},\bm{y}^{\dagger},\bm{w}^{\dagger}]=\bm{v}^{t+1}[ bold_italic_x start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , bold_italic_y start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , bold_italic_w start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ] = bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT
Algorithm 1 sphere-box ADMM

Update e1t+1superscriptsubscript𝑒1𝑡1\bm{e}_{1}^{t+1}bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT. We need to solve a sub-problem with respect to 𝒆1subscript𝒆1\bm{e}_{1}bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as follows:

(𝒮𝒫3)𝒆1t+1=argmin𝒆1Sb𝒌1(𝒗t𝒆1)+ρ12𝒗t𝒆122.𝒮subscript𝒫3superscriptsubscript𝒆1𝑡1subscriptsubscript𝒆1subscript𝑆𝑏superscriptsubscript𝒌1topsuperscript𝒗𝑡subscript𝒆1subscript𝜌12superscriptsubscriptnormsuperscript𝒗𝑡subscript𝒆122(\mathcal{SP}_{3})\bm{e}_{1}^{t+1}=\arg\min_{\bm{e}_{1}\in S_{b}}\bm{k}_{1}^{% \top}(\bm{v}^{t}-\bm{e}_{1})+\frac{\rho_{1}}{2}\|\bm{v}^{t}-\bm{e}_{1}\|_{2}^{% 2}.( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) + divide start_ARG italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∥ bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT .

This is a quadratic problem with box constraints. We relax the box constraint. The relaxed problem is a simple quadratic problem which can be solved by setting its gradient to zero. The optimal solution is 𝒆1=𝒗t+1ρ1(𝒌1t)superscriptsubscript𝒆1superscript𝒗𝑡1subscript𝜌1superscriptsuperscriptsubscript𝒌1𝑡top\bm{e}_{1}^{\ast}=\bm{v}^{t}+\frac{1}{\rho_{1}}(\bm{k}_{1}^{t})^{\top}bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG ( bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT. Since the contour of the objective function has a spherical shape, the optimal solution of (𝒮𝒫3𝒮subscript𝒫3\mathcal{SP}_{3}caligraphic_S caligraphic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT) is the point closest to 𝒆1superscriptsubscript𝒆1\bm{e}_{1}^{\ast}bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in Sbsubscript𝑆𝑏S_{b}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT. Since each of the faces of Sbsubscript𝑆𝑏S_{b}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT is perpendicular to each other, the point can be found by projecting 𝒆1superscriptsubscript𝒆1\bm{e}_{1}^{\ast}bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT vertically onto each dimension and limit the coordinates to between 0 and 1. This projection process can be expressed in the following mathematical form:

𝐏Sb(𝒆1)=min(𝟏,max(𝒆1,𝟎)).subscript𝐏subscript𝑆𝑏superscriptsubscript𝒆11superscriptsubscript𝒆10\mathbf{P}_{S_{b}}(\bm{e}_{1}^{\ast})=\min(\mathbf{1},\max(\bm{e}_{1}^{\ast},% \mathbf{0})).bold_P start_POSTSUBSCRIPT italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) = roman_min ( bold_1 , roman_max ( bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , bold_0 ) ) .

Therefore, the optimal solution of (𝒮𝒫3)𝒮subscript𝒫3(\mathcal{SP}_{3})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) is:

𝒆1t+1=𝐏Sb(𝒗t+1ρ1(𝒌1t)).superscriptsubscript𝒆1𝑡1subscript𝐏subscript𝑆𝑏superscript𝒗𝑡1subscript𝜌1superscriptsuperscriptsubscript𝒌1𝑡top\bm{e}_{1}^{t+1}=\mathbf{P}_{S_{b}}(\bm{v}^{t}+\frac{1}{\rho_{1}}(\bm{k}_{1}^{% t})^{\top}).bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT = bold_P start_POSTSUBSCRIPT italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG ( bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ) . (13)

Update e2t+1superscriptsubscript𝑒2𝑡1\bm{e}_{2}^{t+1}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT. We need to solve a sub-problem with respect to 𝒆2subscript𝒆2\bm{e}_{2}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT as follows:

(𝒮𝒫4)𝒆2t+1=argmin𝒆2Sp𝒌2(𝒗t𝒆2)+ρ22𝒗t𝒆222.𝒮subscript𝒫4superscriptsubscript𝒆2𝑡1subscriptsubscript𝒆2subscript𝑆𝑝superscriptsubscript𝒌2topsuperscript𝒗𝑡subscript𝒆2subscript𝜌22superscriptsubscriptnormsuperscript𝒗𝑡subscript𝒆222(\mathcal{SP}_{4})\bm{e}_{2}^{t+1}=\arg\min_{\bm{e}_{2}\in S_{p}}\bm{k}_{2}^{% \top}(\bm{v}^{t}-\bm{e}_{2})+\frac{\rho_{2}}{2}\|\bm{v}^{t}-\bm{e}_{2}\|_{2}^{% 2}.( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT end_POSTSUBSCRIPT bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) + divide start_ARG italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∥ bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT .

This is a quadratic problem with a non-convex constraint Spsubscript𝑆𝑝S_{p}italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, which is a (q1)𝑞1(q-1)( italic_q - 1 )-dimensional sphere centered at 12𝟏121\frac{1}{2}\mathbf{1}divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_1 with radius q2𝑞2\frac{\sqrt{q}}{2}divide start_ARG square-root start_ARG italic_q end_ARG end_ARG start_ARG 2 end_ARG. We relax the sphere constraints. The relaxed problem is a simple quadratic problem which can be solved by setting its gradient to zero. The optimal solution is 𝒆2=𝒗t+1ρ2(𝒌2t)superscriptsubscript𝒆2superscript𝒗𝑡1subscript𝜌2superscriptsuperscriptsubscript𝒌2𝑡top\bm{e}_{2}^{\ast}=\bm{v}^{t}+\frac{1}{\rho_{2}}(\bm{k}_{2}^{t})^{\top}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG ( bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT. Since the contour of the objective function has a spherical shape, the optimal solution of the original sub-problem is the point closest to 𝒆2superscriptsubscript𝒆2\bm{e}_{2}^{\ast}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in the hollow sphere shell defined by Spsubscript𝑆𝑝S_{p}italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. The point is where the line between 12𝟏q12subscript1𝑞\frac{1}{2}\mathbf{1}_{q}divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_1 start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT and 𝒆2superscriptsubscript𝒆2\bm{e}_{2}^{\ast}bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT intersects the sphere Spsubscript𝑆𝑝S_{p}italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. This projection process can be expressed in the following mathematical form:

𝐏Sp(𝒆2)=q2𝒆2¯𝒆2¯2+12𝟏.subscript𝐏subscript𝑆𝑝superscriptsubscript𝒆2𝑞2¯superscriptsubscript𝒆2subscriptnorm¯superscriptsubscript𝒆22121\mathbf{P}_{S_{p}}(\bm{e}_{2}^{\ast})=\frac{\sqrt{q}}{2}\frac{\bar{\bm{e}_{2}^% {\ast}}}{\|\bar{\bm{e}_{2}^{\ast}}\|_{2}}+\frac{1}{2}\mathbf{1}.bold_P start_POSTSUBSCRIPT italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) = divide start_ARG square-root start_ARG italic_q end_ARG end_ARG start_ARG 2 end_ARG divide start_ARG over¯ start_ARG bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_ARG end_ARG start_ARG ∥ over¯ start_ARG bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG + divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_1 .

where 𝒆𝟐¯=𝒆2𝟏q¯superscriptsubscript𝒆2bold-∗superscriptsubscript𝒆2subscript1𝑞\bar{\bm{e_{2}^{\ast}}}=\bm{e}_{2}^{\ast}-\mathbf{1}_{q}over¯ start_ARG bold_italic_e start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT bold_∗ end_POSTSUPERSCRIPT end_ARG = bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - bold_1 start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT. Therefore, (𝒮𝒫4)𝒮subscript𝒫4(\mathcal{SP}_{4})( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) can be exactly solved by the following closed-form solution:

𝒆2t+1=𝐏Sp(𝒗t+1ρ2(𝒌2t)).superscriptsubscript𝒆2𝑡1subscript𝐏subscript𝑆𝑝superscript𝒗𝑡1subscript𝜌2superscriptsuperscriptsubscript𝒌2𝑡top\bm{e}_{2}^{t+1}=\mathbf{P}_{S_{p}}(\bm{v}^{t}+\frac{1}{\rho_{2}}(\bm{k}_{2}^{% t})^{\top}).bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT = bold_P start_POSTSUBSCRIPT italic_S start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG ( bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ) . (14)

Update ht+1superscript𝑡1\bm{h}^{t+1}bold_italic_h start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT. Update the auxiliary variable 𝒉𝒉\bm{h}bold_italic_h as the following method:

𝒉t+1=max(𝟎,𝐠2𝚼2𝒗t).superscript𝒉𝑡10subscript𝐠2subscript𝚼2superscript𝒗𝑡\bm{h}^{t+1}=\max(\mathbf{0},\mathbf{g}_{2}-\mathbf{\Upsilon}_{2}\bm{v}^{t}).bold_italic_h start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT = roman_max ( bold_0 , bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - bold_Υ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_v start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ) . (15)

Update vt+1superscript𝑣𝑡1\bm{v}^{t+1}bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT. We are required to solve three strongly convex quadratic problem without any constraints. We set the partial derivatives of the augmented lagrangian formula \mathcal{L}caligraphic_L with respect to the variables 𝒗𝒗\bm{v}bold_italic_v.

𝒜𝒗=𝐟+𝒌1+𝒌2+𝐀1𝒌3+𝐀2𝒌4+ρ1(𝒗𝒆1)+ρ2(𝒗𝒆2)+ρ3𝐀1(𝐀1𝒗𝐠)+ρ4𝐀2(𝐀2𝒗+𝐡𝐠2)𝒜𝒗𝐟subscript𝒌1subscript𝒌2superscriptsubscript𝐀1topsubscript𝒌3superscriptsubscript𝐀2topsubscript𝒌4subscript𝜌1𝒗subscript𝒆1subscript𝜌2𝒗subscript𝒆2subscript𝜌3superscriptsubscript𝐀1topsubscript𝐀1𝒗𝐠subscript𝜌4superscriptsubscript𝐀2topsubscript𝐀2𝒗𝐡subscript𝐠2\begin{split}\frac{\partial\mathcal{LA}}{\partial\bm{v}}=&\mathbf{f}+\bm{k}_{1% }+\bm{k}_{2}+\mathbf{A}_{1}^{\top}\bm{k}_{3}+\mathbf{A}_{2}^{\top}\bm{k}_{4}\\ &+\rho_{1}(\bm{v}-\bm{e}_{1})+\rho_{2}(\bm{v}-\bm{e}_{2})\\ &+\rho_{3}\mathbf{A}_{1}^{\top}(\mathbf{A}_{1}\bm{v}-\mathbf{g})+\rho_{4}% \mathbf{A}_{2}^{\top}(\mathbf{A}_{2}\bm{v}+\mathbf{h}-\mathbf{g}_{2})\end{split}start_ROW start_CELL divide start_ARG ∂ caligraphic_L caligraphic_A end_ARG start_ARG ∂ bold_italic_v end_ARG = end_CELL start_CELL bold_f + bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_v - bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) + italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( bold_italic_v - bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_v - bold_g ) + italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_v + bold_h - bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_CELL end_ROW

We rearrange these above equation as the following positive-definite linear system for 𝐯𝐯\mathbf{v}bold_v:

(𝒮𝒫4)((ρ1+ρ2)𝐈+ρ3𝐀1𝐀1+ρ4𝐀2𝐀2)𝒗t+1=ρ1𝒆1t+1+ρ2𝒆2t+1+ρ3𝐀1𝐠1+ρ4𝐀2(𝐠2𝐡)𝐟𝒌1t𝒌2t𝐀1𝒌3t𝐀2𝒌4t𝒮subscript𝒫4subscript𝜌1subscript𝜌2𝐈subscript𝜌3superscriptsubscript𝐀1topsubscript𝐀1subscript𝜌4superscriptsubscript𝐀2topsubscript𝐀2superscript𝒗𝑡1subscript𝜌1superscriptsubscript𝒆1𝑡1subscript𝜌2superscriptsubscript𝒆2𝑡1subscript𝜌3superscriptsubscript𝐀1topsubscript𝐠1subscript𝜌4superscriptsubscript𝐀2topsubscript𝐠2𝐡𝐟superscriptsubscript𝒌1𝑡superscriptsubscript𝒌2𝑡superscriptsubscript𝐀1topsuperscriptsubscript𝒌3𝑡superscriptsubscript𝐀2topsuperscriptsubscript𝒌4𝑡\begin{split}(\mathcal{SP}_{4})\Bigl{(}(&\rho_{1}+\rho_{2})\mathbf{I}+\rho_{3}% \mathbf{A}_{1}^{\top}\mathbf{A}_{1}+\rho_{4}\mathbf{A}_{2}^{\top}\mathbf{A}_{2% }\Bigr{)}\bm{v}^{t+1}\\ =&\rho_{1}\bm{e}_{1}^{t+1}+\rho_{2}\bm{e}_{2}^{t+1}+\rho_{3}\mathbf{A}_{1}^{% \top}\mathbf{g}_{1}+\rho_{4}\mathbf{A}_{2}^{\top}(\mathbf{g}_{2}-\mathbf{h})\\ &-\mathbf{f}-\bm{k}_{1}^{t}-\bm{k}_{2}^{t}-\mathbf{A}_{1}^{\top}\bm{k}_{3}^{t}% -\mathbf{A}_{2}^{\top}\bm{k}_{4}^{t}\end{split}start_ROW start_CELL ( caligraphic_S caligraphic_P start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) ( ( end_CELL start_CELL italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) bold_I + italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT + italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT + italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - bold_h ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL - bold_f - bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT - bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT end_CELL end_ROW (16)

For (𝒮𝒫5𝒮subscript𝒫5\mathcal{SP}_{5}caligraphic_S caligraphic_P start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT), there are many efficient algorithms available. We can obtain the solution of the problem quickly by adopting preconditioned conjugated gradient (PCG) method, especially for large sparse matrices.

Update duality variables. We let γ𝛾\gammaitalic_γ to be update step for duality variables:

{𝒌1t+1=𝒌1t+ρ1(𝒗t+1𝒆1t+1)𝒌2t+1=𝒌2t+ρ2(𝒗t+1𝒆2t+1)𝒌3t+1=𝒌3t+γρ3(𝐀1𝒗t+1𝐠1)𝒌4t+1=𝒌4t+γρ4(𝐀2𝒗t+1+𝐡t+1𝐠2)casessuperscriptsubscript𝒌1𝑡1absentsuperscriptsubscript𝒌1𝑡subscript𝜌1superscript𝒗𝑡1superscriptsubscript𝒆1𝑡1superscriptsubscript𝒌2𝑡1absentsuperscriptsubscript𝒌2𝑡subscript𝜌2superscript𝒗𝑡1superscriptsubscript𝒆2𝑡1superscriptsubscript𝒌3𝑡1absentsuperscriptsubscript𝒌3𝑡𝛾subscript𝜌3subscript𝐀1superscript𝒗𝑡1subscript𝐠1superscriptsubscript𝒌4𝑡1absentsuperscriptsubscript𝒌4𝑡𝛾subscript𝜌4subscript𝐀2superscript𝒗𝑡1superscript𝐡𝑡1subscript𝐠2\begin{cases}\bm{k}_{1}^{t+1}&=\bm{k}_{1}^{t}+\rho_{1}(\bm{v}^{t+1}-\bm{e}_{1}% ^{t+1})\\ \bm{k}_{2}^{t+1}&=\bm{k}_{2}^{t}+\rho_{2}(\bm{v}^{t+1}-\bm{e}_{2}^{t+1})\\ \bm{k}_{3}^{t+1}&=\bm{k}_{3}^{t}+\gamma\rho_{3}(\mathbf{A}_{1}\bm{v}^{t+1}-% \mathbf{g}_{1})\\ \bm{k}_{4}^{t+1}&=\bm{k}_{4}^{t}+\gamma\rho_{4}(\mathbf{A}_{2}\bm{v}^{t+1}+% \mathbf{h}^{t+1}-\mathbf{g}_{2})\end{cases}{ start_ROW start_CELL bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT end_CELL start_CELL = bold_italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT - bold_italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT end_CELL start_CELL = bold_italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT - bold_italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT end_CELL start_CELL = bold_italic_k start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + italic_γ italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT - bold_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT end_CELL start_CELL = bold_italic_k start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT + italic_γ italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ( bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_v start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT + bold_h start_POSTSUPERSCRIPT italic_t + 1 end_POSTSUPERSCRIPT - bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_CELL end_ROW (17)

4.2 Rounding Policy

Even though above sphere-box ADMM can provide a solution whose elements are close to 0 or 1, simple rounding may still results in solution that do not satisfy the constraints. Because the hard constraints in (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) are regarded as soft constraints and put into the augmented Lagrangian expression (12), simple rounding sometimes does not yield feasible solution. For example, when y1,1=0.98subscriptsuperscript𝑦110.98y^{\dagger}_{1,1}=0.98italic_y start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT = 0.98 the storage resource of SCN-1111 is just completely occupied, layer-1111 actually can not be deployed at SCN-1111. The microservice whose images requires layer-1111 can not be deployed at SCN-1111. This results some task assignments in 𝒘superscript𝒘\bm{w}^{\dagger}bold_italic_w start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT are impracticable. Therefore, we design a novel rounding policy according to the problem.

Input : [𝐱,𝐲]superscript𝐱superscript𝐲[\mathbf{x}^{\dagger},\mathbf{y}^{\dagger}][ bold_x start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , bold_y start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ]
Output : [𝐱,𝐲]superscript𝐱superscript𝐲[\mathbf{x}^{\ddagger},\mathbf{y}^{\ddagger}][ bold_x start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT , bold_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT ]
Initialize 𝐱=𝟎,𝐲=𝟎formulae-sequencesuperscript𝐱0superscript𝐲0\mathbf{x}^{\ddagger}=\mathbf{0},\mathbf{y}^{\ddagger}=\mathbf{0}bold_x start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = bold_0 , bold_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = bold_0 and 𝐰=𝟎superscript𝐰0\mathbf{w}^{\ddagger}=\mathbf{0}bold_w start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = bold_0
for n=1𝑛1n=1italic_n = 1 to N+1𝑁1N+1italic_N + 1 do
       flag=True𝑓𝑙𝑎𝑔𝑇𝑟𝑢𝑒flag=Trueitalic_f italic_l italic_a italic_g = italic_T italic_r italic_u italic_e,
       Consider 𝐲n,lsuperscriptsubscript𝐲𝑛𝑙\mathbf{y}_{n,l}^{\dagger}bold_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT descendingly
       while flag=True𝑓𝑙𝑎𝑔𝑇𝑟𝑢𝑒flag=Trueitalic_f italic_l italic_a italic_g = italic_T italic_r italic_u italic_e do
             if l=1LKlyn,lSnsuperscriptsubscript𝑙1𝐿subscript𝐾𝑙superscriptsubscript𝑦𝑛𝑙subscript𝑆𝑛\sum_{l=1}^{L}K_{l}{y}_{n,l}^{\ddagger}\leq S_{n}∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT italic_K start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT ≤ italic_S start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT then
                   Sn=SnKlsubscript𝑆𝑛subscript𝑆𝑛subscript𝐾𝑙S_{n}=S_{n}-K_{l}italic_S start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_S start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - italic_K start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT
                   Set yn,l=1superscriptsubscript𝑦𝑛𝑙1y_{n,l}^{\ddagger}=1italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 1,
            else
                   Set flag=False𝑓𝑙𝑎𝑔𝐹𝑎𝑙𝑠𝑒flag=Falseitalic_f italic_l italic_a italic_g = italic_F italic_a italic_l italic_s italic_e
            
      
for n=1𝑛1n=1italic_n = 1 to N+1𝑁1N+1italic_N + 1 do
       for i=1𝑖1i=1italic_i = 1 to I𝐼Iitalic_I do
             if Hi,lyn,l,lformulae-sequencesubscript𝐻𝑖𝑙subscriptsuperscript𝑦𝑛𝑙for-all𝑙H_{i,l}\leq y^{\ddagger}_{n,l},\forall l\in\mathcal{L}italic_H start_POSTSUBSCRIPT italic_i , italic_l end_POSTSUBSCRIPT ≤ italic_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT , ∀ italic_l ∈ caligraphic_L then
                   Set xn,i=1,superscriptsubscript𝑥𝑛𝑖1x_{n,i}^{\ddagger}=1,italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 1 ,
            else
                   Set xn,i=0,superscriptsubscript𝑥𝑛𝑖0x_{n,i}^{\ddagger}=0,italic_x start_POSTSUBSCRIPT italic_n , italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 0 ,
            
      
return [𝐱,𝐲].superscript𝐱superscript𝐲[\mathbf{x}^{\ddagger},\mathbf{y}^{\ddagger}].[ bold_x start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT , bold_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT ] .
Algorithm 2 Iterative Greedy Algorithm
Input : [𝐱,𝐲,𝐰]superscript𝐱superscript𝐲superscript𝐰[\mathbf{x}^{\ddagger},\mathbf{y}^{\ddagger},\mathbf{w}^{\dagger}][ bold_x start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT , bold_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT , bold_w start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ]
Output : [𝐳,𝐰]superscript𝐳superscript𝐰[\mathbf{z}^{\ddagger},\mathbf{w}^{\ddagger}][ bold_z start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT , bold_w start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT ]
Set Θ=Θ\Theta=\varnothingroman_Θ = ∅
for u=1𝑢1u=1italic_u = 1 to U𝑈Uitalic_U do
       m=argmax{wu,m|m𝒩{N+2}}superscript𝑚conditionalsuperscriptsubscript𝑤𝑢𝑚𝑚𝒩𝑁2m^{\ast}=\arg\max\{{w}_{u,m}^{\dagger}|m\in\mathcal{N}\cup\{N+2\}\}italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = roman_arg roman_max { italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT | italic_m ∈ caligraphic_N ∪ { italic_N + 2 } }
       if xm,Mu=1subscript𝑥superscript𝑚subscript𝑀𝑢1x_{m^{\ast},M_{u}}=1italic_x start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1 and CmGMusubscript𝐶superscript𝑚subscript𝐺subscript𝑀𝑢C_{m^{\ast}}\geq G_{M_{u}}italic_C start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ≥ italic_G start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT then
             Set wu,m=1subscript𝑤𝑢superscript𝑚1w_{u,m^{\ast}}=1italic_w start_POSTSUBSCRIPT italic_u , italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = 1
             Cm=CmGMusubscript𝐶superscript𝑚subscript𝐶superscript𝑚subscript𝐺subscript𝑀𝑢C_{m^{\ast}}=C_{m^{\ast}}-G_{M_{u}}italic_C start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT - italic_G start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT
      else
             Set m1=argminm{ξu,m| xm,Mu=1, m𝒩{N+2}}subscript𝑚1subscript𝑚conditionalsubscript𝜉𝑢𝑚 superscriptsubscript𝑥𝑚subscript𝑀𝑢1 𝑚𝒩𝑁2m_{1}=\arg\displaystyle\min_{m}\{\xi_{u,m}|\text{ }x_{m,M_{u}}^{\ddagger}=1,% \text{ }m\in\mathcal{N}\cup\{N+2\}\}italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT { italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT italic_m , italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 1 , italic_m ∈ caligraphic_N ∪ { italic_N + 2 } }, m2=argminm{ξu,m|xm,Mu=1,m(𝒩{N+2}){m1}}subscript𝑚2subscript𝑚conditionalsubscript𝜉𝑢𝑚superscriptsubscript𝑥𝑚subscript𝑀𝑢1𝑚𝒩𝑁2subscript𝑚1m_{2}=\arg\displaystyle\min_{m}\{\xi_{u,m}|x_{m,M_{u}}^{\ddagger}=1,m\in(% \mathcal{N}\cup\{N+2\})\setminus\{m_{1}\}\}italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT { italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT italic_m , italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 1 , italic_m ∈ ( caligraphic_N ∪ { italic_N + 2 } ) ∖ { italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT } }.
             Set ϰu=ξu,m2ξ_u,m1subscriptitalic-ϰ𝑢subscript𝜉𝑢subscript𝑚2𝜉_𝑢subscript𝑚1\varkappa_{u}=\xi_{u,m_{2}}-\xi\_{u,m_{1}}italic_ϰ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT = italic_ξ start_POSTSUBSCRIPT italic_u , italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_ξ _ italic_u , italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT,
             Add u𝑢uitalic_u to ΘΘ\Thetaroman_Θ
      
while ΘΘ\Theta\neq\varnothingroman_Θ ≠ ∅ do
       u=argmaxu{ϰu|uΘ}superscript𝑢subscript𝑢conditionalsubscriptitalic-ϰ𝑢𝑢Θu^{\ast}=\arg\displaystyle\max_{u}\{\varkappa_{u}|u\in\Theta\}italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = roman_arg roman_max start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT { italic_ϰ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT | italic_u ∈ roman_Θ }
       Set Δ={n|ξu,m=1,m𝒩{N+2}}Δconditional-setsuperscript𝑛formulae-sequencesubscript𝜉superscript𝑢𝑚1𝑚𝒩𝑁2\Delta=\{n^{\prime}|\xi_{u^{\ast},m}=1,m\in\mathcal{N}\cup\{N+2\}\}roman_Δ = { italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | italic_ξ start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_m end_POSTSUBSCRIPT = 1 , italic_m ∈ caligraphic_N ∪ { italic_N + 2 } }
       while ΔΔ\Delta\neq\varnothingroman_Δ ≠ ∅ do
             Set m=argminm{ξu,m|mΔ}superscript𝑚subscript𝑚conditionalsubscript𝜉𝑢𝑚𝑚Δm^{\ast}=\arg\displaystyle\min_{m}\{\xi_{u,m}|m\in\Delta\}italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT { italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT | italic_m ∈ roman_Δ }
             if m=N+2superscript𝑚𝑁2m^{\ast}=N+2italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = italic_N + 2 then
                   Set wu,N+2=1subscript𝑤superscript𝑢𝑁21w_{u^{\ast},N+2}=1italic_w start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_N + 2 end_POSTSUBSCRIPT = 1
                   break;
            else if xm,Mu=1superscriptsubscript𝑥superscript𝑚subscript𝑀superscript𝑢1x_{m^{\ast},M_{u^{\ast}}}^{\ddagger}=1italic_x start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_M start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 1 and CmFMusubscript𝐶𝑚subscript𝐹subscript𝑀superscript𝑢C_{m{\ast}}\geq F_{M_{u^{\ast}}}italic_C start_POSTSUBSCRIPT italic_m ∗ end_POSTSUBSCRIPT ≥ italic_F start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT then
                   Set wu,m=1superscriptsubscript𝑤superscript𝑢superscript𝑚1w_{u^{\ast},m^{\ast}}^{\ddagger}=1italic_w start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT = 1
                   Cm=CmGMusubscript𝐶superscript𝑚subscript𝐶superscript𝑚subscript𝐺subscript𝑀superscript𝑢C_{m^{\ast}}=C_{m^{\ast}}-G_{M_{u^{\ast}}}italic_C start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT - italic_G start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT
                   break;
            else
                   Δ=Δ{m}ΔΔsuperscript𝑚\Delta=\Delta\setminus\{m^{\ast}\}roman_Δ = roman_Δ ∖ { italic_m start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT }
            
      Θ=Θ{u}ΘΘsuperscript𝑢\Theta=\Theta\setminus\{u^{\ast}\}roman_Θ = roman_Θ ∖ { italic_u start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT }
Set 𝐳superscript𝐳\mathbf{z}^{\ddagger}bold_z start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT according to eqs(9)
return [𝐳,𝐰]superscript𝐳superscript𝐰[\mathbf{z}^{\ddagger},\mathbf{w}^{\ddagger}][ bold_z start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT , bold_w start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT ]
Algorithm 3 Heuristic Assignment

The rounding policy is composed of two subroutines. First, considering both 𝒚superscript𝒚\bm{y}^{\dagger}bold_italic_y start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT and storage constraints, we get layer deployment strategy 𝒚superscript𝒚\bm{y}^{\ddagger}bold_italic_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT. Specifically, we view yn,lsuperscriptsubscript𝑦𝑛𝑙y_{n,l}^{\dagger}italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT as the priority of layer-l𝑙litalic_l deployment at SCN-n𝑛nitalic_n. We greedily deploy the layers with higher priority until the SCN can not deploy the next high priority layer. By doing this, layer deployment strategy 𝒚superscript𝒚\bm{y}^{\ddagger}bold_italic_y start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT. Then we can obtain microservice deployment strategy 𝒙superscript𝒙\bm{x}^{\ddagger}bold_italic_x start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT by checking if all layers required have been deployed. The pseudo-code can be seen in Algorithm 2.

Second, we will obtain task assignment strategy 𝒘superscript𝒘\bm{w}^{\ddagger}bold_italic_w start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT, based on 𝒙superscript𝒙\bm{x}^{\ddagger}bold_italic_x start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT. Experiment indicates that the largest element of 𝒘usuperscriptsubscript𝒘𝑢\bm{w}_{u}^{\dagger}bold_italic_w start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT is usually close to 1 where the gap is smaller than 0.020.020.020.02 while other elements are very close to 0. We iteratively assign task for every user. For MU-u𝑢uitalic_u, when wu,nsuperscriptsubscript𝑤𝑢𝑛w_{u,n}^{\dagger}italic_w start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT is the largest element of 𝒘usuperscriptsubscript𝒘𝑢\bm{w}_{u}^{\ddagger}bold_italic_w start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT, if SCN-n𝑛nitalic_n is available we assign his task to SCN-n𝑛nitalic_n. Otherwise, we put u𝑢uitalic_u in set ΘΘ\Thetaroman_Θ.

Next we need to consider the task assignment for the users in ΘΘ\Thetaroman_Θ. It’s a general assignment problem (GAP) when we regard the computing resource of SCN as the size of an agent, the required computing resource of a task as the size of a task, the latency as the cost of a task. And the size of the GAP problem for ΔΔ\Deltaroman_Δ is much smaller than the GAP problem for the whole 𝒰𝒰\mathcal{U}caligraphic_U. For u𝒰𝑢𝒰u\in\mathcal{U}italic_u ∈ caligraphic_U, we use ϰusubscriptitalic-ϰ𝑢\varkappa_{u}italic_ϰ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT to denote the difference between the second shortest latency and the shortest latency among the SCNs which has deployed corresponding microservice. Then according to the descending order of ϰusubscriptitalic-ϰ𝑢\varkappa_{u}italic_ϰ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT, we assign each user’s task to the available SCN whose latency is shortest. Finally, according to the solution 𝐰superscript𝐰\mathbf{w}^{\ddagger}bold_w start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT and (10) we obtain 𝐳superscript𝐳\mathbf{z}^{\ddagger}bold_z start_POSTSUPERSCRIPT ‡ end_POSTSUPERSCRIPT. The pseudo-code can be seen in Algorithm 3.

4.3 Algorithm Complexity

The complexity of our algorithm is mainly reflected in sphere-box ADMM. According to [WG18], the computational complexity of sphere-box algorithm is determined by the number of iterations and the computational complexity of each round. Each iteration our algorithm need to solve a linear equation system, the complexity of such procedure is smaller than O(q3)𝑂superscript𝑞3O(q^{3})italic_O ( italic_q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ). Due to the sparsity of the linear equations, PCG algorithm can solved the problem with linear complexity. The number of iteration depends on requirement, more iterations yield a solution closer to binary solution. Our computation experience shows that when the number of iterations is greater than the number of variables, the difference between the elements of the output solution and 0 or 1 is less than 0.020.020.020.02. The complexity of rounding policy is O(q)𝑂𝑞O(q)italic_O ( italic_q ). Therefore, our algorithm is within complexity O(q4)𝑂superscript𝑞4O(q^{4})italic_O ( italic_q start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT )

5 Performance Evaluation

5.1 Microservice Request Trace

In order to make our experiment more reliable, we analyzed Alibaba’s cluster-trace-microservice-2021[LXL+21]. This dataset records 1300 micorservices that were requested on Alibaba cloud over a 12-hour period. We counted the frequency with which these microservices are requested and show them from highest to lowest in Fig.2.

Refer to caption

Figure 2: Request Distribution

Refer to caption

Figure 3: Scenario Sketch

The vertical axis represents the portion of microservices requested during this period, and the horizontal axis represents the transition from the most requested microservice to the least requested one. We can see clearly that the portion of requests for these microservices follows a long-tail distribution. Among the 1300 microservices, the 263 most frequently requested microservices accounted for 90%percent9090\%90 % of user requests. Such a long-tail distribution suggests that it is reasonable in our model to allow some microservice images to be deployed on multiple SCNs and some microservice imaged not to be deployed on the edge. Deploying all kinds of microservices like [GZH+21b, GZH+21a] is expensive in storage and contributes little to improve users’ experience.

Refer to caption
(a) The impact of workload
Refer to caption
(b) The impact of storage capacity
Refer to caption
(c) The impact of computation capacity
Figure 4: The impact of (a)workload, (b)storage resource capacity, (c)computation resource capacity on global latency at heterogeneous edge network under first popularity
Refer to caption
(a) The impact of workload
Refer to caption
(b) The impact of storage capacity
Refer to caption
(c) The impact of computation capacity
Figure 5: The impact of (a)workload, (b)storage resource capacity, (c)computation resource capacity on the number of microservice containers at heterogeneous edge network under first popularity
Refer to caption
(a) The impact of workload
Refer to caption
(b) The impact of storage capacity
Refer to caption
(c) The impact of computation capacity
Figure 6: The impact of (a)workload, (b)storage resource capacity, (c)computation resource capacity on global latency at homogeneous edge network under first popularity
Refer to caption
(a) The impact of workload
Refer to caption
(b) The impact of storage capacity
Refer to caption
(c) The impact of computation capacity
Figure 7: The impact of (a)workload, (b)storage resource capacity, (c)computation resource capacity on the number of microservice containers at homogeneous edge network under first popularity
Refer to caption
(a) The impact of workload
Refer to caption
(b) The impact of storage capacity
Refer to caption
(c) The impact of computation capacity
Figure 8: The impact of (a)workload, (b)storage resource capacity, (c)computation resource capacity on global latency at heterogeneous edge network under second popularity
Refer to caption
(a) The impact of workload
Refer to caption
(b) The impact of storage capacity
Refer to caption
(c) The impact of computation capacity
Figure 9: The impact of (a)workload, (b)storage resource capacity, (c)computation resource capacity on the number of microservice containers at heterogeneous edge network under second popularity
Refer to caption
(a) The impact on global latency
Refer to caption
(b) The impact on container number
Figure 10: The impact of SCN density on global latency and the number of microservice containers at heterogeneous edge network under first popularity

5.2 Experiment Settings

We consider an MCN with an effective coverage area of 1km radius, and its storage and computing capacities are 2250BM and 3GHz respectively. In this area, there are 100 users whose location obeys random two-dimensional Poisson distribution. There are 15 SCNs with an effective coverage area of 350m radius whose location also obeys random two-dimensional Poisson distribution but with lower density. The SCNs are directly connected to each other with a certain probability. Considering the practice that two directly connected SCNs are often placed in the same area or close to each other where wired or fast wireless connections can be used [PIA+16, AP15]. There is a negative correlation between the probability of edge between two SCNs and the distance between them. Based on above settings, one of the scenarios generated is shown in Fig.3. The SCNs are equipped with finite storage capacity and computing capacity in range 500MBsimilar-to\sim1500MB and 1.6GHzsimilar-to\sim2.4GHz. In this case, we choose 20 different microservices and they are composed of 116 different layers with size in range 10MB similar-to\sim 400MB. Each microservice consists of 48similar-to484\sim 84 ∼ 8 layers and 12%51%similar-topercent12percent5112\%\sim 51\%12 % ∼ 51 % of the image are shareable layers. Each microservice required computing resource is in range 0.15GHz0.45GHzsimilar-to0.15GHz0.45GHz\text{0.15GHz}\sim\text{0.45GHz}0.15GHz ∼ 0.45GHz. The data size of tasks is randomly distributed between 5 Mbit and 20 Mbit[ZZQ+20].

Wireless Communication Model. Our method can be applied to any wireless communication model, this paper chooses a common model to study. We use pu=23subscript𝑝𝑢23p_{u}=23italic_p start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT = 23 dbm to denote the transmitting power of MU-u𝑢uitalic_u. All the signals experiences path loss with the same loss exponent α=4𝛼4\alpha=4italic_α = 4. Therefore, the received power for SCN-n𝑛nitalic_n from MU-u𝑢uitalic_u is puDPuQnαsubscript𝑝𝑢𝐷superscriptnormsubscript𝑃𝑢subscript𝑄𝑛𝛼p_{u}D\|P_{u}-Q_{n}\|^{-\alpha}italic_p start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT italic_D ∥ italic_P start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT - italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT - italic_α end_POSTSUPERSCRIPT, where D𝐷Ditalic_D denote the channel power gains which are Rayleigh distributed with unitary average power, Dexp(1)similar-to𝐷𝑒𝑥𝑝1D\sim exp(1)italic_D ∼ italic_e italic_x italic_p ( 1 ). The power of the noise of all channels is the same σ2=1superscript𝜎21\sigma^{2}=1italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 1. Therefore, the uplink bandwidth can be calculated by Shannon formula as below:

Eu,n={Wlog2(1+δuHPuQn2σ2),if ϑu,n=10,otherwise.subscript𝐸𝑢𝑛cases𝑊subscript21subscript𝛿𝑢𝐻superscriptnormsubscript𝑃𝑢subscript𝑄𝑛2superscript𝜎2if ϑu,n=10otherwise.E_{u,n}=\begin{cases}W\log_{2}(1+\frac{\delta_{u}H\|P_{u}-Q_{n}\|^{2}}{\sigma^% {2}}),&\text{if $\vartheta_{u,n}=1$}\\ 0,&\text{otherwise.}\end{cases}italic_E start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = { start_ROW start_CELL italic_W roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( 1 + divide start_ARG italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT italic_H ∥ italic_P start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT - italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) , end_CELL start_CELL if italic_ϑ start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT = 1 end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL otherwise. end_CELL end_ROW

The bandwidth between the SCNs, SCN and MCN, MCN and central cloud are 30 similar-to\sim 45 Mbps, 8 similar-to\sim 12 Mbps and 20 Mbps respectively[SHND19]. For the wireless upload of user data, we set the channel bandwidth W𝑊Witalic_W allocated to a user by SCN or MCN 6MHz[ZKA21].

To evaluate the performance of our algorithm, we have prepared three benchmark algorithms. These benchmarks are used to solve (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) directly instead of solving (𝒫1)subscript𝒫1(\mathcal{P}_{1})( caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ).

The benchmark algorithms are Latency Difference Greedy (LDG) algorithm, Microservice Deployment Greedy (MDG) algorithm, Greedy Rounding(GR) algorithm, respectively [GZH+21a]. We also explored Random Rounding(RR) algorithm inspired by [GCX+22]. Due to the large size of our problem and strong mutual dependency between microservice deployment and task assignment, RR cannot obtain a feasible solution even in hours.

Latency Difference Greedy(LDG). We calculate the difference between the second lowest latency and the lowest latency for each user. The larger the difference is, the higher priority is given the task assignment. In descending order of priority, we assign the task to the SCN with lowest latency and deploy the corresponding microservice.

Microservice Deployment Greedy(MDG). Each SCN preferentially deploys the microservices that are requested more frequently in the coverage area until the storage space is insufficient to deploy more microservice. Then it greedily assigns the user’s task to the available SCN with lowest latency.

Greedy Rounding(GR). This algorithm is inspired by [GZH+21a]. This algorithm relaxes (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) as a LP problem and adopts ADMM to solve it and then greedily rounds the liner solution into integer solution.

In addition, we also present the optimal solution which is called (IP) of (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) by time-consuming branch and bound algorithm.

We conduct four series of experiments to explore the impact of workload, storage resources, computing resources, and SCN density respectively. The edge networks in the first, third and forth series of experiments are heterogeneous, with each SCN having identical storage and computing capabilities while the edge networks in the second set of experiments are homogeneous. We simulated two different groups of microservice request popularity, respectively based on the distribution of microservice request in two different periods of time in Alibaba’s 2021 trace. The first, second and forth series of experiments are conducted with the first set of microservice popularity while the third experiment is conducted with the second set of microservice popularity.

We first show the impact of workload which can be expressed in terms of the number of users in the area. Fig.4(a), Fig.6(a) and Fig.8(a) show the impact of the workload on the global latency, with the number of users increasing from 40 to 100. As expected, the global latency tends to increase for all algorithms which is a natural phenomenon. These experimental results show that our algorithm outperforms benchmark algorithm and is close to the optimal policy in almost all cases. Comparing Fig.4(a) and Fig.6(a), it shows that under the same workload, the global latency in homogeneous edge networks is always lower than that in the in the heterogeneous network. This seems to indicate that homogeneous edge network may have better performance than heterogeneous edge network. However, this is not always true in other simulation experiments. The main reason is that the workload of each SCN is imbalanced, when the SCNs with more resource cover more user, grater portion of user can enjoy low-latency web service from nearby SCN. As shown in Fig.5(a), Fig.7(a) and Fig.9(a) with the increase of workload, more microservice container are running to provide web service. However, even when workload is low, the number of running containers is significantly smaller than the number of users. That is the storage capacity is the bottleneck of performance in this case so that some requested microservices are not deployed in the edge. Even though there are sufficient computing resource remains, tasks are still needed to be assigned to the central cloud.

Then we consider the average storage of SCNs varying from 500MB to 2000MB in Fig4(b), Fig6(b) and Fig8(b). As expected, increasing storage capacity will make the global latency tend to decrease for all algorithms because more kinds of microservice and more replicas can be deployed in the edge. More users can enjoy web service from a nearby SCN with low latency. The experiment results show that both in homogeneous networks and in the heterogeneous network, our algorithm outperforms other algorithms. In addition, the results show that the rate of latency reduction slows down as storage resources increase. This is because the limited computing resources gradually become the main factor affecting the performance improvement after the storage becomes sufficient. Fig.5(b), Fig.7(b) and Fig.9(b) show that as the storage resource increases, the number of containers running in the edge network also increase, which conforms our interpretation of the global latency decrease. It’s noticing that when storage capacity varies from 1600MB to 2000MB, the number of containers running in the edge decreases. The reason for this phenomenon is that the rounding strategy in the second step is heuristic which sometimes may outputs a relatively poor result.

Next, we explore the impact of computation capacity in Fig.4(c), Fig.6(c) and Fig.8(c). The average computation capacity varies from 0.5GHz to 3.0GHz. The global latency tends to decrease for all algorithms as the computational power increases. This is because the SCN can start more containers to provide service. The experiment results also show that the solution of our proposed algorithm is better than all other algorithms. In addition, the results show that the rate of latency reduction slows down as computing resources increase. This is because the limited storage resources gradually become the main factor affecting the performance improvement after the computing resource becomes sufficient. As shown in Fig.5(c), Fig.7(c) and Fig.9(c), our algorithm can run more containers in the edge in most situations. As a result of our optimization goal is global delay, the more the number of tasks performed on the edge of the network, does not necessarily mean lower latency.

Last but not least, we will show the effect of SCN density in Fig.10(a) and Fig.10(b). As the number of SCNs increases from 5 to 15, the global latency decreases. One reason is that, as shown in Fig.10(b), with the increase of the number of SCNs, the total computing resource of the edge network increases, and more users are served by the edge. Another reason is that more users can uploading data to a nearby SCN instead of uploading data to MCN with longer latency. As the number of SCNs grows from 11 to 13, the global latency decreases sharply while the number of containers increases gently. After analyzing, it is found that SCN-12121212 just covers a large number of users at the edge of the area who are covered only by MCN before. They suffer terrible network condition when they upload their data to MCN. SCN-12121212 enables them to enjoy low latency web service. This phenomenon just validates our second explanation for the latency reduction.

6 Conclusion

In this paper, we consider both 5G edge network with densely deployed SCNs and the prominent layer structure of microservice. To study microservice deployment, layer deployment, AP selection and task assignment, we formulate a BQP problem (𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) to minimize the global latency. We decompose it and transform it to an ILP form (𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT). We propose sphere-box ADMM and a heuristic rounding policy to solve it. By analyzing alibaba’s trace, we design simulation experiments. And the results show the efficiency of our algorithm.

References

  • [AP15] Weng Chon Ao and Konstantinos Psounis. Distributed caching and small cell cooperation for fast content delivery. In Proceedings of the 16th ACM international symposium on mobile ad hoc networking and computing, pages 127–136, 2015.
  • [FFRR15] Wes Felter, Alexandre Ferreira, Ram Rajamony, and Juan Rubio. An updated performance comparison of virtual machines and linux containers. In 2015 IEEE international symposium on performance analysis of systems and software (ISPASS), pages 171–172. IEEE, 2015.
  • [GCX+22] Lin Gu, Zirui Chen, Honghao Xu, Deze Zeng, Bo Li, and Hai Jin. Layer-aware collaborative microservice deployment toward maximal edge throughput. In IEEE INFOCOM 2022-IEEE Conference on Computer Communications, pages 71–79. IEEE, 2022.
  • [GZH+21a] Lin Gu, Deze Zeng, Jie Hu, Hai Jin, Song Guo, and Albert Y Zomaya. Exploring layered container structure for cost efficient microservice deployment. In IEEE INFOCOM 2021-IEEE Conference on Computer Communications, pages 1–9. IEEE, 2021.
  • [GZH+21b] Lin Gu, Deze Zeng, Jie Hu, Bo Li, and Hai Jin. Layer aware microservice placement and request scheduling at the edge. In IEEE INFOCOM 2021-IEEE Conference on Computer Communications, pages 1–9. IEEE, 2021.
  • [HH18] Lih-Tyng Hwang and Tzyy-sheng Jason Horng. 3D IC and RF SiPs: Advanced Stacking and Planar Solutions for 5G Mobility. John Wiley & Sons, 2018.
  • [HNN+18] Dinh Thai Hoang, Dusit Niyato, Diep N Nguyen, Eryk Dutkiewicz, Ping Wang, and Zhu Han. A dynamic edge caching framework for mobile 5g networks. IEEE Wireless Communications, 25(5):95–103, 2018.
  • [HSL+16] Tyler Harter, Brandon Salmon, Rose Liu, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. Slacker: Fast distribution with lazy docker containers. In 14th USENIX Conference on File and Storage Technologies (FAST 16), pages 181–195, 2016.
  • [KFF+18] Sami Kekki, Walter Featherstone, Yonggang Fang, Pekka Kuure, Alice Li, Anurag Ranjan, Debashish Purkayastha, Feng Jiangping, Danny Frydman, Gianluca Verin, et al. Mec in 5g networks. ETSI white paper, 28(2018):1–28, 2018.
  • [LAMC19] Yan Li, Bo An, Junming Ma, and Donggang Cao. Comparison between chunk-based and layer-based container image storage approaches: an empirical study. In 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), pages 197–1975. IEEE, 2019.
  • [LHL+21] Quyuan Luo, Shihong Hu, Changle Li, Guanghui Li, and Weisong Shi. Resource scheduling in edge computing: A survey. IEEE Communications Surveys & Tutorials, 23(4):2131–2165, 2021.
  • [LXL+21] Shutian Luo, Huanle Xu, Chengzhi Lu, Kejiang Ye, Guoyao Xu, Liping Zhang, Yu Ding, Jian He, and Chengzhong Xu. Characterizing microservice dependency and performance: Alibaba trace analysis. In Proceedings of the ACM Symposium on Cloud Computing, pages 412–426, 2021.
  • [LYCT17] Kuikui Li, Chenchen Yang, Zhiyong Chen, and Meixia Tao. Optimization and analysis of probabilistic caching in n𝑛nitalic_n-tier heterogeneous networks. IEEE Transactions on Wireless Communications, 17(2):1283–1297, 2017.
  • [ÖBT10] Lale Özbakir, Adil Baykasoğlu, and Pınar Tapkan. Bees algorithm for generalized assignment problem. Applied Mathematics and Computation, 215(11):3782–3795, 2010.
  • [PIA+16] Konstantinos Poularakis, George Iosifidis, Antonios Argyriou, Iordanis Koutsopoulos, and Leandros Tassiulas. Caching and operator cooperation policies for layered video content delivery. In IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on Computer Communications, pages 1–9. IEEE, 2016.
  • [PIST16] Konstantinos Poularakis, George Iosifidis, Vasilis Sourlas, and Leandros Tassiulas. Exploiting caching and multicast for 5g wireless networks. IEEE Transactions on Wireless Communications, 15(4):2995–3007, 2016.
  • [RN16] Flávio Ramalho and Augusto Neto. Virtualization at the network edge: A performance comparison. In 2016 IEEE 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM), pages 1–6. IEEE, 2016.
  • [SHND19] Yuris Mulya Saputra, Dinh Thai Hoang, Diep N Nguyen, and Eryk Dutkiewicz. A novel mobile edge network architecture with joint caching-delivering and horizontal cooperation. IEEE Transactions on Mobile Computing, 20(1):19–31, 2019.
  • [SJMW19] Amit Samanta, Lei Jiao, Max Mühlhäuser, and Lin Wang. Incentivizing microservices for online resource sharing in edge clouds. In 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), pages 420–430. IEEE, 2019.
  • [WG18] Baoyuan Wu and Bernard Ghanem. p-box admm: A versatile framework for integer programming. IEEE transactions on pattern analysis and machine intelligence, 41(7):1695–1708, 2018.
  • [WLZ+18] Liang Wang, Mengyuan Li, Yinqian Zhang, Thomas Ristenpart, and Michael Swift. Peeking behind the curtains of serverless platforms. In 2018 USENIX Annual Technical Conference (USENIX ATC 18), pages 133–146, 2018.
  • [ZKA21] Yongqiang Zhang, Mustafa A Kishk, and Mohamed-Slim Alouini. Computation offloading and service caching in heterogeneous mec wireless networks. IEEE Transactions on Mobile Computing, 22(6):3241–3256, 2021.
  • [ZZQ+20] Ruiting Zhou, Xueying Zhang, Shixin Qin, John CS Lui, Zhi Zhou, Hao Huang, and Zongpeng Li. Online task offloading for 5g small cell networks. IEEE Transactions on Mobile Computing, 21(6):2103–2115, 2020.
[Uncaptioned image] Haojie Yan received the B.Eng. degree from the School of Information Science and Technology, Fudan University, Shanghai, China, in 2021. He is currently pursuing the M.S. degree at Fudan University, Shanghai, China. His research interests include deep reinforcement learning, mixed integer programming.
[Uncaptioned image] Yuedong Xu received the B.S. degree from Anhui University, the M.S. degree from the Huazhong University of Science and Technology, and the Ph.D. degree from The Chinese University of Hong Kong. From 2009 to 2012, he held a post-doctoral position with INRIA Sophia Antipolis and Universite d’Avignon, France. He is a Professor with the School of Information Science and Technology, Fudan University, China. He has published nearly 20 conference and journal papers in premium vents such as CoNEXT, Mobisys, Mobihoc, Infocom and IEEE/ACM ToN. His research interests include performance evaluation, optimization, machine learning and economic analysis of communication networks and mobile computing.
Liangui Dai Liangui Dai received Ph.D. degree in Control Theory and Application from Northeastern University, ShenYang, China in 1997. He is a senior researcher with the intelligent transportation system (ITS) research institute of Guangdong Litong Corp. His research interests include data analytics of ITS and information system development for ITS.

Appendix A Specific definition fro matrix and vector

There are N𝑁Nitalic_N inequation in constraint 2. We can use a matrix 𝚿n,nL+l1=Klsuperscriptsubscript𝚿𝑛𝑛𝐿𝑙1subscript𝐾𝑙\mathbf{\Psi}_{n,nL+l}^{1}=K_{l}bold_Ψ start_POSTSUBSCRIPT italic_n , italic_n italic_L + italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT = italic_K start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and a vector 𝝉1=𝐒superscript𝝉1𝐒\bm{\tau}^{1}=\mathbf{S}bold_italic_τ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT = bold_S to rewritten them as a compact form as follows:

𝚿1𝒚𝝉1.superscript𝚿1𝒚superscript𝝉1\mathbf{\Psi}^{1}\bm{y}\leq\bm{\tau}^{1}.bold_Ψ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT bold_italic_y ≤ bold_italic_τ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT . (18)

There are LI𝐿𝐼LIitalic_L italic_I inequality constraints in constraint 3. We user a matrix 𝚽nIL+iL+l,nI+i2=Hi,lsubscriptsuperscript𝚽2𝑛𝐼𝐿𝑖𝐿𝑙𝑛𝐼𝑖subscript𝐻𝑖𝑙\mathbf{\Phi}^{2}_{nIL+iL+l,nI+i}=H_{i,l}bold_Φ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n italic_I italic_L + italic_i italic_L + italic_l , italic_n italic_I + italic_i end_POSTSUBSCRIPT = italic_H start_POSTSUBSCRIPT italic_i , italic_l end_POSTSUBSCRIPT, 𝚿2(nIL+iL+l,nL+l)=1subscript𝚿2𝑛𝐼𝐿𝑖𝐿𝑙𝑛𝐿𝑙1\mathbf{\Psi}_{2}(nIL+iL+l,nL+l)=-1bold_Ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_n italic_I italic_L + italic_i italic_L + italic_l , italic_n italic_L + italic_l ) = - 1 and a vector 𝝉2=𝟎superscript𝝉20\bm{\tau}^{2}=\mathbf{0}bold_italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = bold_0to rewrite constraints as below compact form:

𝚽2𝒙+𝚿2𝒚𝝉2.superscript𝚽2𝒙superscript𝚿2𝒚superscript𝝉2\mathbf{\Phi}^{2}\bm{x}+\mathbf{\Psi}^{2}\bm{y}\leq\bm{\tau}^{2}.bold_Φ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT bold_italic_x + bold_Ψ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT bold_italic_y ≤ bold_italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT . (19)

We can use the matrix 𝛀n,n(N+2)+n3=1subscriptsuperscript𝛀3𝑛𝑛𝑁2𝑛1\mathbf{\Omega}^{3}_{n,n(N+2)+n}=1bold_Ω start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n , italic_n ( italic_N + 2 ) + italic_n end_POSTSUBSCRIPT = 1 and vector 𝝉3=𝟏superscript𝝉31\bm{\tau}^{3}=\mathbf{1}bold_italic_τ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT = bold_1 to rewrite the equations in constraint (6) as following compact form:

𝛀3𝒘=𝝉3.superscript𝛀3𝒘superscript𝝉3\mathbf{\Omega}^{3}\bm{w}=\bm{\tau}^{3}.bold_Ω start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT bold_italic_w = bold_italic_τ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT . (20)

By defining matrix 𝚽u(N+1)n,Mu4=1subscriptsuperscript𝚽4𝑢𝑁1𝑛subscript𝑀𝑢1\mathbf{\Phi}^{4}_{u(N+1)n,M_{u}}=-1bold_Φ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_u ( italic_N + 1 ) italic_n , italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT = - 1, matrix 𝛀u(N+1)+n,u(N+2)+n4=1subscriptsuperscript𝛀4𝑢𝑁1𝑛𝑢𝑁2𝑛1\mathbf{\Omega}^{4}_{u(N+1)+n,u(N+2)+n}=1bold_Ω start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_u ( italic_N + 1 ) + italic_n , italic_u ( italic_N + 2 ) + italic_n end_POSTSUBSCRIPT = 1 and vector 𝝉4=𝟎U(N+2)superscript𝝉4subscript0𝑈𝑁2\bm{\tau}^{4}=\mathbf{0}_{U(N+2)}bold_italic_τ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT = bold_0 start_POSTSUBSCRIPT italic_U ( italic_N + 2 ) end_POSTSUBSCRIPT, constraints in (7) can be reorganized as following:

𝚽4𝒙+𝛀4𝒘𝝉4.superscript𝚽4𝒙superscript𝛀4𝒘superscript𝝉4\mathbf{\Phi}^{4}\bm{x}+\mathbf{\Omega}^{4}\bm{w}\leq\bm{\tau}^{4}.bold_Φ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT bold_italic_x + bold_Ω start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT bold_italic_w ≤ bold_italic_τ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT . (21)

Considering matrix 𝛀n,u(N+2)+n5=FMusubscriptsuperscript𝛀5𝑛𝑢𝑁2𝑛subscript𝐹subscript𝑀𝑢\mathbf{\Omega}^{5}_{n,u(N+2)+n}=F_{M_{u}}bold_Ω start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n , italic_u ( italic_N + 2 ) + italic_n end_POSTSUBSCRIPT = italic_F start_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT and vector 𝝉5=𝐂superscript𝝉5𝐂\bm{\tau}^{5}=\mathbf{C}bold_italic_τ start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT = bold_C, we obtain the equivalent expression of constraint (8):

𝛀5𝐰𝝉5.superscript𝛀5𝐰superscript𝝉5\mathbf{\Omega}^{5}\mathbf{w}\leq\bm{\tau}^{5}.bold_Ω start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT bold_w ≤ bold_italic_τ start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT . (22)

We introduce positive auxiliary variables 𝒉1subscript𝒉1\bm{h}_{1}bold_italic_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, 𝒉2subscript𝒉2\bm{h}_{2}bold_italic_h start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, 𝒉4subscript𝒉4\bm{h}_{4}bold_italic_h start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT and 𝒉5subscript𝒉5\bm{h}_{5}bold_italic_h start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT to transform the inequality constraints in constraint (18),(19),(21),(22) to equality constraints:

𝚿1𝒚+𝒉1superscript𝚿1𝒚subscript𝒉1\displaystyle\mathbf{\Psi}^{1}\bm{y}+\bm{h}_{1}bold_Ψ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT bold_italic_y + bold_italic_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT =𝝉1, 𝒉1+(N+1),formulae-sequenceabsentsuperscript𝝉1 subscript𝒉1superscriptsubscript𝑁1\displaystyle=\bm{\tau}^{1},\text{ }\bm{h}_{1}\in\mathbb{R}_{+}^{(N+1)},= bold_italic_τ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT , bold_italic_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUBSCRIPT + end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_N + 1 ) end_POSTSUPERSCRIPT , (23)
𝚽2𝒙+𝚿2𝒚+𝒉2superscript𝚽2𝒙superscript𝚿2𝒚subscript𝒉2\displaystyle\mathbf{\Phi}^{2}\bm{x}+\mathbf{\Psi}^{2}\bm{y}+\bm{h}_{2}bold_Φ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT bold_italic_x + bold_Ψ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT bold_italic_y + bold_italic_h start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT =𝝉2, 𝒉2+(N+1)ML,formulae-sequenceabsentsuperscript𝝉2 subscript𝒉2superscriptsubscript𝑁1𝑀𝐿\displaystyle=\bm{\tau}^{2},\text{ }\bm{h}_{2}\in\mathbb{R}_{+}^{(N+1)ML},= bold_italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , bold_italic_h start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUBSCRIPT + end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_N + 1 ) italic_M italic_L end_POSTSUPERSCRIPT , (24)
𝚽4𝒙+𝛀4𝒘+𝒉4superscript𝚽4𝒙superscript𝛀4𝒘subscript𝒉4\displaystyle\mathbf{\Phi}^{4}\bm{x}+\mathbf{\Omega}^{4}\bm{w}+\bm{h}_{4}bold_Φ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT bold_italic_x + bold_Ω start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT bold_italic_w + bold_italic_h start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT =𝝉4, 𝒉4+U(N+1),formulae-sequenceabsentsuperscript𝝉4 subscript𝒉4superscriptsubscript𝑈𝑁1\displaystyle=\bm{\tau}^{4},\text{ }\bm{h}_{4}\in\mathbb{R}_{+}^{U(N+1)},= bold_italic_τ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT , bold_italic_h start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUBSCRIPT + end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U ( italic_N + 1 ) end_POSTSUPERSCRIPT , (25)
𝛀5𝒘+𝒉5superscript𝛀5𝒘subscript𝒉5\displaystyle\mathbf{\Omega}^{5}\bm{w}+\bm{h}_{5}bold_Ω start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT bold_italic_w + bold_italic_h start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT =𝝉5, 𝒉5+(N+1).formulae-sequenceabsentsuperscript𝝉5 subscript𝒉5superscriptsubscript𝑁1\displaystyle=\bm{\tau}^{5},\text{ }\bm{h}_{5}\in\mathbb{R}_{+}^{(N+1)}.= bold_italic_τ start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT , bold_italic_h start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUBSCRIPT + end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_N + 1 ) end_POSTSUPERSCRIPT . (26)

Based on the above definition, the matrixes and vectors in (𝒫3subscript𝒫3\mathcal{P}_{3}caligraphic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT) are defined as following:

𝐟𝒗=u=1Um=1N+2ξu,mwu,m,superscript𝐟top𝒗superscriptsubscript𝑢1𝑈superscriptsubscript𝑚1𝑁2subscript𝜉𝑢𝑚subscript𝑤𝑢𝑚\mathbf{f}^{\top}\bm{v}=\displaystyle\sum_{u=1}^{U}\sum_{m=1}^{N+2}\xi_{u,m}w_% {u,m},bold_f start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_v = ∑ start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_U end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N + 2 end_POSTSUPERSCRIPT italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT ,
𝐀1=[00𝛀3],subscript𝐀1matrix00subscript𝛀3\mathbf{A}_{1}=\begin{bmatrix}\text{\Large 0}&\text{\Large 0}&\mathbf{\Omega}_% {3}\end{bmatrix},bold_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL bold_Ω start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] ,
𝐀2=[0𝚿10𝚽2𝚿20𝚽40𝛀400𝛀5],subscript𝐀2matrix0superscript𝚿10superscript𝚽2superscript𝚿20superscript𝚽40superscript𝛀400superscript𝛀5\mathbf{A}_{2}=\begin{bmatrix}\text{\Large 0}&\mathbf{\Psi}^{1}&\text{\Large 0% }\\ \mathbf{\Phi}^{2}&\mathbf{\Psi}^{2}&\text{\Large 0}\\ \mathbf{\Phi}^{4}&\text{\Large 0}&\mathbf{\Omega}^{4}\\ \text{\Large 0}&\text{\Large 0}&\mathbf{\Omega}^{5}\end{bmatrix},bold_A start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL 0 end_CELL start_CELL bold_Ψ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL bold_Φ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL bold_Ψ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL bold_Φ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT end_CELL start_CELL 0 end_CELL start_CELL bold_Ω start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL bold_Ω start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG ] ,
𝐠1=[𝝉3],subscript𝐠1superscriptdelimited-[]superscript𝝉3top\mathbf{g}_{1}=[\bm{\tau}^{3}]^{\top},bold_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = [ bold_italic_τ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ,
𝐠2=[𝝉1,𝝉2,𝝉4,𝝉5],subscript𝐠2superscriptsuperscript𝝉1superscript𝝉2superscript𝝉4superscript𝝉5top\mathbf{g}_{2}=[\bm{\tau}^{1},\bm{\tau}^{2},\bm{\tau}^{4},\bm{\tau}^{5}]^{\top},bold_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = [ bold_italic_τ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT , bold_italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , bold_italic_τ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT , bold_italic_τ start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ,
𝐡=[𝐡1,𝐡2,𝐡4,𝐡5].𝐡superscriptsubscript𝐡1subscript𝐡2subscript𝐡4subscript𝐡5top\mathbf{h}=[\mathbf{h}_{1},\mathbf{h}_{2},\mathbf{h}_{4},\mathbf{h}_{5}]^{\top}.bold_h = [ bold_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , bold_h start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , bold_h start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT , bold_h start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT .

Appendix B Notations

Notation Meaning
𝒩𝒩\mathcal{N}caligraphic_N Set of SCNs
𝒰𝒰\mathcal{U}caligraphic_U Set of users
\mathcal{I}caligraphic_I Set of microservices
\mathcal{L}caligraphic_L Set of layers
Snsubscript𝑆𝑛S_{n}italic_S start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT Storage capacity of SCN-n𝑛nitalic_n
Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT Computation capacity of SCN-n𝑛nitalic_n
Pnsubscript𝑃𝑛P_{n}italic_P start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT Place of SCN-n𝑛nitalic_n
Bn,msubscript𝐵𝑛𝑚B_{n,m}italic_B start_POSTSUBSCRIPT italic_n , italic_m end_POSTSUBSCRIPT Bandwidth between SCN-n𝑛nitalic_n and SCN-m𝑚mitalic_m
Hi,lsubscript𝐻𝑖𝑙H_{i,l}italic_H start_POSTSUBSCRIPT italic_i , italic_l end_POSTSUBSCRIPT Indicator whether layer-l𝑙litalic_l is required by MS-i𝑖iitalic_i
Klsubscript𝐾𝑙K_{l}italic_K start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT Size of layer-l𝑙litalic_l
Fisubscript𝐹𝑖F_{i}italic_F start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT Required computation by MS-i𝑖iitalic_i
Qnsubscript𝑄𝑛Q_{n}italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT The place of MU-n𝑛nitalic_n
Musubscript𝑀𝑢M_{u}italic_M start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT The microservice requested by MU-u𝑢uitalic_u
Rusubscript𝑅𝑢R_{u}italic_R start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT The size of data which MU-u𝑢uitalic_u want to process
pusubscript𝑝𝑢p_{u}italic_p start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT The transmitting power of MU-u𝑢uitalic_u’s device
Wu,nsubscript𝑊𝑢𝑛W_{u,n}italic_W start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT The bandwidth between MU-u𝑢uitalic_u and SCN-n𝑛nitalic_n
xu,isubscript𝑥𝑢𝑖x_{u,i}italic_x start_POSTSUBSCRIPT italic_u , italic_i end_POSTSUBSCRIPT Decision variable whether SCN-n𝑛nitalic_n deploys MS-i𝑖iitalic_i
yn,lsubscript𝑦𝑛𝑙y_{n,l}italic_y start_POSTSUBSCRIPT italic_n , italic_l end_POSTSUBSCRIPT Decision variable whether SCN-n𝑛nitalic_n deploys layer-l𝑙litalic_l
zu,nsubscript𝑧𝑢𝑛z_{u,n}italic_z start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT Decision variable whether MU-u𝑢uitalic_u connets to SCN-n𝑛nitalic_n
wu,msubscript𝑤𝑢𝑚w_{u,m}italic_w start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT Decision variable whether MU-u𝑢uitalic_u’s task is assigned to SCN-m𝑚mitalic_m
ϑu,nsubscriptitalic-ϑ𝑢𝑛\vartheta_{u,n}italic_ϑ start_POSTSUBSCRIPT italic_u , italic_n end_POSTSUBSCRIPT Indicator whether MU-u𝑢uitalic_u can connect to SCN-n𝑛nitalic_n
G𝐺\mathit{G}italic_G Topology of the edge network
ξu,msubscript𝜉𝑢𝑚\xi_{u,m}italic_ξ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT The lowest latency from MU-u𝑢uitalic_u to SCN-m𝑚mitalic_m
ζu,msubscript𝜁𝑢𝑚\zeta_{u,m}italic_ζ start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT The SCN which MU-u𝑢uitalic_u connects when xiu,m𝑥subscript𝑖𝑢𝑚xi_{u,m}italic_x italic_i start_POSTSUBSCRIPT italic_u , italic_m end_POSTSUBSCRIPT is achieved
q𝑞qitalic_q The number of variable in (𝒫2)subscript𝒫2(\mathcal{P}_{2})( caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT )
D𝐷Ditalic_D Wireless channel power gain
α𝛼\alphaitalic_α Wireless path channel loss