ieee transactions on network and service management 1...

14
IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal Approach for Energy-Aware SFC Deployment Behrooz Farkiani, Bahador Bakhshi and Seyyed Ali Mirhassani Abstract—Service function chaining along with network func- tion virtualization enable flexible and rapid provisioning of network services to meet increasing demand for short-lived services with diverse requirements. In this paradigm, the main question to be answered is how to deploy the requested services by means of creating virtual network function (VNF) instances and routing the traffic between them, according to the services specifications. In this paper, we define the energy aware service deployment problem, and present the ILP formulation of it by considering limited traffic processing capacity of VNF instances and management concerns. We apply the Benders decomposition technique to decompose the problem into two smaller problems: master and sub-problem. As it is NP-Hard to find a non-trivial solution to the ILP master problem, we resort to the relaxed LP version of the problem. Then, we design methods based on the feasibility pump and duality theorem to rapidly calculate a near-optimal integer solution. The extensive simulation results show even in a network with 24 switches and 40 servers, our algorithm can deploy 35 requests in less than 3 seconds while the total power consumption is only about 1.3 times of the optimal solution obtained by the exhaustive exact approach. Moreover, it significantly outperforms the prominent SFC deployment algorithms in the fat-tree topology. Index Terms—Service function chaining, network function virtualization, decomposition, duality. I. I NTRODUCTION N ETWORK services typically consist of several functions which traffic passes through in a specific order. Tradi- tionally, to deploy a service, the service provider obtains a dedicated physical device for each function, possibly from different vendors, and deploys them in the infrastructure. In addition, user traffic has to be processed in a specific predetermined order by the service functions which is made possible by physical cabling of the equipment. Recently, users’ need for diverse range of services with short lifespans and high traffic rates has increased, while at the same time, the lifespan of the equipment has shortened due to the accelerated speed of technology development. Therefore, service providers must constantly and continuously buy and deploy new physical equipment which increases their expenditures. Moreover, for any changes in a requested service or user relocation, the service provider may need to change the cabling, relocate the physical devices, or even change the topology of the network, which is hard, time-consuming, costly and severely limits any innovation in service design and delivery [1]–[3]. B. Farkiani and B. Bakhshi are with Department of Computer Engineering, Amirkabir University of Technology (Tehran Polytechnic), Iran (e-mail: [email protected], [email protected]) S. A. Mirhassani. is with Department of Mathematics and Computer Science, Amirkabir University of Technology (Tehran Polytechnic), Iran (e- mail: a [email protected]) Network Function Virtualization (NFV) and Service Func- tion Chaining (SFC) have been proposed as a solution to these problems. Using virtualization technologies, NFV allows us to run Virtual Network Functions (VNFs) inside a virtual machine or a docker container on commodity servers as a way of reducing the need for special-purpose hardware. In addition, NFV can potentially decrease service providers’ expenditures by increasing resource utilization through virtualization [1], [4]. SFC enables service providers to configure and make any changes in deployed network services dynamically without altering the physical cabling [3]. In this paradigm, a user-requested service is composed of several abstract functions such as NAT, firewall and the virtual links connecting them. SFC deployment that maps the abstract functions onto instances of VNFs and the virtual links onto routes within the physical network is the central problem. Different objectives can be pursued in the problem, such as maximizing profit or utilization and/or minimizing energy consumption, that will result in different mappings. Several studies have explored different variations of the SFC deployment problem [2], [5], [6]. Due to importance of energy consumption of communication networks and its environmen- tal effects [7] this paper focuses on energy-aware SFC deploy- ment problem. In this problem, the service provider deploys a set of requested services with the purpose of minimizing the total power consumption by considering limited processing, memory and bandwidth resources. While the problem has been studied in the literature [8], the existing system models are not rich enough to consider arbitrary input traffic rate to chains, limited processing capacity of VNF instances [9], sharing instances between chains, and enforcing deployment of each function in a set of permitted locations in a comprehensive model. Moreover, efficiency and scalability of the proposed solutions are questionable due to the NP-Hardness of the SFC deployment problem [9], [10]. To address these gaps, the paper answers this question: “A set of SFC requests and an infrastructure which has limited processing, memory, and bandwidth resources are given. How can an appropriate deployment of all the requests on the infrastructure be obtained with the goal of minimizing the total power consumption of the infrastructure switches and servers?” Henceforth, this problem is called Energy-Aware SFC Deployment (EA-SFCD). A. Contributions This paper proposes a rich system model for the EA-SFCD problem and formulates it as an ILP problem with the follow- ing characteristics: (1) takes into account the limited traffic

Upload: others

Post on 13-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1

A Fast Near-Optimal Approach for Energy-AwareSFC Deployment

Behrooz Farkiani, Bahador Bakhshi and Seyyed Ali Mirhassani

Abstract—Service function chaining along with network func-tion virtualization enable flexible and rapid provisioning ofnetwork services to meet increasing demand for short-livedservices with diverse requirements. In this paradigm, the mainquestion to be answered is how to deploy the requested servicesby means of creating virtual network function (VNF) instancesand routing the traffic between them, according to the servicesspecifications. In this paper, we define the energy aware servicedeployment problem, and present the ILP formulation of it byconsidering limited traffic processing capacity of VNF instancesand management concerns. We apply the Benders decompositiontechnique to decompose the problem into two smaller problems:master and sub-problem. As it is NP-Hard to find a non-trivialsolution to the ILP master problem, we resort to the relaxedLP version of the problem. Then, we design methods based onthe feasibility pump and duality theorem to rapidly calculate anear-optimal integer solution. The extensive simulation resultsshow even in a network with 24 switches and 40 servers, ouralgorithm can deploy 35 requests in less than 3 seconds whilethe total power consumption is only about 1.3 times of the optimalsolution obtained by the exhaustive exact approach. Moreover,it significantly outperforms the prominent SFC deploymentalgorithms in the fat-tree topology.

Index Terms—Service function chaining, network functionvirtualization, decomposition, duality.

I. INTRODUCTION

NETWORK services typically consist of several functionswhich traffic passes through in a specific order. Tradi-

tionally, to deploy a service, the service provider obtains adedicated physical device for each function, possibly fromdifferent vendors, and deploys them in the infrastructure.In addition, user traffic has to be processed in a specificpredetermined order by the service functions which is madepossible by physical cabling of the equipment. Recently, users’need for diverse range of services with short lifespans andhigh traffic rates has increased, while at the same time, thelifespan of the equipment has shortened due to the acceleratedspeed of technology development. Therefore, service providersmust constantly and continuously buy and deploy new physicalequipment which increases their expenditures. Moreover, forany changes in a requested service or user relocation, theservice provider may need to change the cabling, relocate thephysical devices, or even change the topology of the network,which is hard, time-consuming, costly and severely limits anyinnovation in service design and delivery [1]–[3].

B. Farkiani and B. Bakhshi are with Department of Computer Engineering,Amirkabir University of Technology (Tehran Polytechnic), Iran (e-mail:[email protected], [email protected])

S. A. Mirhassani. is with Department of Mathematics and ComputerScience, Amirkabir University of Technology (Tehran Polytechnic), Iran (e-mail: a [email protected])

Network Function Virtualization (NFV) and Service Func-tion Chaining (SFC) have been proposed as a solution tothese problems. Using virtualization technologies, NFV allowsus to run Virtual Network Functions (VNFs) inside a virtualmachine or a docker container on commodity servers as a wayof reducing the need for special-purpose hardware. In addition,NFV can potentially decrease service providers’ expendituresby increasing resource utilization through virtualization [1],[4]. SFC enables service providers to configure and make anychanges in deployed network services dynamically withoutaltering the physical cabling [3].

In this paradigm, a user-requested service is composed ofseveral abstract functions such as NAT, firewall and the virtuallinks connecting them. SFC deployment that maps the abstractfunctions onto instances of VNFs and the virtual links ontoroutes within the physical network is the central problem.Different objectives can be pursued in the problem, suchas maximizing profit or utilization and/or minimizing energyconsumption, that will result in different mappings.

Several studies have explored different variations of the SFCdeployment problem [2], [5], [6]. Due to importance of energyconsumption of communication networks and its environmen-tal effects [7] this paper focuses on energy-aware SFC deploy-ment problem. In this problem, the service provider deploys aset of requested services with the purpose of minimizing thetotal power consumption by considering limited processing,memory and bandwidth resources. While the problem has beenstudied in the literature [8], the existing system models are notrich enough to consider arbitrary input traffic rate to chains,limited processing capacity of VNF instances [9], sharinginstances between chains, and enforcing deployment of eachfunction in a set of permitted locations in a comprehensivemodel. Moreover, efficiency and scalability of the proposedsolutions are questionable due to the NP-Hardness of theSFC deployment problem [9], [10]. To address these gaps,the paper answers this question: “A set of SFC requestsand an infrastructure which has limited processing, memory,and bandwidth resources are given. How can an appropriatedeployment of all the requests on the infrastructure be obtainedwith the goal of minimizing the total power consumption of theinfrastructure switches and servers?” Henceforth, this problemis called Energy-Aware SFC Deployment (EA-SFCD).

A. Contributions

This paper proposes a rich system model for the EA-SFCDproblem and formulates it as an ILP problem with the follow-ing characteristics: (1) takes into account the limited traffic

Page 2: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 2

processing capacity of VNF instances, (2) the input traffic rateto an abstract function is not limited by the processing capacityof the corresponding VNF instance: the model can create morethan one instance and distribute the traffic between them (3)makes it possible to define a set of permitted locations forthe deployment of each function of each chain which makesmanaging the chains easier, (4) considers the possibility ofsharing instances between different chains which improvesresource utilization, (5) takes into account the current on/offstatus of the servers and the switches in the computation ofinfrastructure energy consumption.

