Skip to main content

An Approximation Algorithm for Path Computation and Function Placement in SDNs

  • Conference paper
  • First Online:
Structural Information and Communication Complexity (SIROCCO 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9988))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 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

  1. Abujoda, A., Papadimitriou, P.: MIDAS: middlebox discovery and selection for on-path flow processing. In Proceedings of the COMSNETS Conference (2015)

    Google Scholar 

  2. Dietrich, D., Abujoda, A., Papadimitriou, P.: Network service embedding across multiple providers with nestor. In: IFIP Networking Conference (2015)

    Google Scholar 

  3. Gember-Jacobson, A., et al.: OpenNF: Enabling innovation in network function control. In: Proceedings of the ACM SIGCOMM (2014)

    Google Scholar 

  4. GSNFV ETSI: Network functions virtualisation (NFV); use cases. V1.1.1 (2013)

    Google Scholar 

  5. Even, G., Medina, M., Patt-Shamir, B.: Competitive path computation and function placement in SDNs. CoRR, abs/1602.06169 (2016)

    Google Scholar 

  6. Even, G., Rost, M., Schmid, S.: An approximation algorithm for path computation and function placement in SDNs. CoRR, abs/1603.09158 (2016)

    Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. 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)

    Article  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Skoldstrom, P., et al.: Towards unified programmability of cloud and carrier infrastructure. In: Proceedings of the European Workshop on Software Defined Networking (2014)

    Google Scholar 

  13. Hartert, R., et al.: Declarative and expressive approach to control forwarding paths in carrier-grade networks. In: Proceedings of the ACM SIGCOMM (2015)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Raghavan, P., Tompson, C.D.: Randomized rounding: a technique for provably good algorithms and algorithmic proofs. Combinatorica 7(4), 365–374 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  16. Rost, M., Schmid, S.: Service chain, virtual network embeddings: approximations using randomized rounding. CoRR, abs/1604.02180 (2016)

    Google Scholar 

  17. 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)

    Article  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. Young, N.E.: Randomized rounding without solving the linear program. In: SODA, vol. 95, pp. 170–178 (1995)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Matthias Rost .

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:

  1. (i)

    Capacity constraints: for every edge \((u,v)\in E\), \(0 \le f(u,v)\le c(u,v)\).

  2. (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

$$\begin{aligned} |f|&\triangleq \sum _{y\in \mathsf {out}(s)} f(s,y) - \sum _{x\in \mathsf {in}(s)} f(x,s). \end{aligned}$$

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:

$$\begin{aligned} \hbox {for every edge}~(u,v)\in E:&~~~F(u,v) \le c(u,v). \end{aligned}$$

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 (uv) 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

$$\begin{aligned} \mathbf {Pr} \left[ {\textit{bit}_i=1} \right]&\triangleq \frac{|f_i|}{d_i}. \end{aligned}$$

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.

figure a

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

$$\begin{aligned} f'_i(u,v)&\triangleq {\left\{ \begin{array}{ll} d_i &{} \text {if } (u,v)\in P_i,\\ 0&{} \text {otherwise.} \end{array}\right. } \end{aligned}$$

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\):

$$\begin{aligned} \mathbf {Pr} \left[ {(u,v)\in P_i} \right]&= \frac{f_i(u,v)}{d_i},\\ \mathbf {E} \left[ {f'_i(u,v)} \right]&= f_i(u,v). \end{aligned}$$

Proof

Since

$$\begin{aligned} \mathbf {E} \left[ {f'_i(u,v)} \right]&= d_i \cdot \mathbf {Pr} \left[ {(u,v)\in P_i} \right] , \end{aligned}$$

it suffices to prove the first part.

An edge (uv) 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,

$$\begin{aligned} \mathbf {Pr} \left[ {(s_i,y)\in P_i} \right]&= \mathbf {Pr} \left[ {\textit{bit}_i =1} \right] \cdot \mathbf {Pr} \left[ {\text {dice } C(s_i,f_i)\text { selects } (s_i,y) \mid \textit{bit}_i=1} \right] \\&= \frac{|f_i|}{d_i} \cdot \frac{f_i(s_i,y)}{\sum _{y \in \mathsf {out}(s_i,f_i)}f_i(s_i,y)} \\&=\frac{f_i(s_i,y)}{d_i}, \end{aligned}$$

and the induction basis follows.

The induction step, for an edge (uv) 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

$$\begin{aligned} \mathbf {Pr} \left[ {u\in P_i} \right]&= \mathbf {Pr} \left[ {\bigcup _{x\in \mathsf {in}(u)} (x,u)\in P_i} \right] \\&= \frac{1}{d_i} \cdot \sum _{x\in \mathsf {in}(u)} f_i(x,u)\\&= \frac{1}{d_i} \cdot \left( \sum _{y\in \mathsf {out}(u)} f_i(u,y) \right) . \end{aligned}$$

Now,

$$\begin{aligned} \mathbf {Pr} \left[ {(u,v)\in P_i} \right]&=\mathbf {Pr} \left[ {u\in P_i} \right] \cdot \mathbf {Pr} \left[ {\text {dice }C(u,f_i)\text { selects }(u,v)\mid u\in P_i} \right] \\&= \frac{1}{d_i} \cdot \left( \sum _{y\in \mathsf {out}(u)} f_i(u,y)\right) \cdot \frac{f_i(u,v)}{\sum _{y\in \mathsf {out}(u)} f_i(u,y)}\\&=\frac{f_i(u,v)}{d_i}, \end{aligned}$$

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\),

$$\begin{aligned} \mathbf {Pr} \left[ {X\ge (1+\varepsilon )\cdot \mu } \right]&\le e^{-\beta (\varepsilon )\cdot \mu }. \end{aligned}$$

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

$$\begin{aligned} \frac{f(X)}{f((1+\varepsilon )\cdot \mu )}&\ge 1. \end{aligned}$$

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,

$$\begin{aligned} \mathbf {Pr} \left[ {B} \right]&\le \frac{\mathbf {E} \left[ {f(X)} \right] }{f((1+\varepsilon )\cdot \mu )}. \end{aligned}$$

Since \(X=\sum _i X_i\) is the sum of independent random variables,

$$\begin{aligned} \mathbf {E} \left[ {f(X)} \right]&=\prod _i \mathbf {E} \left[ {(1+\varepsilon )^{X_i}} \right] \\&\le \prod _i \mathbf {E} \left[ {1+\varepsilon \cdot X_i} \right] \quad&(by~Fact~2)\\&\le \prod _i (1+\varepsilon \cdot \mu _i) \\&\le \prod _i e^{\varepsilon \cdot \mu _i} \qquad \qquad&(by~Fact~1)\\&= e^{\varepsilon \cdot \mu } \end{aligned}$$

We conclude that

$$\begin{aligned} \mathbf {Pr} \left[ {A} \right]&\le \frac{e^{\varepsilon \cdot \mu } }{f((1+\varepsilon )\cdot \mu )}\\&=e^{-\beta (\varepsilon )\cdot \mu }, \end{aligned}$$

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\),

$$\begin{aligned} \mathbf {Pr} \left[ {X\le (1-\varepsilon )\cdot \mu } \right]&\le e^{-\beta (-\varepsilon )\cdot \mu }. \end{aligned}$$

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics