Abstract
We consider the task of embedding multiple service requests in Software-Defined Networks (SDNs), i.e. computing (combined) mappings of network functions on physical nodes and finding routes to connect the mapped network functions. A single service request may either be fully embedded or be rejected. The objective is to maximize the sum of benefits of the served requests, while the solution must abide node and edge capacities.
We follow the framework suggested by Even et al. [5] for the specification of the network functions and routing of requests via processing-and-routing graphs (PR-graphs): a request is represented as a directed acyclic graph with the nodes representing network functions. Additionally, a unique source and a unique sink node are given for each request, such that any source-sink path represents a feasible chain of network functions to realize the service. This allows for example to choose between different realizations of the same network function. Requests are attributed with a global demand (e.g. specified in terms of bandwidth) and a benefit.
Our main result is a randomized approximation algorithm for path computation and function placement with the following guarantee. Let m denote the number of links in the substrate network, \(\varepsilon \) denote a parameter such that \(0< \varepsilon <1\), and \(\mathsf {opt}^*\) denote the maximum benefit that can be attained by a fractional solution (one in which requests may be partly served and flow may be split along multiple paths). Let \(c_{\min }\) denote the minimum edge capacity, let \(d_{\max }\) denote the maximum demand, and let \(b_{\max }\) denote the maximum benefit of a request. Let \(\varDelta _{\max }\) denote an upper bound on the number of processing stages a request undergoes. If \(c_{\min }/(\varDelta _{\max }\cdot d_{\max })=\varOmega ((\log m)/\varepsilon ^2)\), then with probability at least \(1-\frac{1}{m}-\textit{exp}(-\varOmega (\varepsilon ^2\cdot \mathsf {opt}^*/(b_{\max }\cdot d_{\max })))\), the algorithm computes a \((1-\varepsilon )\)-approximate solution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
We believe there is a typo in the analogous theorem for integral MCFs with unit demands and unit benefits in [11, Theorem 11.2, p. 452] and that a factor of \(\varepsilon ^{-2}\) is missing in their lower bound on the capacities.
References
Abujoda, A., Papadimitriou, P.: MIDAS: middlebox discovery and selection for on-path flow processing. In Proceedings of the COMSNETS Conference (2015)
Dietrich, D., Abujoda, A., Papadimitriou, P.: Network service embedding across multiple providers with nestor. In: IFIP Networking Conference (2015)
Gember-Jacobson, A., et al.: OpenNF: Enabling innovation in network function control. In: Proceedings of the ACM SIGCOMM (2014)
GSNFV ETSI: Network functions virtualisation (NFV); use cases. V1.1.1 (2013)
Even, G., Medina, M., Patt-Shamir, B.: Competitive path computation and function placement in SDNs. CoRR, abs/1602.06169 (2016)
Even, G., Rost, M., Schmid, S.: An approximation algorithm for path computation and function placement in SDNs. CoRR, abs/1603.09158 (2016)
Fischer, A., Botero, J., Beck, M.T., de Meer, H., Hesselbach, X.: Virtual network embedding: a survey. IEEE Commun. Surv. Tutorials 15(4), 1888–1906 (2013)
Kreutz, D., Ramos, F.M.V., Verissimo, P.E., Rothenberg, C.E., Azodolmolky, S., Uhlig, S.: Software-defined networking: a comprehensive survey. Proc. IEEE 103(1), 14–76 (2015)
Lukovszki, T., Schmid, S.: Online admission control and embedding of service chains. In: Scheideler, C. (ed.) Structural Information and Communication Complexity. LNCS, vol. 9439, pp. 104–118. Springer, Heidelberg (2015). doi:10.1007/978-3-319-25258-2_8
Mehraghdam, S., Keller, M., Karl, H.: Specifying and placing chains of virtual network functions. In: IEEE 3rd International Conference on Cloud Networking (CloudNet), pp. 7–13. IEEE (2014)
Motwani, R., Naor, J.S., Raghavan, P.: Randomized approximation algorithms in combinatorial optimization. In: Approximation Algorithms for NP-Hard Problems, pp. 447–481. PWS Publishing Co. (1996)
Skoldstrom, P., et al.: Towards unified programmability of cloud and carrier infrastructure. In: Proceedings of the European Workshop on Software Defined Networking (2014)
Hartert, R., et al.: Declarative and expressive approach to control forwarding paths in carrier-grade networks. In: Proceedings of the ACM SIGCOMM (2015)
Raghavan, P.: Randomized rounding, discrete ham-sandwich theorems: provably good algorithms for routing and packing problems. In: Report UCB/CSD 87/312. Computer Science Division, University of California Berkeley (1986)
Raghavan, P., Tompson, C.D.: Randomized rounding: a technique for provably good algorithms and algorithmic proofs. Combinatorica 7(4), 365–374 (1987)
Rost, M., Schmid, S.: Service chain, virtual network embeddings: approximations using randomized rounding. CoRR, abs/1604.02180 (2016)
Sahhaf, S., Tavernier, W., Rost, M., Schmid, S., Colle, D., Pickavet, M., Demeester, P.: Network service chaining with optimized network function embedding supporting service decompositions. J. Comput. Net. (COMNET) 93, 492–505 (2015)
Soulé, R., Basu, S., Marandi, P.J., Pedone, F., Kleinberg, R., Sirer, E.G., Foster, N.: Merlin: a language for provisioning network resources. In: Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies (CoNEXT), pp. 213–226 (2014)
Xia, M., Shirazipour, M., Zhang, Y., Green, H., Takacs, A.: Network function placement for NFV chaining in packet/optical datacenters. J. Lightwave Technol. 33(8), 1565–1570 (2015)
Young, N.E.: Randomized rounding without solving the linear program. In: SODA, vol. 95, pp. 170–178 (1995)
Acknowledgment
This research was supported by the EU project UNIFY FP7-IP-619609 as well as by the German BMBF Software Campus grant 01IS1205. Stefan Schmid is supported by the Aalborg University’s inter-faculty Talent Program.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Multi-Commodity Flows
Consider a directed graph \(G=(V,E)\). Assume that edges have non-negative capacities c(e). For a vertex \(u\in V\), let \(\mathsf {out}(u)\) denote the outward neighbors, namely the set \(\{y \in V \mid (u,y)\in E\}\). Similarly, \(\mathsf {in}(u) \triangleq \{ x\in V \mid (x,u)\in E\}\). Consider two vertices s and t in V (called the source and destination vertices, respectively). A flow from s to t is a function \(f:E \rightarrow \mathbb {R}^{\ge 0}\) that satisfies the following conditions:
-
(i)
Capacity constraints: for every edge \((u,v)\in E\), \(0 \le f(u,v)\le c(u,v)\).
-
(ii)
Flow conservation: for every vertex \(u\in V\setminus \{s,t\}\)
$$\begin{aligned} \sum _{x\in \mathsf {in}(u)} f(x,u)&= \sum _{y\in \mathsf {out}(u)} f(u,y). \end{aligned}$$
The amount of flow delivered by the flow f is defined by
Consider a set ordered pairs of vertices \(\{(s_i,t_i)\}_{i\in I}\). An element \(i\in I\) is called a commodity as it denotes a request to deliver flow from \(s_i\) to \(t_i\). Let \(F\triangleq \{f_i\}_{i\in I}\) denote a set of flows, where each flow \(f_i\) is a flow from the source vertex \(s_i\) to the destination vertex \(t_i\). We abuse notation, and let F denote the sum of the flows, namely \(F(e)\triangleq \sum _{i\in I} f_i (e)\), for every edge e. Such a sequence is a multi-commodity flow if, in addition it satisfies cumulative capacity constraints defined by:
Demands are used to limit the amount of flow per commodity. Formally, let \(\{d_i\}_{i\in I}\) denote a sequence of positive real numbers. We say that \(d_i\) is the demand of flow \(f_i\) if we impose the constraint that \(|f_i|\le d_i\). Namely, one can deliver at most \(d_i\) amount of flow for commodity i.
The maximum benefit optimization problem associated with multi-commodity flow is formulated as follows. The input consists of a (directed) graph \(G=(V,E)\), edge capacities c(e), a sequence source-destination pairs for commodities \(\{(s_i,t_i)\}_{i\in I}\). Each commodity has a nonnegative demand \(d_i\) and benefit \(b_i\). The goal is to find a multi-commodity flow that maximizes the objective \(\sum _{(u,v)\in E} b_i \cdot |f_i|\). We often refer to this objective as the benefit of the multi-commodity flow. When the demands are identical and the benefits are identical, the maximum benefit problem reduces to a maximum throughput problem.
A multi-commodity flow is all-or-nothing if \(|f_i|\in \{0,d_i\}\), for every commodity \(i\in I\). A multi-commodity flow is unsplittable if the support of each flow is a simple path. (The support of a flow \(f_i\) is the set of edges (u, v) such that \(f_i(u,v)>0\).) We often emphasize the fact that a multi-commodity flow is not all-or-nothing or not unsplittable by saying that it fractional.
B Randomized Rounding Procedure
In this section we overview the randomized rounding procedure. The presentation is based on [11]. Given an instance \(F=\{f_i\}_{i\in I}\) of a fractional multi-commodity flow with demands and benefits, we are interested in finding an all-or-nothing unsplittable multi-commodity flow \(F'=\{f'_i\}_{i\in I}\) such that the benefit of \(F'\) is as close to the benefit of F as possible.
Observation 1
As flows along cycles are easy to eliminate, we assume that the support of every flow \(f_i\in F\) is acyclic.
We employ a randomized procedure, called randomized rounding, to obtain \(F'\) from F. We emphasize that all the random variables used in the procedure are independent. The procedure is divided into two parts. First, we flip random independent coins to decide which commodities are supplied. Next, we perform a random walk along the support of the supplied commodities. Each such walk is a simple path along which the supplied commodity is delivered. We describe the two parts in detail below.
Deciding which commodities are supplied. For each commodity, we first decide if \(|f'_i|=d_i\) or \(|f'_i|=0\). This decision is made by tossing a biased coin \(\textit{bit}_i\in \{0,1\}\) such that
If \(\textit{bit}_i=1\), then we decide that \(|f'_i|=d_i\) (i.e., commodity i is fully supplied). Otherwise, if \(\textit{bit}_i=0\), then we decide that \(|f'_i|=0\) (i.e., commodity i is not supplied at all).
Assigning paths to the supplied commodities. For each commodity i that we decided to fully supply (i.e., \(\textit{bit}_i=1\)), we assign a simple path \(P_i\) from its source \(s_i\) to its destination \(t_i\) by following a random walk along the support of \(f_i\). At each node, the random walk proceeds by rolling a dice. The probabilities of the sides of the dice are proportional to the flow amounts. A detailed description of the computation of the path \(P_i\) is given in Algorithm 1.

Definition of \(F'\) . Each flow \(f'_i\in F'\) is defined as follows. If \(\textit{bit}_i=0\), then \(f'_i\) is identically zero. If \(\textit{bit}_i=1\), then \(f'_i\) is defined by
Hence, \(F'\) is an all-or-nothing unsplittable flow, as required.
C Analysis of Randomized Rounding - Expected Flow per Edge
The presentation in this section is based on [11].
Claim
For every commodity i and every edge \((u,v)\in E\):
Proof
Since
it suffices to prove the first part.
An edge (u, v) can belong to the path \(P_i\) only if \(f_i(u,v)>0\). We now focus on edges in the support of \(f_i\). By Observation 1, the support is acyclic, hence we can sort the support in topological ordering. The claim is proved by induction on the position of an edge in this topological ordering.
The induction basis, for edges \((s_i,y)\in \mathsf {out}(s_i)\), is proved as follows. Since the support of \(f_i\) is acyclic, it follows that \(f_i(x,s_i)=0\) for every \((x,s_i)\in \mathsf {in}(s_i)\). Hence \(|f_i|=\sum _{y \in \mathsf {out}(s_i,f_i)}f_i(s_i,y)\). Hence,
and the induction basis follows.
The induction step, for an edge (u, v) in the support of \(f_i\) such that \(u\ne s_i\), is proved as follows. Vertex u is in \(P_i\) if and only if \(P_i\) contains an edge whose head is u. We apply the induction hypothesis to these incoming edges, and use flow conservation to obtain
Now,
and the claim follows. \(\square \)
By linearity of expectation, we obtain the following corollary.
Corollary 1
\(\mathbf {E} \left[ {|f'_i|} \right] = |f_i|\).
D Chernoff Bounds
In this section we present material from Raghavan [15] and Young [20] about the Chernoff bounds used in the analysis of randomized rounding.
Fact 1
\(e^x \ge 1+x\) and \(x\ge \ln (1+x)\) for \(x>-1\).
Fact 2
\((1+\alpha )^x \le 1+\alpha \cdot x\), for \(0\le x \le 1\) and \(\alpha \ge -1\).
Fact 3
(Markov Inequality). For a non-negative random variable X and \(\alpha >0\), \(\mathbf {Pr} \left[ {X\ge \alpha } \right] \le \frac{\mathbf {E} \left[ {X} \right] }{\alpha }\).
Definition 3
The function \(\beta :(-1,\infty ) \rightarrow \mathbb {R}\) is defined by \(\beta (\varepsilon )\triangleq (1+\varepsilon )\ln (1+\varepsilon ) - \varepsilon \).
Fact 4
For \(\varepsilon \) such that \(-1<\varepsilon <1\) we have \(\beta (-\varepsilon ) \ge \frac{\varepsilon ^2}{2} \ge \beta (\varepsilon ) \ge \frac{2\varepsilon ^2}{4.2\,+\,\varepsilon }\). Hence, \(\beta (-\varepsilon )=\varOmega (\varepsilon ^2)\) and \(\beta (\varepsilon )=\varTheta (\varepsilon ^2)\).
Theorem 2
(Chernoff Bound). Let \(\{X_i\}_i\) denote a sequence of independent random variables attaining values in [0, 1]. Assume that \(\mathbf {E} \left[ {X_i} \right] \le \mu _i\). Let \(X\triangleq \sum _i X_i\) and \(\mu \triangleq \sum _i \mu _i\). Then, for \(\varepsilon >0\),
Proof
Let A denote the event that \(X\ge (1+\varepsilon )\cdot \mu \). Let \(f(x)\triangleq (1+\varepsilon )^x\). Let B denote the event that
Because \(f(x)>0\) and f(x) is monotonously increasing, it follows that \(\mathbf {Pr} \left[ {A} \right] =\mathbf {Pr} \left[ {B} \right] \). By Markov’s Inequality,
Since \(X=\sum _i X_i\) is the sum of independent random variables,
We conclude that
and the theorem follows. \(\square \)
Using the same tools, the following theorem can be obtained for bounding the probability of the event that X is much smaller than \(\mu \) (see [6] for the proof).
Theorem 3
(Chernoff Bound). Under the same premises as in Theorem 2 except that \(\mathbf {E} \left[ {X_i} \right] \ge \mu _i\), it holds that, for \(1> \varepsilon \ge 0\),
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Even, G., Rost, M., Schmid, S. (2016). An Approximation Algorithm for Path Computation and Function Placement in SDNs. In: Suomela, J. (eds) Structural Information and Communication Complexity. SIROCCO 2016. Lecture Notes in Computer Science(), vol 9988. Springer, Cham. https://doi.org/10.1007/978-3-319-48314-6_24
Download citation
DOI: https://doi.org/10.1007/978-3-319-48314-6_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-48313-9
Online ISBN: 978-3-319-48314-6
eBook Packages: Computer ScienceComputer Science (R0)