Since finding a non-trivial feasible solution for an ILP prob-lem is NP-hard [11], this paper proposes a polynomial timealgorithm called PDDB (Primal Dual Decomposition-based)which is innovative in many aspects. First, the Benders decom-position algorithm [12] is utilized to improve the scalabilityof the algorithm. However, since the decomposed problemsare ILP, unlike classical methods that solve the decomposedproblems by using an ILP solver, we calculate an integersolution by using the relaxed LP version of the problems.Using the idea of primal-dual algorithms and analyzing thedual problem of the EA-SFCD, which is an LP problem, wecalculate an integer solution. Then, if the calculated solution isnot feasible, by utilizing the improved version of the feasibilitypump [11] algorithm, we calculate an integer feasible solutionclose to the computed infeasible solution.

The major contributions of this paper are as follows:• We define the EA-SFCD problem and propose a rich ILP

model for it.• By using the ideas of the Benders decomposition, the

feasibility pump and primal-dual algorithms, we proposea fast and scalable polynomial time algorithm calledPDDB to calculate a near-optimal solution to the EA-SFCD problem.

• Using extensive simulation, we compare the performanceof the PDDB algorithm with the exact and heuristicalgorithms. The results demonstrate that even in largeinstances of the problem, the PDDB can quickly find anear-optimal feasible solution while other algorithms failto find a feasible solution. Moreover, the PDDB can alsoimprove the calculated solution over time.

B. Paper Organization

The rest of this paper is organized as follows. In Section II,the most prominent research is categorized and discussed. Theproposed formulation of the EA-SFCD problem is explainedin Section III. In Section IV, we elaborate our solutionmethodology and evaluate the performance of it against theexact and heuristic algorithms. in Section V. Finally, SectionVI concludes this paper.

II. RELATED RESEARCH

Applications and challenges of network function virtual-ization and service function chaining have been investigatedthoroughly over the past few years [1], [2], [8]. In this section,we briefly review, classify and compare the most importantresearch on the deployment of the SFCs based on the following

aspects. The first is the objective of the deployment whichincludes a wide range from reducing the total cost or the num-ber of created instances to profit maximization. The second isconsidering the limited processing capacity of the created VNFinstances that implies either the service provider must createmore than one instance of a VNF and distribute traffic amongthem if the input traffic exceeds the capacity of one instanceor it must enforce a limit on the input traffic to the chains. Thethird aspect is the possibility of sharing the created instancesbetween multiple chains. Finally, researchers may deal withthe deployment problem in either online or offline approacheswhich is also considered in this comparison. In an offlineapproach all requests are known beforehand and processedtogether, while in an online approach, there is no informationabout subsequent requests during the processing of a request,and requests are received or processed independently.

In [13], the problem was modeled similar to a weightedgraph matching problem. Authors in [14], formulated a place-ment problem to minimize the average link utilization and thenumber of utilized servers. Lie et al. [15] focused on dynamicSFC deployment and readjustment. The authors assumed thatthe VNF instances could be shared between chains and eachinstance could support a limited number of users. In [16],authors considered instance sharing and limited processingcapacity of instances and formulated a problem to minimizethe deployment cost. In [9] and [17], a joint VNF placementand path assignment problem was addressed to maximize thesum rate of the admitted demands. The authors proved thateven finding a non-trivial feasible solution to the problemis NP-Hard. Moreover, an algorithm was proposed to solvethe problem in which requests are processed sequentially.Huin et al. proposed an offline problem with the objectiveof minimizing the bandwidth requirements in [3]. A columngeneration based heuristic methodology was presented, whichsolves a pricing problem formulated as an ILP model. In[18], the time varying workload of network functions wasconsidered. In [19], the authors considered traffic predictionand proposed a problem to minimize the cost incurred byinaccurate prediction and VNF deployment. The authors in[20] first designed a problem to forecast an upper bound ofthe traffic amount at each time instance. Then, another problemwas solved to determine the required number of instances ofeach function and their placements.

Pham et al. [21] assumed that there is only one physicalpath between each two servers with a known and limited band-width. Therefore, the authors focused only on the placement ofVNFs and omit the mapping of virtual links. Authors proposedan offline problem with the objective of minimizing the sumof operational and traffic costs. In [22], the authors formulateda VNF placement problem, aiming at minimizing the overallnetwork OPEX and physical resource fragmentation whereOPEX was comprised of energy cost, VNF deployment cost,cost of forwarding traffic, and penalty for SLO violation.

In article [10], the authors studied traffic changes over time,and by means of hot instance migration aimed to minimize theoperator’s cost which is composed of server energy consump-tion cost and revenue loss due to migration. In [23], the authorsfocused on cold migration. In [24], a physical infrastructure

Page 3: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 3

TABLE I: Summary of Related Research

Ref Instance Sharing Input Traffic Embedding Offline/Online Instance Throughput Energy

No Yes Limited Unlimited NotConsidered Links Functions Offline Online Unlimited Limited Server Switch

[13], [14] X X X X X X[15] X X X X X X[9] X X X X X X[3] X X X X X X[21] X X X X X X[22] X X X X X X X[24] X X X X X X X[26] X X X X X X X X[27] X X X X X X X

This Paper X X X X X X X X

with the specification presented in [25] was considered andjoint optimization of SFC placement and flow distribution wasformulated as an ILP problem with the objective of maximiz-ing the total acceptable flow rate and minimizing the energycosts. The authors took the limited processing capacity of VNFinstances into account and proposed a heuristic algorithm.

In [26], the authors considered the uncertainty in the re-quested resources and formulated an SFC placement problemwith the objective of minimizing the energy consumption. Theproblem was formulated using the Γ − Robust frameworkand a heuristic algorithm was proposed to solve it. In [27],an online SFC request placement problem with the objectiveof minimizing the total power consumption was formulated.The power model was composed of the computing power andforwarding power consumption. Albeit the authors omittedthe power consumption of the network switches. In addition,the authors assumed that each server could host at most onetype of function. In [28], a dynamic power saving model wasdeveloped using queuing theory. Using the model, a VNFplacement problem to minimize the energy consumption wasformulated and solved by a heuristic approach.

Reviewed studies are summarized in Table I. In the presentpaper, aiming at minimizing the total energy consumption ofthe infrastructure, an SFC deployment problem is formulatedby considering the limited traffic processing capacity of VNFinstances and permitting instance sharing. Moreover, we takemanagement concerns into account to let the service providerdetermine the allowed locations to deploy each function.

III. SYSTEM MODEL AND THE PROBLEM FORMULATION

In this section, we first describe the infrastructure modeland service requests. Then, we elaborate on the formulationof the EA-SFCD problem and illustrate it through an example.

A. Infrastructure Model

The infrastructure is comprised of servers and switches andmodeled as a directed graph G = (V,E). All infrastructurelinks are bi-directional and the available bandwidth in eachdirection can be different. Each directed link from node i tonode j, shown by pair (i, j), has a limited bandwidth capacitywhich is shown by RBW(i,j). The infrastructure networkservers have limited processing and memory resources andeach server is connected to only one switch. The set of theinfrastructure network switches and servers are respectively

denoted by V N and V S , and we define V = V S ∪ V N .We define a set of dummy servers, denoted by Dum, eachone represents an ingress/egress point of network traffic andconnect them to the network switches. Traffic from thesedummy servers goes inside the infrastructure network to beprocessed by the SFC functions. Moreover, traffic to theseservers goes outside the infrastructure network to be servedby the destination of the chains.

B. Service Request Model

A service requested by a user is modeled by a directed graphGv = (V v, Ev) which contains a source, a destination and aset of unique abstract functions. The graph Gv determines theorder of functions in the chain. We also assume the source andthe destination of the chains are outside of the infrastructurenetwork. The traffic from the source of a chain enters thenetwork, is processed by the functions and leaves the network.It is also assumed that for each abstract function there is acorresponding VNF, such as firewall VNF and NAT VNF. Touse a similar notation for all nodes, we also assume the sourceand destination of each chain are dummy functions and thecorresponding VNF is of type 0 with no resource requirements.The set of all VNF types is shown by F = {0, 1, 2, . . . F}.

The bandwidth of each virtual link (u, v) ∈ Gv is shownby BW (u, v) indicating the maximum volume of incomingtraffic from the node u to v within the chain. The source anddestination nodes of an SFC request can point to one of thedummy servers in set Dum or they can be defined as decisionvariables in the EA-SFCD problem.

C. Assumptions

We assume that the service provider has received a setof requests Q. Each request is modeled according to thedescriptions presented in the previous section, and node u ofchain q is shown by uq . Similar to [29], we assume that there isonly one deployment flavor for each type of VNF. The CPUand memory requirements as well as the traffic processingcapacity of each VNF instance are known and specified bythe flavor. Therefore, the service provider may need to createmore than one instance to process the input traffic to a functionif the input traffic to the function exceeds the traffic processingcapacity of one instance. Another implication of the flavors isthat an instance may have some unused processing capacity ifthe input traffic does not use all the capacity that is specified

Page 4: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 4

by the flavor. To utilize resources more efficiently and reducepower consumption, it is assumed that the unused capacityof instances can be shared among chains. For the sake ofsimplicity, it is assumed that all the instances created toprocess the traffic entering an abstract function of a chain mustbe deployed on one server and cannot be distributed amongseveral servers.

The service provider can determine the preferred and per-mitted locations for deploying function u of chain q on theinfrastructure servers, i ∈ V , which are presented in theproblem formulation by parameter ηq,ui ∈ {1, 0}. For example,the service provider may prefer that all firewall instances mustbe placed on a certain rack to facilitate their management.Moreover, the service provider must map the virtual linksonto the network physical paths with sufficient bandwidth. weassume each virtual link can be mapped onto one or severalpaths in the infrastructure network, each of which carries apart of the traffic, i.e. the virtual link mapping is reduced toa multi-commodity flow routing problem.

D. The Objective Function

In recent years, the power efficiency of IT infrastructurehas attracted a lot of attention due to the environmental andeconomic reasons. For example, the power efficiency of datacenters is now one of the main concerns of the data centeroperators ahead of traditional considerations of security andavailability [7]. The power consumed by IT infrastructure canbe divided into two general categories: the power consumedby IT-related equipment, such as servers, network, and storagedevices, and the power consumed by the infrastructure equip-ment, such as HVAC [7]. The amount of energy consumedby a data center heavily depends on the data center structure,installed equipment and their energy efficiency. For example,[7] attributed 23% of the total energy consumption to theservers and storage and 10% to the network hardware whileaccording to [30], [31] network devices consume up to 30%of whole energy consumption. In this study, similar to [26],aiming at reducing the energy cost, we focus only on thepower consumption of servers and communication networkand disregard the power consumption of other equipment.

As in [26], [7], and [32], the following equation is used tomodel the power consumed by the servers:

P iServer = P iidle+(P imax − P iidle

)× (# of allocated vCPUs)

(# of installed vCPUs)

where P iidle is the power consumption of i-th server inidle state and P imax is its maximum power consumption atfull utilization. To calculate the power consumption of thecommunication network, the model introduced in [31] is used,wherein, switch power consumption is modeled as follows:

P iSwitch = P istatic + (# of active ports)× P iportwhere P istatic is the power required for keeping the i-th switchand its chassis on, and P iport is the power required to turn aport on. Please note that using these linear power consumptionmodels enable us to compare our work to the previous researchand state of the art algorithms [10].

E. Problem Formulation

Given the assumptions and the objective discussed above,the energy-aware SFC deployment (EA-SFCD) problem isformulated as follows. The notations used in this paper aresummarized in Table II and III.

The objective function is comprised of the sum of the powerconsumed by the servers and the switches. The on/off statusof the servers and switches and the power required to turnthem on are also taken into account. Constraint (1) ensuresthat all nodes of all chains are mapped. As previously statedthe placement of the source or destination node of a chaincan also be considered as a decision variable. In addition,each function can only be mapped onto one of the locationsspecified for it. Constraints (6) and (7) also ensure that thevirtual links between abstract functions are mapped. Constraint(6) is intended for the infrastructure switches and constraint(7) is intended for the infrastructure servers. Constraint (2)determines the number of instances of each type mapped oneach infrastructure server. In this constraint, instance sharingand the limited traffic processing capacity of instances aretaken into account. Constraints (3) and (4) ensure that thelimitations of the processing and memory resources of eachserver are met. Constraint (5) indicates that if a function isplaced on a server, then that server must be on. Constraints(8) and (9) observe the bandwidth constraint of the physicallinks. In addition, for any link used, it is ensured that theswitch ports at the ends of the link are on. Finally, constraint(10) ensures that if at least one port of a switch is on, thenthe switch must be on.

min(∑i∈V s

(αi × Pidlei ×

(1− Statei

)+∑f∈F

ςfi × CPUf × Pmax

i − Pidlei

ICPU i

)+∑i∈V N

(βi × Pstatici ×

(1− Statei

)EA-SFCD

+∑

j∈Portiδij × Pport

i ×(1− PStateij × Statei

)))D1q,u :

∑i∈V S∪Dum

xq,ui × ηq,ui = 1 ∀ uq ∈ V NFs (1)

D2fi :∑

uq∈V NFs|τq,uf =1

xq,ui × ηq,ui × input (u, q)

≤ ςfi ×=f ∀i ∈ V S , f ∈ F (2)

D3i :∑f∈F

ςfi × CPUf ≤ RCPU i ∀i ∈ V S (3)

D4i :∑f∈F

ςfi ×MEMf ≤ RMEM i ∀i ∈ V S (4)

D5q,ui : xq,ui × ηq,ui ≤ αi ∀i ∈ V S , uq ∈ V NFs (5)

ψ1q,(u,v)i :

∑(i,j)∈E

yq,(u,v)(i,j) −

∑(j,i)∈E

yq,(u,v)(j,i) = 0

∀i ∈ V N , q ∈ Q, (u, v) ∈ EV,q (6)ψ2

q,(u,v)i : y

q,(u,v)(i,j) − yq,(u,v)(j,i)

= BW q,(u,v) × (xq,ui × ηq,ui − xq,vi × η

q,vi )

∀i ∈ V S ∪Dum, (i, j) ∈ E, q ∈ Q, (u, v) ∈ EV,q (7)

Page 5: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 5

TABLE II: Notations: Variables

Variables

xq,ui ∈ {1, 0} Equals 1 if the created instances fornode u of chain q are placed on server i

ςfi ∈ Z≥0 The number of instances of type f on server iαi ∈ {1, 0} Equals 1 if server i must be on

yq,(u,v)(i,j)

∈ R≥0Bandwidth allocated to virtual link (u, v)of chain q on physical link (i, j)

δij ∈ {1, 0} Equals 1 if port j of switch i must be onβi ∈ {1, 0} Equals 1 if switch i must be on

ψ3(i,j) :∑q∈Q

∑(u,v)∈EV,q

yq,(u,v)(i,j)

≤ RBW(i,j) × δil2p({i,j},i) ∀ (i, j) ∈ E (8)ψ4(i,j) :

∑q∈Q

∑(u,v)∈EV,q

yq,(u,v)(i,j)

≤ RBW(i,j) × δjl2p({i,j},j) ∀ (i, j) ∈ E (9)ψ5i :

∑j∈Porti

δij ≤ βi × Pi ∀i ∈ V N (10)

F. An Illustrative Example

In this section, an example is presented to clarify theproblem and the proposed formulation. The infrastructuretopology and the requested chains are shown in Figure 1aand Figure 1b, respectively. The green circle above a serverindicates that the server is on and the red circle indicates theserver is off. All the switches and their ports are on. Thebandwidth of each link between a server and a switch equals10 Gb/s in each direction. In addition, the bandwidth of thelinks between the network switches equals to 40 Gb/s in eachdirection. The remaining processing capacity of servers 1, 3,5, and 7 are 20, 10, 20, and 20 vCPUs, respectively. Moreover,the available memory of servers 1, 3, 5, and 7 are 100, 20, 60,and 100 GB, respectively. The specifications of the servers areshown in Table IV. Since all the switches and their ports areon, the corresponding energy terms in the objective functionequal zero. So, we omit the specification of the power profiles.

As shown in Figure 1b, two chains are given as input,each of which is comprised of two abstract functions. Thevalue under each link indicates the bandwidth requested forthe virtual link in Mbps. The specifications of the VNFs areshown in Table V and the allowed placement locations for eachfunction are given in Table VI. In addition, the source and thedestination of each chain are point to the ingress/egress pointof the network.

The optimal placement is shown in Figure 1a. Four FWinstances are created on server 7 and shared between the twochains. There are also three instances of NAT VNF and fourinstances of IDS and placed on servers 3 and 5, respectively.The optimal power consumption is 192.7W.

IV. SOLUTION METHODOLOGY

Since finding a non-trivial feasible solution for an ILPproblem as well as the SFC deployment problem is NP-hard[9]–[11], we propose an algorithm to calculate a near-optimalinteger solution to the EA-SFCD problem without solving the

10

9

1312 1415

11

1 2 3 4 5 6 7 8

Ingress/Egress

NAT

FW

FWIDS

IDS

(a) The Topology

Src Dst

Src Dst Chain2

Chain1

1250 1500 1500

750 1000 1000

FW NAT

FW IDS

(b) The Requested Chains

Fig. 1: The topology and the set of requested services used inthe example

ILP formulation. In this section, first, we briefly describe theBenders decomposition and feasibility pump algorithms, thenwe present the details of the solution methodology.

A. The Benders Decomposition in a Nutshell

In the Benders decomposition method [12], the variablesof an ILP problem are divided into two categories. The firstcategory includes the variables whose values are set by theRestricted Master Problem (RMP), which can be an ILPproblem, and the second includes the variables whose valuesare set by the SubProblem (SP) which is an LP problem. Ineach iteration of the Benders algorithm, the RMP is solvedand the values of the variables are substituted in the SP. Thenthe SP is solved and if the SP becomes infeasible for thevalues substituted in it, then an infeasibility cut and otherwisean optimality cut is generated and added to the RMP. Thealgorithm terminates when it reaches the optimality. To provethe convergence and further explanation, see [12], [33].

Whereas the Benders decomposition enables us to solvetwo smaller problems instead of a big and complicated one,it might generate infeasible solutions over the initial iterationsand therefore may require many iterations to find the optimalsolution. Therefore, while it is more scalable than the classicILP algorithms such as B&B, its solving time might be evengreater than them. In addition, in this algorithm, the masterproblem, which is an ILP problem, must be solved in eachiteration which, given that finding a feasible solution for anILP problem is NP-hard [11], will be problematic if the sizeof the problem is big.

B. The Feasibility Pump Algorithm

The feasibility pump algorithm [11] is a well-knownalgorithm for calculating an initial feasible solutionto a {0, 1} problem. Suppose that in the problemmin

{cTX : AX ≥ b X ∈ {0, 1}I

}, X∗ is a solution

obtained by solving the relaxed version of the problemthrough changing the domain of variables from {0, 1} to[0 1] and X̃ is obtained by rounding the X∗ to the nearestinteger value. Then, the feasibility pump operates based onthe pseudo-code described in Algorithm 1 where ∆

(X, X̃

)is the L1 − norm distance between X and X̃ as follows:

∆(X, X̃

)=

∑j∈I:x̃j=0

xj +∑

j∈I:x̃j=1

(1− xj)

Page 6: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 6

TABLE III: Notations: Parameters and Functions

Parameters and FunctionsQ = {1, .., Q} The set of received requestsV NFs The set of all uq pairsSrc,Dst ⊆ V NFs The set of the source and destination nodes of all chainsF = {0, 1, 2, . . . , F} The set of all types of functionsStatei ∈ {1, 0} Equals 1 if device i (switch or server) is currently onPStateij ∈ {1, 0} Equals 1 if port j of switch i is currently onτq,uf ∈ {1, 0} Equals 1 if function u of chain q is of type f ∈ Finput (u, q) = BW q,(v,u)| (v, u) ∈ Ev,q The total input traffic to node u of chain qPidle

i The idle power consumption of server iPmax

i The maximum power consumption of server iPstatic

i The static power consumption of switch iPport

i Constant power required to turn a port of switch i onηq,ui ∈ {1, 0} Equals 1 if function u of chain q is allowed to be placed on server il2p ({i, j} , i) Returns the port of switch i used in the bi-directional link {i, j}=f The traffic processing capacity of an instance of type fCPUf/MEMf Processing/memory requirement of an instance of type fICPU i Installed processing resources on server iRCPU i/RMEM i Remaining processing/memory resources on server iRBW(i,j) Available bandwidth of link (i, j)

BW q,(u,v) Required bandwidth of virtual link (u, v) of chain qPorti The set of ports of switch iPi The number of ports of switch i

TABLE IV: The Specifications of The Servers

Servers 1,2,7,8 Servers 3,4,5,6Installed vCPU 144 72

Installed Memory (GB) 1408 288Link(Gbps) 40 40

Idle Power (W) 270 190Max Power (W) 1160 950

TABLE V: Available VNFs

Spec \VNF vFW vNAT vIDSCPU (vCore) 2 2 2Memory (GB) 2 4 2

Traffic Processing Capacity (Mbps) 500 500 250

TABLE VI: Permitted Locations

Abstract Function Allowed locationsFW(Chain 1) 1, 2, 7, 8NAT(Chain 1) 3, 4, 5, 6FW(Chain 2) 1, 2, 7, 8IDS(Chain 2) 5, 6

While the original feasibility pump has many issues, includingcycling, and finding a feasible solution far away from theoptimal solution due to the removal of the objective function[34], [35], it is widely used in commercial solvers to find aninitial feasible solution.

C. The Proposed Solution Methodology

Given the explanations mentioned above, we first decom-pose the EA-SFCD problem into a subproblem (EA-SFCD-SP)and a restricted master problem (EA-SFCD-RMP) using theBenders decomposition algorithm. The EA-SFCD-SP problemis as follows:

Algorithm 1 The Feasibility Pump1: Solve the relaxed version of the problem, if it returns an integer

solution, exit.

2: Calculate X̃ = Round (X∗)3: while Termination Condition is not satisfied do4: Solve the problem X∗ := argmin

{∆(X, X̃

): AX ≥ b

}5: if X∗ is an integer solution then6: Exit7: if ∃j ∈ I : x̃j 6= Round (x∗j) then8: X̃ = Round (X∗)9: else

10: Flip a random number of X̃ entries

min∑i∈V N

(βi × Pstatici ×

(1− Statei

)EA-SFCD-SP

+∑

j∈Portiδij × Pport

i ×(1− PStateij × Statei

))ψ2

q,(u,v)i : y

q,(u,v)(i,j) − yq,(u,v)(j,i)

= BW q,(u,v) × (x̄q,ui × ηq,ui − x̄q,vi × η

q,vi )

∀i ∈ V S ∪Dum, (i, j) ∈ E, q ∈ Q, (u, v) ∈ EV,q

Constraints (6),(8)-(10) of the EA-SFCDδij , βi ∈ [0 1] , y

q,(u,v)(i,j) ∈ R≥0

In this problem, the domain of variables δij and βi are relaxedto [0, 1], and ψ1 to ψ5 are dual variables corresponding to theconstraints. Moreover, in the EA-SFCD problem, x̄q,ui ∀i ∈V S ∪ Dum, uq ∈ V NFs are parameters and the value ofthem are determined by the EA-SFCD-RMP problem.

We change the standard Benders RMP and define the EA-SFCD-RMP as presented in Appendix A. To simplify the nota-tion, we define P q,(u,v)k,i as the product of ψ2

q,(u,v)i ×BW q,(u,v)

at kth iteration, that is,(ψ2

q,(u,v)i

)k× BW q,(u,v) . Also,

Page 7: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 7

ZUB←∞

Run InitialSol()

Termination considtion

is satisfied?Exit

Solve Dual-EA-SFCD-

RMP-R

Infeasible or

Unbounded?

Run

GetIntegerMaster()

Does the integer solution

repect all resource limits?

For each overutilized server,

add the placed functions on

that server to KnPos

Run FallBack()

Solve EA-SFCD-

SP

Optimal/Infeasible or

Unbounded?

Add a feasiblity cut

to feasCuts

Add an optimality cut to optCuts

Add the master solution to

KnPos

Calculate Ztmp = EA-SFCD

objective value

Set the current solution as the

incumbent solution and update

ZUB

Ztmp

<ZUB

and

the current

solution is feasible for

EA-SFCD?

No

Yes

Yes

Yes

No

No

Infeasible

Optimal

Unbounded

Yes

No

Section 1

Section 2

Section 3

Section 4

Section 0

Fig. 2: Flowchart of the PDDB

we add two new constraints, (9) and (10), to the EA-SFCD-RMP by combining the second to fourth constraints of theEA-SFCD problem. Constraints (6) and (7) are the constraintscorresponding to the Benders optimality and feasibility cuts,respectively. Moreover, suppose we want to remove an integersolution, feasible or not, for xq,ui variables from the solutionspace. The following constraint can be added to the EA-SFCD-RMP problem to remove kth known solution:∑

uq∈k

∑i∈V S∪Dum

(x̄q,ui )k (1− xq,ui × ηq,ui ) ≥ 1

where (x̄q,ui )k is the value of variable xq,ui in kth solution. It isworth mentioning that the standard Benders restricted masterproblem consists of constraints (1) to (7) of the EA-SFCD-RMP problem.

If the variables xq,ui , αi, and ςfi of the EA-SFCD-RMP areassumed to be integer, iterative solving of EA-SFCD-RMPand EA-SFCD-SP problems based on the Benders algorithmconverges to a solution close to the optimal solution forthe EA-SFCD problem. However, this means solving an ILPproblem in each iteration which cannot be solved easily. As

stated, here, instead of solving the EA-SFCD-RMP as an ILPproblem, we try to find a feasible solution by using the dualof the EA-SFCD-RMP, the complementary slackness theorem[36], and the feasibility pump method.

In order to calculate the dual problem of the EA-SFCD-RMP, we change the domain of the variables xq,ui and αito [0 1] and ςfi to R≥0 to convert the EA-SFCD-RMP intoan LP problem, named as EA-SFCD-RMP-R. Based on theduality theorem, the dual problem of EA-SFCD-RMP-R, here-after referred to as Dual-EA-SFCD-RMP-R, is formulated inAppendix B. The first and second constraints of the Dual-EA-SFCD-RMP-R correspond, respectively, to the variables ςfiand αi in the EA-SFCD-RMP-R problem. Third and fourthconstraints are for the source and destination nodes of therequests, respectively. If the placement of the source and thedestination of the request are already specified, then therewould be no need for these two constraints. The fifth constraintis for the abstract functions and finally, the last constraintcorresponds to the Benders optimality cut.

By solving the Dual-EA-SFCD-RMP-R problem to the opti-mality with an LP solver, we can use complementary slacknesstheorem [36] to determine the values of variables xq,ui , αi andςfi . However, since EA-SFCD-RMP-R is the LP relaxation ofthe EA-SFCD-RMP problem, the calculated solution mightnot be an integer solution. We calculate an integer solutionthrough the following steps. In the Dual-EA-SFCD-RMP-Rproblem, the constraints (3) to (5) are henceforth referredto as placement determiners (PDs). For each pair uq , PDsdetermine the servers on which we can place the function.After solving the Dual-EA-SFCD-RMP-R problem, for eachpair uq we select one of the corresponding PD constraintswith slack zero, i.e. the constraint is binding. According tocomplementary slackness, we know that multiplying the slackvalue of a constraint by its corresponding primal variableequals zero. Therefore, once the constraint becomes bindingand the slack of that constraint becomes zero, then the variablecorresponding to that constraint can be set to 1. This can beinterpreted as selecting that server for the placement of thefunction uq . A similar approach, known as the primal-dualmethod, is widely used to design approximation algorithmsfor problems such as set-cover [37].

Although solving the Dual-EA-SFCD-RMP-R problem us-ing an LP solver would make a lot of PD constraints binding.This is because the value of the variable D5q,ui is onlydetermined by the second constraint in range

[0 Pidle

i]

whichis large in comparison to other variables and can be determinedby the solver in a way that a lot of PD constraints becomebinding. Therefore, we omit D5q,ui and the second constraintof the Dual-EA-SFCD-RMP-R. To put it another way, we onlyomit the power consumed by turning the servers on in thecalculation of the power consumption. However, the feasibilityof the solution will not be violated. Simply put, we assumeall the servers are on.

Given the explanations above, our Primal-DualDecomposition-Based (PDDB) algorithm for solving theEA-SFCD problem is presented in Figure 2. The PDDBconsists of 5 main sections. First, in Section 0, the relaxedLP version of the EA-SFCD problem is solved. Then by

Page 8: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 8

using the InitialSol function, we try to calculate a feasiblesolution. After that, in Section 1, the Dual-EA-SFCD-RMP-Rproblem is solved without the second constraint and thevariable D5q,ui . Then, using the GetIntegerMaster function,which executes the rounding algorithm, an integer solutionis computed. If the calculated integer solution violatesthe resource constraints of any of the servers, i.e. it is aninfeasible solution, then Section 2 is executed. In Section2, for each server i with a violated resource constraint,the pairs of uq mapped onto it are added to set KnPosto eliminate them from the solution space. Moreover, theFallBack function is executed to calculate a feasible solutionclose to the current infeasible solution. However, if thecalculated integer solution is feasible, Section 3 is executedwhere the solution to the EA-SFCD-RMP-R is substitutedin the EA-SFCD-SP problem. If the EA-SFCD-SP problemis solved to optimality, an optimality cut is added to theoptCuts set. In addition, the solution to the EA-SFCD-RMPproblem is added to the KnPos to avoid duplicate solutions.But if the EA-SFCD-SP solution is infeasible, a feasibility cutis added to the feasCuts set. Then, in Section 4, given thatthe domains of the variables of the EA-SFCD-SP problemare also relaxed, the feasibility of the solution obtained isevaluated. If the calculated solution is feasible, the value ofthe objective function of the EA-SFCD problem is calculatedand if it is improved, then the current solution is saved asthe incumbent solution. Next, the GetIntegerMaster, FallBackand InitialSol are explained.

1) GetIntegerMaster Function: The GetintegerMasterfunction operates based on the pseudo-code presented inAlgorithm 2 to find an integer solution for the Dual-EA-SFCD-RMP-R problem. For each abstract function, we expecta few of the PD constraints to become binding. Moreover, iffor a pair uq , the corresponding PD constraint for server ibecomes binding, then the number of instances of that functionon server i must be larger than 0, i.e. {ςfi > 0 | τ q,uf = 1}.Therefore, according to the complementary slackness, theconstraint corresponding to variable ςfi also must have aslack of zero. As a result, for each function, we add all theservers meeting these two conditions to the set Selected. Ifthere is only one server in the set Selected, then we mapthe function onto it. Otherwise, we try to reduce the size ofthe set Selected. To do this, in line 9, if D3 or D4 is notzero for some i, then according to complementary slackness,we can conclude that constraint (3) or (4), respectively, ofthe EA-SFCD-RMP-R problem has become binding. Thatis, server i has used all its resources. Given that the domainof variable ςfi is considered R≥0, by rounding the valuesobtained to the domain Z≥0, the resource limits of the servermight be violated. Therefore, we can remove these serversfrom the set Selected, although it might empty the set.Therefore, we first copy the set Selected to SelectedCopyand then remove the servers form set SelectedCopy. Afterthat, in line 10, we check if set SelectedCopy is emptyand if so, we select a random server from the set Selected.Otherwise, we randomly select a server from SelectedCopyand place the function on it.

2) FallBack Function: After calculating an integer solutionby GetintegerMaster function, we evaluate it to find whetherit is feasible or not. If at least one of the processing and/ormemory constraints of the servers is violated, then the solutionis not feasible. If so, for each server with violated processingor memory resource constraint, all the functions mapped ontoit are added to the KnPos. Then, we use the FallBack functionto calculate a feasible solution close to the calculated infea-sible integer solution. Since the feasibility pump algorithm isdesigned for {0, 1} problems and ςfi variables have domainZ≥0, we replace these variables with a set of variables withdomain {0, 1} . For this purpose, the value of Kf

i is calculatedas follows:

2Kfi ≥

⌊min

(RCPU i

CPUf,RMEM i

MEMf

)⌋Where bxc is the smallest integer number that is less than orequal the value of x and Kf

i is the smallest value that applies tothis equation. Accordingly, each variable ςfi can be represented

asKf

i∑k=0

2k × InumFP fi,k where InumFP fi,k ∈ {0, 1}. This

way, we define the feasibility pump problem EA-SFCD-RMP-FP, as follows:

min ∆(X, X̃

)+ ∆

(InumFP, ˜InumFP

)∑i∈V S∪Dum

xq,ui × ηq,ui = 1 ∀ uq ∈ V NFs∑

uq∈V NFs|τq,uf =1

xq,ui × ηq,ui × input (u, q) ≤

Kfi∑

k=0

2k ×=f × InumFP fi,k ∀i ∈ VS , f ∈ F

Kfi∑

k=0

∑f∈F

2k × InumFP fi,k × CPUf ≤ RCPU i ∀i ∈ V S

Kfi∑

k=0

∑f∈F

2k × InumFP fi,k ×MEMf ≤ RMEM i ∀i ∈ V S

Constraints (5) to (10) of the EA-SFCD-RMPxq,ui , InumFP fi,k, αi ∈ [0 1]

Also, the ∆(X, X̃

)is the L1−norm distance between point

X and given point X̃ and is defined as follows:∑i∈V S∪Dum

( ∑uq∈V NFs| x̃q,u

i =0 & ηq,ui =1

xq,ui

+∑

uq∈V NFs| x̃q,ui =1 & ηq,ui =1

(1− xq,ui ))

Similarly, ∆(InumFP, ˜InumFP

)is defined as:

∑i∈V S

∑f∈F

( Kfi∑

k=0| ˜InumFPf

i,k=0

InumFP fi,k

Page 9: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 9

Algorithm 2 GetIntegerMaster()1: Solve the Dual-EA-SFCD-RMP-R problem.

2: for each pair uq of type f examine the corresponding PDconstraints and do

3: if the slack value of any of them and the corresponding4: constraint (1), with type f and server i, are equal to zero then5: add the corresponding server i to set Selected6: if Selected.size() > 1 then7: Copy Selected to SelectedCopy8: for each server i from SelectedCopy do9: remove server i if D3i or D3i is not equal to zero.

10: if SelectedCopy.size() = 0 then11: Select one server from Selected randomly12: and place function uq on it13: else14: Select one server from SelectedCopy randomly15: and place function uq on it16: else17: Place the function uq on the server i in set Selected

+

Kfi∑

k=0| ˜InumFPf

i,k=1

(1− InumFP fi,k

))Using the EA-SFCD-RMP-FP problem, the flowchart of theFallBack function is presented in Figure 3. The terminationcondition of the FallBack function is finding a feasible solutionor reaching the maximum iteration MaxIteration. First, thealgorithm updates the objective function of the EA-SFC-RMP-FP problem using the current infeasible solution. Then, theEA-SFCD-RMP-FP problem is solved. After that, the Roundfunction calculates an integer solution. If this function returns0, then the calculated solution is not a duplicate solution.Otherwise, the algorithm is stuck in a loop and has generateda duplicate solution. To break the loop, the Reboot functionis executed which randomly generates an integer solution. Inany case, the feasibility of the integer solution generated bythe Round or Reboot functions will be assessed and if thesolution is feasible, the algorithm leaves the loop. Otherwise,by increasing the value of the counter, it returns to the loop.If the Reboot function returns any value other than zero, thenthe randomly generated solution is also a duplicate solutionand the algorithm leaves the loop.

After leaving the loop, if the last found solution is infeasible,the solution is added to the set KnPos. Otherwise, using thelast calculated solution Sections 3 and 4 of the PDDB areexecuted. That is, the solution is substituted in EA-SFCD-SP and if the EA-SFCD-SP problem is infeasible for thesubstituted solution, a feasibility cut and if it is feasible, anoptimality cut is added to the problem.

The pseudo-code of the Round function is presented inAlgorithm 3. In the Round function, the value of the variablex∗q,ui is added to a random value between 0 and 1 and isplaced in the list Placement as the weight of the variable.Then, the list is sorted based on the weights of the variablesand the variable with the highest weight is selected as theplacement location for uq . To round InumFP fi,k, in line 16the value of Inum∗fi is calculated. Then, similar to x∗q,ui ,

Counter ← 0

MaxIteration <= Counter

Is the last found

solution

feasible?

Set up the EA-SFCD-RMP-FP

problem using the current infeasible

integer solution

Solve EA-SFCD-RMP-FP and save the solution

as FPSol

Did Round (FPSol)

return 0?

Is the current solution

feasible?Counter=Counter+1

Save the rounded solution as

the current integer solution

No

Yes

No

Did Reboot

return 0?

Yes

Yes

No

No

YesAdd the last found solution to

KnPos

Exit

Run Section 3 and

Section 4 of the

PDDB

Yes

No

Fig. 3: Flowchart of the Fallback

the computed value is added to a random value. Finally, the

value of ˜InumFP fi,k is calculated by converting the value of⌈

Inum∗fi

⌉to the corresponding binary representation, where

dxe is the ceiling function. The weighting method used in theRound function is similar to the weighting method used in[33]. The Reboot function is similar to the Round functionwith the difference that for each uq ∈ V NFs we add serveri to the list Placement with weight r where r is a randomvalue between zero and one. Also, For each f ∈ F and i ∈ V S

we set ˜InumFP fi,k ←

[InumFP ∗fi,k

]where [x] rounds x to

the nearest binary value.3) InitialSol Function: Finally, the only remaining part

of the PDDB algorithm is the InitialSol function, whichcalculates an integer solution based on the solution calculatedby solving the LP relaxation of the EA-SFCD problem. Inthis function, first, the calculated values for the variables xq,uiare rounded by using the same method used in the Roundfunction. Then, Sections 2, 3, and 4 of the PDDB algorithmare executed. That is, if the calculated solution for the EA-SFCD problem is not feasible, then the FallBack function isexecuted. Otherwise, the solution is substituted in the EA-SFCD-SP problem and based on the result of solving the EA-SFCD-SP problem, a decision will be made. If the EA-SFCD-SP is infeasible, a feasibility cut is added to set feasCuts,and if the problem is solved to optimality, an optimality cutis added to set optCuts. The current solution is also selectedas the incumbent solution.

Page 10: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 10

Algorithm 3 The Round Function

1: Save the EA-SFC-RMP-FP solutions as X∗ and InumFP ∗fi,k

2: for each pair uq ∈ V NFs do3: List Placement← ∅4: for each i ∈ V S ∪Dum if ηq,ui = 1 do5: Generate a random number r ∈ [0 1]6: if (r < 0.5) then7: add server i to list Placement with weight8: x∗q,ui + 2r (1− r)9: else add server i to list Placement with weight

10: x∗q,ui + 1− 2r (1− r)11: Select the server s with the biggest weight from list12: Placement and place function u on it,13: i.e. x̃q,us ← 1, for other servers set x̃q,ui ← 0

14: for each f ∈ F and i ∈ V S do

15: Calculate Inum∗fi =

Kfi∑

k=0

2k × InumFP ∗fi,k

16: if (Inum∗fi > 0) then

17: Generate a random number r ∈ [0 1]18: if (r < 0.5) then19: Inum∗f

i ← Inum∗fi + 2r (1− r)

20: else21: Inum∗f

i ← Inum∗fi + 1− 2r (1− r)

22: Calculate ˜InumFP fi,k based on the binary representation

23: of⌈Inum∗f

i

⌉24: if the calculated placement is a duplicate placement then25: return 126: else return 0

4) Complexity Analysis: The PDDB algorithm is an itera-tive algorithm with bounds on the number of iterations, whichsolves at most 3 LP problems, i.e. Dual-EA-SFCD-RMP-R,EA-SFCD-SP and EA-SFCD-RMP-FP in each iteration. Sincean LP problem is solvable in polynomial time [38], The PDDBalgorithm is also a polynomial time algorithm.

V. NUMERICAL RESULTS

In this section, we first compare the performance of thePDDB algorithm with the well-known algorithms for solvingILP problems, i.e. the B&B and the standard Benders. Afterthat, we compare it with the Bari [22] and RP-MPR algo-rithms [24] which are specially designed for SFC placementproblems. Finally, the operation details of the PDDB algorithmare investigated.

A. Simulation Settings

The infrastructure used in simulation consisted of switches,servers and ingress/egress points. We used three well knowntopologies: 1) Internet2 [27], 2) USNet [39], 3) 6-port Fat-tree[40]. We randomly selected 4 and 6 switches from Internet2and USNet topologies, respectively as the core switches andattached ingress/egress points to them. The rest of the infras-tructure switches were randomly chosen as the aggregationor edge switches. For 6-port Fat-tree architecture, we usedthe original topology. In all topologies, the specificationsof the edge, aggregation and core switches were randomlychosen from the corresponding classes in Table IX. Also,

the specifications of servers in all topologies were randomlychosen based on Table VIII and all of them were randomlyconnected to the edge switches. The bandwidth of the linksbetween ingress/egress points and the core switches was set to40 Gbps. The length of each chain and the order of functionswere randomly chosen according to Table VII. The source anddestination of each chain were randomly mapped onto one ofthe ingress/egress points and the value of the parameters ηq,uiwere randomly set for each server. The rest of the simulationparameters were chosen based on the specifications in TableVII.

The power profiles of the switches and servers were ex-tracted from the data of Cisco Nexus switches and Cisco UCSservers [41]. Moreover, to calculate the power required forturning a switch port on, we used the ratio of 3:1, i.e. threewatts to have a port and one watt to turn it on, as was used in[31]. Each server with the probability of 0.5 and each port ofeach switch with the probability of 0.25 was turned off. Also,if a switch is attached to a powered-on server, the switch is alsoconsidered on. The specifications of VNFs which are shownin Table X, were extracted from [42], [43].

We compare the performance of the PDDB algorithm withtwo exact solution methodologies Benders and B&B andtwo heuristic algorithms Bari and RP-MPR. The terminationcondition of the Benders algorithm was set as the combinationof reaching 500 iterations or reaching the runtime of 600seconds or achieving the optimality. To solve the Bendersmaster problem, the maximum memory was set to 5 GB andthe maximum runtime was set to 300 seconds. Also, the B&Balgorithm was executed for a maximum of 600 seconds. Toimplement Baris algorithm, we created a multi-stage graph foreach request. The nodes in stage u represent the optimal powerconsumption of placing the function u on the set of permittedservers. Also, there is a directed edge between each pair ofnodes of two consecutive stages. The optimal consumed powerof forwarding the traffic between the two consecutive serversis associated with the edge between them. RP-MPR placesthe functions on the set of permitted servers randomly andoptimally route the traffic between them by solving a multi-path routing problem.

We use the following metrics to compare the performanceof the algorithms:• Total power consumption: The value of the objective

function for the calculated solution.• Solution time: The total time spent in solving the models.• Success ratio: The number of times an algorithm suc-

ceeds in calculating a feasible solution to the EA-SFCDproblem divided by the total number of simulation runs.A solution is feasible if it accepts all requested chains.

• Acceptance ratio: The number of accepted chains dividedby the number of requested chains.

The algorithms were implemented in java using IBMCPLEX version 12.7 [44]. The simulations were performedon a system with 16GB of RAM and 2 cores operated at3GHz. To simulate, first, the switches, the servers, and theingress/egress points were connected to each other to create acomplete topology. Then, for each run of the simulation, SFCrequests were randomly generated and the algorithms were

Page 11: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 11

TABLE VII: Simulation Parameters

Bandwidth of each link (Mbps) Uniform [5000-Min port speedof each side of the link]

RMEM(GB) Uniform [20-Installed Memory]RCPU Uniform [10-Installed vCPU]

Bandwidth of eachvirtual link (Mbps) Uniform [100-1500]

Chain length(including source and destination) Uniform [3-7]

Number of Switches 24(USNET),15(Int.2),45(Fat-Tree)Number of Servers 40(USNET),30(Int.2),54(Fat-Tree)

Number of Ingress/Egress points 6(USNET),4(Int.2),9(Fat-Tree)

TABLE VIII: Servers Specifications

Spec\Class Level 3 Level 2 Level 1Installed vCPU 160 144 104 72 48 32

Installed Memory (GB) 2048 1408 1536 288 768 192Port Speed (Gbps) 40 40 40 40 10 10

Idle Power (W) 280 270 260 190 180 170Max Power (W) 1220 1160 960 950 700 540

TABLE IX: Switches Specifications

Spec\Class Core Aggregation EdgeNumber of Port 96 64 72 48 36 24

Port Speed (Gbps) 100 100 40 40 40 40Maximum Power (W) 5000 4000 3500 2500 2000 1000

TABLE X: VNFs Specifications

CPU MEM Traffic ProcessingCapacity(Mbps)

Firewall 1 2 1000NAT 2 4 1000IDS 2 3 100

Router 1 4 1000DPI 2 4 100

Video optimizer 2 4 500

executed. During the simulations, the infrastructure remainedunchanged. For each point of Figures 4 and 5, at least 30simulations were performed and the average was calculated.

B. Comparison With Exact Algorithms

In this section, the performance of the PDDB, Benders, andB&B algorithms are compared in terms of the solution timeand total power consumption of the calculated solution. Weset the number of iterations of the PDDB and FallBack to 500and 10, respectively. The results for the Internet2 and USNettopologies are shown in Figure 4. For the PDDB algorithm,the graphs represent the time when the best feasible solutionis found. By increasing the size of the requests the totalpower consumption increases. For the USNet topology, afterthe size of SFC requests was increased to 30 the Bendersalgorithm failed to find a feasible solution in 600 seconds inmost simulation runs. Therefore, the results for the Bendersmethod with the size of 30 and 35 are omitted from the graph.The same condition occurred for the requests of size 25, 30and 35 in the Internet2 topology.

As shown in Figure 4a, by increasing the request size, thedifference between the calculated power of the Benders andB&B increases and reaches to 0.7% for requests of size 25which is very small and can be ignored. Whilst, as illustratedin Figure 4c, the solution time of the Benders algorithm is

always less than the B&B. For example, the Benders solutiontime is 0.82% of the B&B for requests with the size of 25.Therefore, in requests with the size of 5 to 25, the Bendersalgorithm is more efficient than the B&B algorithm. However,the performance of the Benders algorithm decreases sharplyand by increasing the number of requests to 30, the algorithmfailed to calculate a feasible solution. In turn, the optimalvalue of PDDB algorithm, in requests with the size of 5, 25,30, 35, differs from the B&B optimal value by 17, 26, 23,and 20 percent, respectively. In addition, its solution time is0.75, 0.06, 0.06 and 0.1 times the solution time of the B&Balgorithm, respectively. The solution time of PDDB algorithmin requests with the size of 20 and 25 is 0.16 and 0.07 timesthe Benders solution time, while the value of its objectivefunction is only 24% and 25% more, respectively.

The results are similar in the Internet2 topology. As shownin Figure 4b and Figure 4d, although the total power consump-tion calculated by the Benders algorithm for requests with thesize of 5 and 20 is, respectively, 1.2% and 2.7% more than thatof the B&B algorithm, its solution time is, respectively, 0.73and 0.55 times the solution time of the B&B algorithm. Also,the optimal value of the PDDB algorithm for requests withthe size of 5, 30 and 35 is, respectively, 3%, 25% and 24%more than that of the B&B algorithm, yet, its solution timeis, respectively, 0.12, 0.07 and 0.09 times the solution timeof the B&B algorithm. Although the total power consumptioncalculated by the PDDB algorithm for requests with the sizeof 5 and 20 is, respectively, 1.9% and 23.7% more than theBenders, its solution time is respectively, 0.17 and 0.03 timesthe solution time of the Benders algorithm.

In conclusion, as shown in Figure 4 for a small number ofrequests, the Benders algorithm is more efficient than the B&Balgorithm. However, the Benders algorithm fails to calculate afeasible solution during the simulation time in medium-sizedinstances of the problem because the solution space becomessmaller and finding a feasible solution takes more time. Inturn, the PDDB algorithm calculates a near-optimal solutionin all simulation runs. Also, the average value of the objectivefunction of the PDDB algorithm in USNET and Internet2topology is, respectively, 1.22 and 1.23 times the value of theobjective function of the B&B algorithm while its solutiontime is, respectively, 0.09 and 0.06 times that of the B&Balgorithm which means that the PDDB algorithm can quicklycalculate a solution very close to the B&B optimal solution.

C. Comparison With Heuristic AlgorithmsThe results of comparing the performance of the PDDB,

Bari, and RP-MPR is shown in Figure 5. The number ofiterations of the PDDB and FallBack were set to 200 and 10,respectively and the graphs of the PDDB represent the timewhen the best solution is found. As shown in Figures 5c and5d, the PDDB algorithm can accept all requested chains inall request sizes. On the contrary, by increasing the numberof requests from 10 to 80, the average number of acceptedchains in both Bari and RP-MPR is reduced from 99% and87% to 73% and 30%, respectively. Moreover, their successratios decrease sharply and reach to zero for requests withsizes of 50 and 20, respectively.

Page 12: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 12

5 10 15 20 25 30 35

Number Of SFC Requests

0

2000

4000

6000

8000

Pow

er(

W)

USNet:The Objective Value

B&B

Benders

PDDB

(a)

5 10 15 20 25 30 35

Number Of SFC Requests

0

2000

4000

6000

8000

Pow

er(

W)

Internet2:The Objective Value

B&B

Benders

PDDB

(b)

5 10 15 20 25 30 35

Number Of SFC Requests

-200

0

200

400

600

800

Tim

e(s

)

USNet: Time

B&B

Benders

PDDB

(c)

5 10 15 20 25 30 35

Number Of SFC Requests

-200

0

200

400

600

800

Tim

e(s

)

Internet2:Time

B&B

Benders

PDDB

(d)

Fig. 4: Solution time and the objective value of the PDDB, B&B and Benders in the USNet and Internet2 topologies.

10 20 30 40 50 60 70 80

Number Of SFC Requests

0

5000

10000

15000

Pow

er(

W)

Fat-Tree:The Objective Value

Bari

RP-MPR

PDDB

(a)

10 20 30 40 50 60 70 80

Number Of SFC Requests

-200

0

200

400

600

800

Tim

e(s

)Fat-Tree: Time

Bari

RP-MPR

PDDB

(b)

Fat-Tree:Success Ratio

10 20 30 40 50 60 70 80

Number Of SFC Requests

0102030405060708090

100

Ratio *

100

PDDB

Bari

RP-MPR

(c)

Fat-Tree:Acceptance Ratio

10 20 30 40 50 60 70 80

Number Of SFC Requests

0102030405060708090

100

Ratio *

100

PDDB

Bari

RP-MPR

(d)

Fig. 5: Solution time, objective value, success and acceptance ratio of the PDDB, Bari and RP-MPR in the Fat-tree topology.

Figures 5a and 5b show the average consumed power andsolution time of the feasible solutions for the PDDB, Bari,and RP-MPR algorithms. Since the success ratio of the Bariand RP-MPR are lower than 10% for requests with more than30 and 10 chains, respectively we excluded the results ofthem. The PDDB algorithm can find a solution faster thanthe Bari algorithm with a negligible difference in the totalpower consumption. For example, for the requests with thesize of 30, the PDDB calculates solutions with 11% morepower consumption 6.5 times faster. The RP-MPR is the fastestalgorithm but as shown in Figures 5c and 5d it fails to finda feasible solution for the requests with more than 10 chains.For example, the RP-MPR is 4 times faster than the PDDB inthe requests with the size of 10, but its objective value is also277% more.

In summary, the PDDB algorithm can quickly calculate afeasible solution whilst the Bari and RP-MPR fail in medium-sized and large instances of the problem. Although the RP-MPR is the fastest algorithm, its acceptance ratio is unsatis-factory. The Bari algorithm accepts more chains in comparisonwith RP-MPR, but its solution time is remarkably higher.

D. Operation Details Of The PDDBFigures 6a and 6b show the total time spent in solving

the models until the algorithm reaches 500 iterations dividedby 500. As it is shown, the PDDB spends on average lessthan 1 second in each iteration. Figures 6c and 6d showthe detailed operation of the PDDB for two requests of size35 in USNet and Internet2 topologies. In both topologies,it can be seen that the value of the objective function isimproved as the number of iterations increases. This is aresult of using the Benders optimality cuts and removing thepreviously calculated solutions using the KnPos set. It shouldbe noted that function Initialsol is able to find a feasiblesolution in both topologies before entering the main loop ofthe PDDB algorithm. The most important part of the InitialSol

is the improved feasibility pump algorithm which, as shown inFigure 6, is highly efficient. In addition, in both topologies theinitial feasible solution is improved in less than 10 iterationswhich indicates the outstanding performance of the PDDBalgorithm in the rapid improvement of the calculated solutions.In the USNet topology, at the end of the fourth iteration in the3rd second, the solution calculated by the PDDB algorithm isjust 34.32% more than the solution calculated by the B&Balgorithm at the end of the simulation time. Moreover, in theInternet2 topology, at the end of the eighth iteration in the 3rd

second, the calculated solution is just 23.6% more than thesolution calculated by the B&B algorithm at the end of thesimulation time. To put it another way, the PDDB algorithmcan calculate a solution very close to the optimal solution inless than 3 seconds.

VI. CONCLUSION AND FUTURE WORK

In recent years, the SFC deployment problem has attractedgreat attention of researchers. In this paper, the EA-SFCDproblem was formulated with the objective of minimizing thepower consumption of the deployed chains. We proposed arich ILP model for the EA-SFCD problem in which instancesharing, the limited traffic processing capacity of instancesand VNF management concerns were taken into account. Tosolve the proposed ILP model, a fast and scalable polynomial-time algorithm named PDDB was proposed. By decomposingthe problem into two smaller problems, the PDDB algorithmmakes solving the problem scalable. In addition, using therelaxed and modified version of the decomposed problems, thecomplementary slackness theorem and the improved version ofthe feasibility pump algorithm, it can calculate an integer feasi-ble solution without needing to solve the original decomposedILP problems. Furthermore, the PDDB algorithm can alsoimprove the computed solutions over time. Using extensivesimulation, we showed that the PDDB algorithm can computea solution at most 1.3 times the solution calculated by the B&B

Page 13: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 13

USNet:Runtime

5 10 15 20 25 30 35

Number Of SFC Requests

0

0.2

0.4

0.6

0.8

Ave

rag

e R

un

tim

e P

er

Ite

ratio

n(s

)

(a)

Internet2:Runtime

5 10 15 20 25 30 35

Number Of SFC Requests

0

0.2

0.4

0.6

0.8

1

Ave

rag

e R

un

tim

e P

er

Ite

rtio

n(s

)

(b)

0 50 100 150 200 250 300

Iteration Number

5000

6000

7000

8000

9000

Pow

er

(W)

USNet:Operation Details

(c)

0 50 100 150 200 250 300

Iteration Number

4600

4700

4800

4900

5000

5100

Pow

er

(W)

Internet2:Operation Details

(d)

Fig. 6: The average runtime and operation details of the PDDB algorithm in the USNet and Internet2 topologies.

algorithm over a period 10 times shorter. In comparison withthe state of the art algorithms, while the PDDB accepts allrequested chains, the Bari and RP-MPR fail even in medium-sized instances of the problem.

Ultimately, although the PDDB can compute a near-optimalsolution over a short period of time, given the changes itmakes in the EA-SFCD problem, it reduces the probabilityof calculating the optimal solution. Therefore, it is possibleto utilize it alongside exact algorithms such as the B&B tocalculate the optimal solution faster.

REFERENCES

[1] R. Mijumbi, J. Serrat, J. Gorricho, N. Bouten, F. D. Turck, andR. Boutaba, “Network function virtualization: State-of-the-art and re-search challenges,” IEEE Commun. Surveys Tuts., vol. 18, no. 1, pp.236–262, 2016.

[2] J. G. Herrera and J. F. Botero, “Resource allocation in NFV: Acomprehensive survey,” IEEE Trans. Netw. Service Manag., vol. 13,no. 3, pp. 518–532, 2016-09.

[3] N. Huin, B. Jaumard, and F. Giroire, “Optimal network service chainprovisioning,” IEEE/ACM Trans. Netw., vol. 26, no. 3, pp. 1320–1333,2018-06.

[4] M. Chiosi, D. Clarke, P. Willis, and A. Reid, “Network functionsvirtualisation-an introduction, benefits, enablers, challenges & call foraction,” ETSI, Tech. Rep., 2012-10.

[5] H. Hantouti, N. Benamar, T. Taleb, and A. Laghrissi, “Traffic steeringfor service function chaining,” IEEE Commun. Surveys Tuts., vol. 21,no. 1, pp. 487–507, 2019.

[6] A. Laghrissi and T. Taleb, “A survey on the placement of virtualresources and virtual network functions,” IEEE Commun. Surveys Tuts.,pp. 1–1, 2018.

[7] M. Dayarathna, Y. Wen, and R. Fan, “Data center energy consumptionmodeling: A survey,” IEEE Commun. Surveys Tuts., vol. 18, no. 1, pp.732–794, 2016.

[8] A. M. Medhat, T. Taleb, A. Elmangoush, G. A. Carella, S. Covaci, andT. Magedanz, “Service function chaining in next generation networks:State of the art and research challenges,” IEEE Commun. Mag., vol. 55,no. 2, pp. 216–223, 2017.

[9] T. Kuo, B. Liou, K. C. Lin, and M. Tsai, “Deploying chains of virtualnetwork functions: On the relation between link and server usage,”IEEE/ACM Trans. Netw., vol. 26, no. 4, pp. 1562–1576, 2018.

[10] V. Eramo, E. Miucci, M. Ammar, and F. G. Lavacca, “An approachfor service function chain routing and virtual function network instancemigration in network function virtualization architectures,” IEEE/ACMTrans. Netw., vol. 25, no. 4, pp. 2008–2025, 2017.

[11] M. Fischetti, F. Glover, and A. Lodi, “The feasibility pump,” Math.Program., vol. 104, no. 1, pp. 91–104, 2005.

[12] J. F. Benders, “Partitioning procedures for solving mixed-variablesprogramming problems,” Numer. Math., vol. 4, no. 1, pp. 238–252, 1962.

[13] M. Mechtri, C. Ghribi, and D. Zeghlache, “A scalable algorithm forthe placement of service function chains,” IEEE Trans. Netw. ServiceManag., vol. 13, no. 3, pp. 533–546, 2016.

[14] W. Rankothge, F. Le, A. Russo, and J. Lobo, “Optimizing resourceallocation for virtualized network functions in a cloud center usinggenetic algorithms,” IEEE Trans. Netw. Service Manag., vol. 14, no. 2,pp. 343–356, 2017.

[15] J. Liu, W. Lu, F. Zhou, P. Lu, and Z. Zhu, “On dynamic service functionchain deployment and readjustment,” IEEE Trans. Netw. Service Manag.,vol. 14, no. 3, pp. 543–553, 2017.

[16] Q. Sun, P. Lu, W. Lu, and Z. Zhu, “Forecast-assisted NFV service chaindeployment based on affiliation-aware vNF placement,” in Proc. IEEEGLOBECOM, 2016, pp. 1–6.

[17] T. Kuo, B. Liou, K. C. Lin, and M. Tsai, “Deploying chains of virtualnetwork functions: On the relation between link and server usage,” inProc. IEEE INFOCOM, 2016, pp. 1–9.

[18] D. Li, P. Hong, K. Xue, and j. Pei, “Virtual network function placementconsidering resource optimization and SFC requests in cloud datacenter,”IEEE Trans. Parallel Distrib. Syst., vol. 29, no. 7, pp. 1664–1677, 2018.

[19] X. Fei, F. Liu, H. Xu, and H. Jin, “Adaptive VNF scaling and flowrouting with proactive demand prediction,” in Proc. IEEE INFOCOM,2018, pp. 486–494.

[20] H. Tang, D. Zhou, and D. Chen, “Dynamic network function instancescaling based on traffic forecasting and VNF placement in operator datacenters,” IEEE Trans. Parallel Distrib. Syst., vol. 30, pp. 530–543, 2018.

[21] C. Pham, N. H. Tran, S. Ren, W. Saad, and C. S. Hong, “Traffic-awareand energy-efficient vNF placement for service chaining: Joint samplingand matching approach,” IEEE Trans. Serv. Comput., no. 99, pp. 1–1,2017.

[22] F. Bari, S. R. Chowdhury, R. Ahmed, R. Boutaba, and O. C. M. B.Duarte, “Orchestrating virtualized network functions,” IEEE Trans.Netw. Service Manag., vol. 13, no. 4, pp. 725–739, 2016.

[23] V. Eramo, M. Ammar, and F. G. Lavacca, “Migration energy awarereconfigurations of virtual network function instances in NFV architec-tures,” IEEE Access, vol. 5, pp. 4927–4938, 2017.

[24] I. Jang, D. Suh, S. Pack, and G. Dn, “Joint optimization of servicefunction placement and flow distribution for service function chaining,”IEEE J. Sel. Areas Commun., vol. 35, no. 11, pp. 2532–2541, 2017.

[25] J. Halpern and C. Pignataro, “Service function chaining (SFC)architecture,” IETF, Tech. Rep., 2015. [Online]. Available: https://tools.ietf.org/html/rfc7665

[26] A. Marotta, F. DAndreagiovanni, A. Kassler, and E. Zola, “On the energycost of robustness for green virtual network function placement in 5gvirtualized infrastructures,” Computer Networks, vol. 125, pp. 64–75,2017.

[27] G. Sun, Y. Li, H. Yu, A. V. Vasilakos, X. Du, and M. Guizani, “Energy-efficient and traffic-aware service function chaining orchestration inmulti-domain networks,” Future Generation Computer Systems, vol. 91,pp. 347–360, 2019.

[28] B. Kar, E. H. Wu, and Y. Lin, “Energy cost optimization in dynamicplacement of virtualized network function chains,” IEEE Trans. Netw.Service Manag., vol. 15, no. 1, pp. 372–386, 2018.

[29] X. Zhang, C. Wu, Z. Li, and F. C. M. Lau, “Proactive VNF provisioningwith multi-timescale cloud resources: Fusing online learning and onlineoptimization,” in Proc. IEEE INFOCOM, 2017, pp. 1–9.

[30] Y. Shang, D. Li, and M. Xu, “Energy-aware routing in data centernetwork,” in Proc. Green Networking. ACM, 2010, pp. 1–8.

[31] B. Heller, S. Seetharaman, P. Mahadevan, Y. Yiakoumis, P. Sharma,S. Banerjee, and N. McKeown, “ElasticTree: Saving energy in datacenter networks,” in Proc. NSDI, 2010, pp. 17–17.

[32] S. Kim, Y. Han, and S. Park, “An energy-aware service function chainingand reconfiguration algorithm in NFV,” in Proc. IEEE FAS*W, 2016, pp.54–59.

[33] B. Farkiani, B. Bakhshi, and S. Ali MirHassani, “Stochastic virtualnetwork embedding via accelerated benders decomposition,” FutureGeneration Computer Systems, vol. 94, pp. 199–213, 2019.

[34] L. Bertacco, M. Fischetti, and A. Lodi, “A feasibility pump heuristic forgeneral mixed-integer problems,” Discrete Optimization, vol. 4, no. 1,pp. 63–76, 2007.

Page 14: IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 …ceit.aut.ac.ir/~bakhshis/papers/TNSM-2019.pdf · IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 1 A Fast Near-Optimal

IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT 14

[35] M. Fischetti and D. Salvagnin, “Feasibility pump 2.0,” Math. Prog.Comp., vol. 1, no. 2, pp. 201–222, 2009.

[36] W. L. Winston, Operations Research: Applications and Algorithms,4th ed. Cengage Learning, 2003.

[37] D. P. Williamson and D. B. Shmoys, The Design of ApproximationAlgorithms, 1st ed. Cambridge University Press, 2011.

[38] L. G. Khachiyan, “Polynomial algorithms in linear programming,” USSRComputational Mathematics and Mathematical Physics, vol. 20, no. 1,pp. 53–72, 1980.

[39] C. Ren, S. Wang, J. Ren, W. Qian, X. Zhang, and J. Duan, “Energy-efficient virtual topology design in IP over WDM mesh networks,” vol.112, pp. 223–236, 2017.

[40] M. Al-Fares, A. Loukissas, and A. Vahdat, “A scalable, commodity datacenter network architecture,” in Proc. SIGCOMM. ACM, 2008, pp. 63–74.

[41] Cisco NFV infrastructure. [Online]. Available: http://bit.ly/2HqT1gU[42] Cisco adaptive security virtual appliance (ASAv) data sheet. [Online].

Available: http://bit.ly/2TA5TZw[43] Cisco cloud services router 1000v data sheet. [Online]. Available:

http://bit.ly/2Ci5n7B[44] “IBM, IBM ILOG CPLEX optimization studio, getting started with

CPLEX, v12.7,” IBM Corp., Tech. Rep., 2016.

APPENDIX ATHE EA-SFCD-RMP FORMULATION

min∑i∈V s

(αi × Pidlei ×

(1− Statei

)+∑f∈F

ςfi × CPUf × Pmax

i − Pidlei

ICPU i

)+ ρ

EA-SFCD-RMPD1q,u :

∑i∈V S∪Dum

xq,ui × ηq,ui ≥ 1 ∀ uq ∈ V NFs (1)

Constraints (2)-(5) of the EA-SFCDD6k :

∑q∈Q

∑(u,v)∈Ev,q

∑i∈V S∪Dum

Pq,(u,v)k,i ×

(xq,ui × η

q,ui

−xq,vi × ηq,vi

)≤ ρ ∀k ∈ optCuts (6)

D7k :∑q∈Q

∑(u,v)∈Ev,q

∑i∈V S∪Dum

Pq,(u,v)k,i ×

(xq,ui × η

q,ui

−xq,vi × ηq,vi

)≤ 0 ∀k ∈ feasCuts (7)

D8k :∑uq∈k

∑i∈V S∪Dum

(x̄q,ui )k (1− xq,ui × ηq,ui ) ≥ 1

∀k ∈ KnPos (8)

D9i :∑f∈F

∑uq∈V NFs|τq,u

f =1

xq,ui × ηq,ui × input (u, q)

=f

×CPUf ≤ RCPU i ∀i ∈ V S (9)

D10i :∑f∈F

∑uq∈V NFs|τq,u

f =1

xq,ui × ηq,ui × input (u, q)

=f

×MEMf ≤ RMEM i ∀i ∈ V S (10)xq,ui , αi ∈ {0, 1} , ςfi ∈ Z≥0, ρ ∈ R

The set of all known solutions is shown by KnPos. optCutsand feasCuts are the set of optimality and feasibility cuts,respectively. ρ is the variable used in the Benders method.

APPENDIX BTHE DUAL-EA-SFCD-RMP-R FORMULATION

max∑

uq∈V NFsD1q,u −

∑i∈V S

D3i ×RCPU i

−∑i∈V S

D4i ×RMEM i −∑i∈V S

D9i ×RCPU i

−∑i∈V S

D10i ×RMEM i −∑

k∈KnPos

D8k × (Λk − 1)

Dual-EA-SFCD-RMP-R=f ×D2fi − CPU

f ×D3i −MEMf ×D4i

≤ CPUf × Pmaxi − Pidlei

ICPU i∀f ∈ F , i ∈ V S (1)∑

uq∈V NFs|ηq,ui =1

D5q,ui ≤ Pidlei

×(1− Statei

)∀i ∈ V S (2)

D1q,u ≤

( ∑k∈KnPos

D8k × (x̄q,ui )k

)

+

∑k∈optCuts

D6k ×(Pq,(u,u+1)k,i

)+

∑k∈feasCuts

D7k ×(Pq,(u,u+1)k,i

)∀uq ∈ Src, i ∈ Dum|ηq,ui = 1 (3)

D1q,u ≤

( ∑k∈KnPos

D8k × (x̄q,ui )k

)

∑k∈optCuts

D6k

(Pq,(u−1,u)k,i

)−

∑k∈feasCuts

D7k

(Pq,(u−1,u)k,i

)∀ uq ∈ Dst, i ∈ Dum|ηq,ui = 1 (4)

D1q,u ≤

∑k∈optCuts

D6k

(Pq,(u,u+1)k,i − P q,(u−1,u)k,i

)+

∑k∈feasCuts

D7k

(Pq,(u,u+1)k,i − P q,(u−1,u)k,i

)+

( ∑k∈KnPos

D8k × (x̄q,ui )k

)+

(D9i ×

input (u, q)

=f× CPUf

)+

(D10i ×

input (u, q)

=f×MEMf

)+(D2fi × input (u, q)

)+ (D5q,ui )

∀uq ∈ V NFs\ {Src,Dst} , i ∈ V S | ηq,ui = 1

,∀f | τ q,uf = 1 (5)1 =

∑k∈optCuts

D6k (6)

D1q,u, D2fi , D3i, D4i, D5q,ui , D6k, D7k, D8k, D9i, D10i ∈ R≥0where Λk =

∑uq∈k

∑i∈V S∪Dum

(x̄q,ui )k