Skip to main content
Log in

Constrained max-min fair scheduling of variable-length packet-flows to multiple servers

  • Published:
Annals of Telecommunications Aims and scope Submit manuscript

Abstract

In this paper, we study a multi-server queuing system wherein each user is constrained to get service only from a specified subset of servers. Fair packet scheduling in such a setting poses novel challenges that we address in this paper. Specifically, we observe that max-min fair allocation of the available resource over different servers (notably bandwidth) in the presence of placement constraints results in different levels of fair service-rates. To achieve the max-min fair service rates, we propose a novel packet scheduler which is inspired by the deficit-round robin (DRR) algorithm. The scheduler allocates tokens to flows in a round-by-round manner, where token allocation to flows at the beginning of each round is weighted max-min fair. So, we have called it multi-server max-min fair DRR (MSMF-DRR). The performance of the MSMF-DRR algorithm in terms of achieving fairness is shown through a worst-case performance analysis. In addition to analytical results, numerical experiments are also carried out to illustrate service isolation and the delay guarantee that are provided by the algorithm. Generally, a scheduler for such a constrained multi-server queuing system can be applicable in many modern data-networking applications, especially in cloud computing wherein virtual machines and/or processes vie for different IT resources distributed over heterogenous servers, while different processes may have preferences over servers owing to their quality-of-service requirements and the heterogeneity of servers.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. When we are talking about a specific time instant, we may drop the index of time for the sake of simplicity in notation.

  2. This is to prevent the algorithm from deadlock. To ensure \(\mathcal {O}(1)\) packet enqueue and dequeue complexity for DRR algorithm that is implemented on each server, it is required to choose round duration sufficiently large such that 𝜃 n, i L, ∀n, ∀i. However, there is a trade-off between the complexity and fairness performance of DRR [18]. We may accept an increase in the complexity and choose T such that Eq. 7 is satisfied for all servers.

  3. For each server i always, there exists at least one flow n for which \(\alpha _{n,i}>1/{\sum }_{m}\delta _{m,i}\). When Eq. 8 is satisfied, at least one largest sized packet of such flows can be served in each round.

  4. We here dropped the index of time for the sake of simplicity in notation.

  5. The lower bound on A is to prevent the algorithm from deadlock.

  6. The length of each packet can be 40, 576 or 1500 bytes with probabilities of 7/12, 4/12, and 1/12, respectively.

  7. Scalar functions are assumed to be left-continuous, that is f(t ) = f(t).

  8. The total number of tokens allocated from server i at τ 0(whether released or not released) equals to σ i = c i T 0.Hence, it takes at most T 0seconds from τ 0till this amount of tokens is depleted.

  9. The reason is that max-min fair allocation here satisfies “resource monotonicity,” that is, if the capacity of some server i is increased, \(c^{\prime }_{i}>c_{i}\), the allocated service rate to no flow will be decreased, \(r^{\prime }_{m}\ge r_{m},~\forall m\).

References

  1. Bennett JCR, Zhang H (1996) Wf2q: worst-case fair weighted fair queueing. In: Proceedings IEEE INFOCOM ’96, vol 1, pp 120–128

    Google Scholar 

  2. Bertsekas D, Gallager R (1992) Data networks. Prentice Hall

  3. Blanquer J, Ozden B (2001) Fair queuing for aggregated multiple links. In: Proceedings ACM SIGCOMM

    Google Scholar 

  4. Boyd S, Vandenberghe L (2004) Convex optimization. Cambridge University Press

  5. Chandra A, Adler M, Goyal P, Shenoy P (2000) Surplus fair scheduling: a proportional-share cpu scheduling algorithm for symmetric multiprocessors. In: Proceedings USENIX conference on operating system design & implementation

    Google Scholar 

  6. Chandra A, Adler M, Shenoy P (2001) Deadline fair scheduling: bridging the theory and practice of proportionate fair scheduling in multiprocessor systems. In: Proceedings IEEE real-time technology and applications symposium

    Google Scholar 

  7. Demers A, Keshav S, Shenker S (1989) Analysis and simulation of a fair queueing algorithm. In: ACM SIGCOMM Comput. Commun. Rev., vol 19

    Google Scholar 

  8. Floyd S, Jacobson V (1995) Link-sharing and resource management models for packet networks. IEEE/ACM Trans Networking 3(4):365–386

    Article  Google Scholar 

  9. Ghodsi A, Zaharia M, Shenker S, Stoica I (2013) Choosy: max-min fair sharing for datacenter jobs with constraints. In: Proceedings ACM EuroSys, pp 365–378

    Google Scholar 

  10. Golestani SJ (1994) A self-clocked fair queueing scheme for broadband applications. In: Proceedings IEEE INFOCOM 94, pp 636–646

    Google Scholar 

  11. Goyal P, Vin H, Cheng H (1997) Start-time fair queuing: a scheduling algorithm for integrated services packet switching networks. IEEE/ACM Trans Networking 5(5):690–704

    Article  Google Scholar 

  12. Kanhere SS, Sethu H, Parekh AB (2002) Fair and efficient packet scheduling using elastic round robin. IEEE Trans Parallel Distrib Syst 13(3):324–336

    Article  Google Scholar 

  13. Khamse-Ashari J, Kesidis G, Lambadaris I, Urgaonkar B, Zhao Y (2016) Constrained max-min fair scheduling of variable-length packet-flows to multiple servers. In: Proceedings IEEE Globecom

    Google Scholar 

  14. Khamse-Ashari J, Kesidis G, Lambadaris I, Urgaonkar B, Zhao Y (2016) Max-min fair scheduling of variable-length packet-flows to multiple servers by deficit round-robin. In: Proceedings CISS, Princton

    Google Scholar 

  15. Khamse-Ashari J, Kesidis G, Lambadaris I, Urgaonkar B, Zhao Y (2017) Efficient and fair scheduling of placement constrained threads on heterogeneous multi-processors. In: Proceedings IEEE DCPerf. Atlanta

  16. Khamse-Ashari J, Lambadaris I, Kesidis G, Urgaonkar B, Zhao Y (2017) Per-server dominant-share fairness (ps-dsf): a multiresource fair allocation mechanism for heterogeneous servers. In: Proceedings ICC. Paris

  17. Khamse-Ashari J, Lambadaris I, Zhao YQ (2016) Constrained multi-user multi-server max-min fair queuing. arXiv:1601.04749

  18. Lenzini L, Mingozzi E, Stea G (2002) Aliquem: a novel DRR implementation to achieve better latency and fairness at O(1) complexity. In: Proceedings IWQos

    Google Scholar 

  19. Mo J, Walrand J (2000) Fair end-to-end window-based congestion control. IEEE Trans Netw Serv Manag 8(5):556–567

    Article  Google Scholar 

  20. Parekh A, Gallager R (1993) A generalized processor sharing approach to flow control in integrated services networks: the single-node case. IEEE/ACM Trans Networking 1:344–357

    Article  Google Scholar 

  21. Parekh AK, Gallager RG (1993) A generalized processor sharing approach to flow control in integrated services networks: the single-node case. IEEE/ACM Trans Networking 1(3):344–357

    Article  Google Scholar 

  22. Shreedhar M, Varghese G (1996) Efficient fair queueing using deficit round-robin. IEEE/ACM Trans Networking 4(3):375– -385

    Article  Google Scholar 

  23. Wang W, Li B, Liang B, Li J (2016) Multi-resource fair sharing for datacenter jobs with placement constraints. In: Proceedings international conference for high performance computing

    Google Scholar 

  24. Yap K (2013) Using all wireless networks around us. PhD Thesis, Stanford University

    Google Scholar 

  25. Yap K, Huang T, Yiakoumis Y, Chinchali S (2013) Scheduling packets over multiple interfaces while respecting user preferences. In: Proceedings ACM coNEXT

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. Khamse-Ashari.

Additional information

Portions of the work presented herein were presented at conferences [13, 14].

Appendix

Appendix

Proof of Theorem 2 - Proof of only if.

Let {α n, i } denote an optimal solution to problem \(\mathcal {P}_{1}\).The feasibility constraint in Eq. 13 requires that α n, i = 0 when δ n, i = 0. Let \(\mathcal {K}_{1}\) denote a subset of active servers such that:

$$ \mathcal{K}_1:=\{i\in\mathcal{K}|\delta_{n,i}=1,\text{ for some }n\in\mathcal{B}\}. $$
(39)

Without loss of generality we can assume that α n, i = 0 for \(n\notin \mathcal {B}\)or\(i\notin \mathcal {K}_{1}\). In fact, we canformulate \(\mathcal {P}_{1}\)only in terms of {α n, i } such that \(i\in \mathcal {K}_{1}\), \(n\in \mathcal {B}\), and δ n, i = 1. The Lagrangian function for this problem can be written as:

$$\begin{array}{@{}rcl@{}} L(\alpha,\lambda,\nu)& = &\sum\limits_{n\in\mathcal{B}}\phi_{n} g(\tilde{r}_{n})\\ &&\!+ \sum\limits_{i\in\mathcal{K}_{1}}\lambda_{i}\left( 1\!-\sum\limits_{n\in\mathcal{B}}\alpha_{n,i}\right)\!\sum\limits_{n\in\mathcal{B},i\in\mathcal{K}_{1}}\nu_{n,i}\alpha_{n,i}, \end{array} $$

where λ i ≥ 0and ν n, i ≥ 0 denote the Lagrange multipliers associated with inequality constraints in Eqs. 11 and 12, respectively, and \(\tilde {r}_{n}:={\sum }_{i}\alpha _{n,i}c_{i}/\phi _{n}\). For problem \(\mathcal {P}_{1}\), with aconcave objective function and a convex feasibility region, KKT conditions describe necessary and sufficient conditions for optimality [4].Specifically, {α n, i } is an optimal solution to this problem iff there exists a set of Lagrange multipliers {λ i }and {ν n, i }, for everyserver \(i\in \mathcal {K}_{1}\) and each flow \(n\in \mathcal {B}\)for which δ n, i = 1, such that:

$$\begin{array}{@{}rcl@{}} && \frac{\partial L(\alpha,\lambda,\nu)}{\partial\alpha_{n,i}}=c_{i}g^{\prime}({\tilde{r}_{n}})-\lambda_{i}+\nu_{n,i}=0, \end{array} $$
(40)
$$\begin{array}{@{}rcl@{}} && \lambda_{i}\left( {\sum}_{n}\alpha_{n,i}-1\right)=0, \end{array} $$
(41)
$$\begin{array}{@{}rcl@{}} && \nu_{n,i}\alpha_{n,i}=0. \end{array} $$
(42)

Given that g(⋅) is a strictly concave and increasing function, it follows that g′ (⋅) > 0. Hence, Eq. 40 implies that λ i > ν n, i , for each flow \(n\in \mathcal {B}:\delta _{n,i}=1,~\forall i\in \mathcal {K}_{1}\). As a result, it follows that \(\lambda _{i}>0, \forall i\in \mathcal {K}_{1}\). Accordingly, Eq. 41 implies that the inequality constraints in Eq. 11 are active, i.e.,

$$ \sum\limits_n\alpha_{n,i}=1, \forall i\in\mathcal{K}_1. $$
(43)

Since g(⋅) is a strictly concave function, g′(⋅) is strictly decreasing, and as a result it is invertible. The inverse of g′(⋅) is also a strictly decreasing function which we denote it by h(⋅). Accordingly, Eq. 40 can be rewritten as:

$$ \tilde{r}_n=h\left( \frac{\lambda_i-\nu_{n,i}}{c_i}\right), ~\forall n\in\mathcal{B}: \delta_{n,i}=1. $$
(44)

Now consider two active flows n and m for which δ n, i = δ m, i = 1 and α n, i > 0. Since α n, i > 0, then Eq. 42 implies that ν n, i = 0. Therefore:

$$ \tilde{r}_n=h\left( \frac{\lambda_i}{c_i}\right)\le h\left( \frac{\lambda_i-\nu_{m,i}}{c_i}\right)=\tilde{r}_m $$
(45)

where the above inequality follows from the fact that h(⋅) is a decreasing function. Given that Eqs. 43 and 45 are established, Theorem 1 implies that {α n, i } is a set of max-min fair allocation parameters. □

Proof of if

Consider a set of max-min fair allocation parameters, {α n, i }. The fact that {α n, i } satisfies max-min fairness implies that α n, i = 0 if δ n, i = 0 (Otherwise, we may increase \(\tilde {r}_{m}\)for some flow m with δ m, i = 1, without decreasing \(\tilde {r}_{n}\). This contradicts the fact that {α n, i } satisfies max-min fairness.). Also, we can assume that α n, i = 0 if \(n\notin \mathcal {B}\) or \(i\notin \mathcal {K}_{1}\)(c.f. Eq. 39). We will show that KKT conditions Eqs. 4042 are satisfied for every server \(i\in \mathcal {K}_{1}\) and each flow \(n\in \mathcal {B}\)for which δ n, i = 1.

The fact that {α n, i } satisfies max-min fairness implies that \({\sum }_{n}\alpha _{n,i}=1,~\forall i\in \mathcal {K}_{1}\)(Otherwise, we may increase \(\tilde {r}_{m}\)for some flow m with δ m, i = 1, without decreasing the allocated service rates to other flows.). Hence, Eq. 41 is established for all servers \(i\in \mathcal {K}_{1}\). For each server \(i\in \mathcal {K}_{1}\), there exists some flow n for which α n, i > 0. According to Theorem 1, it follows that \(\tilde {r}_{n}=\tilde {r}_{p},~\forall p:\alpha _{p,i}>0\). Hence, we can choose \(\lambda _{i}:=c_{i}g^{\prime }(\tilde {r}_{n})\). If we consider an arbitrary flow for which δ m, i = 1, Theorem 1 implies that \(\tilde {r}_{m}\ge \tilde {r}_{n}\). Therefore, we can choose \(\nu _{m,i}=\lambda _{i}-c_{i}g^{\prime }(\tilde {r}_{m})=c_{i}[g^{\prime }(\tilde {r}_{n})-g^{\prime }(\tilde {r}_{m})]\ge 0\), which results in ν m, i = 0 when α m, i > 0. Hence, Eqs. 40 and 42 are established for all active flows for which δ m, i = 1. □

Proof of Lemma 1

Let \({\mathcal Z}_{i}:=\{n\in \mathcal {B}\mid \alpha _{n,i}^{(l-1)}=0\}\). The Lagrangian function for \({\mathcal P}_{2}\) is:

$$ L({\alpha},{\lambda},{\nu}):=\frac{1}{2}\|\textbf{d}^{\prime}_i-\textbf{d}_i\|^2+\lambda\sum\limits_{n\in\mathcal{B}}d^{\prime}_{n,i}-\sum\limits_{n\in{\mathcal Z}_i}\nu_{n,i}d^{\prime}_{n,i}. $$
(46)

For the convex optimization problem \(\mathcal {P}_{2}\), KKT conditions describe necessary and sufficient conditions for optimality. Specifically,

$$\begin{array}{@{}rcl@{}} &&d^{\prime}_{n,i}-d_{n,i}+\lambda-\nu_{n,i}\textbf{1}_{n\in{\mathcal Z}_{i}}=0,~\forall n\in\mathcal{B},~~ \end{array} $$
(47)
$$\begin{array}{@{}rcl@{}} &&d^{\prime}_{n,i}\nu_{n,i}=0,~\forall n\in{\mathcal Z}_{i}, \end{array} $$
(48)
$$\begin{array}{@{}rcl@{}} &&\sum\limits_{n\in\mathcal{B}}d^{\prime}_{n,i}=0. \end{array} $$
(49)

Finding \(d^{\prime }_{n,i}\)from Eq. 47 and substituting it into Eq. 49 results in:

$$ \lambda=\frac{{\sum}_{n\in\mathcal{B}}d_{n,i}+{\sum}_{n\in{\mathcal Z}_i}\nu_{n,i}}{|\mathcal{B}|}, $$
(50)

where \(|\mathcal {B}|={\sum }_{n\in \mathcal {B}}1\). Accordingto Eq. 48, if \(d^{\prime }_{n,i}>0\)then ν n, i = 0. Therefore, Eq. 48 implies that:

$$ d^{\prime}_{n,i} = \left[d_{n,i}-\frac{{\sum}_{m\in\mathcal{B}}d_{m,i}+{\sum}_{m\in{\mathcal Z}_i}\nu_{m,i}}{|\mathcal{B}|}\right]^+. $$
(51)

Let \(\bar {\mathcal {Z}}_{i}:=\{m\in {\mathcal Z}_{i}\mid d^{\prime }_{m,i}=0\}\). Accordingto Eq. 48, if ν n, i > 0 then \(n\in \bar {\mathcal {Z}}_{i}\). Therefore, \({\sum }_{n\in {\mathcal {Z}}_{i}}\nu _{n,i} = {\sum }_{n\in \bar {\mathcal {Z}}_{i}}\nu _{n,i}\). After summing bothsides of Eq. 47 over \(n\in \bar {\mathcal {Z}}_{i}\)and doing some manipulations, it follows that:

$$ \sum\limits_{n\in{\mathcal{Z}}_i}\nu_{n,i}=\frac{|\bar{\mathcal{Z}}_i|{\sum}_{n\in\mathcal{B}}d_{n,i}-|\mathcal{B}|{\sum}_{n\in\bar{\mathcal{Z}}_i}d_{n,i}}{|\mathcal{B}|-|\bar{\mathcal{Z}}_i|}, $$
(52)

where \(|\bar {\mathcal {Z}}_{i}|={\sum }_{n\in \bar {\mathcal {Z}}_{i}}1\). Substituting \({\sum }_{n\in {\mathcal {Z}}_{i}}\nu _{n,i}\)from Eq. 52 into Eq. 51 results in:

$$ d^{\prime}_{n,i}=\left[d_{n,i}-\frac{{\sum}_{m\in {\mathcal A}_i}d_{m,i}}{{\sum}_{m\in {\mathcal A}_i}1}\right]^+. $$
(53)

where \(\mathcal {A}_{i}:=\{m\in \mathcal {B}\mid \alpha _{m,i}^{l-1}>0\text { or }d^{\prime }_{m,i}>0\}\). □

A sketch of the Proof of Lemma 2

According to the Constrained Optimality Theorem, \(\mathbf {d}^{\prime \ast }_{i}\)is the optimal solution to \(\mathcal {P}_{2}\)if and only if [4]:

$$ (\mathbf{d}^{\prime *}_i-\mathbf{d}_i)^T(\mathbf{d}^{\prime}_i-\mathbf{d}^{\prime*}_i)\ge 0, $$
(54)

for all feasible directions \(\mathbf {d}^{\prime }_{i}\)satisfying theconstraints in Eqs. 1517. By substituting \(\mathbf {d}^{\prime }_{i}=0\)into Eq. 54, it follows that \(\mathbf {d}_{i}^{T}\mathbf {d}^{\prime *}_{i}\ge \|d^{\prime *}_{i}\|^{2}\), which shows that \(\mathbf {d}^{\prime *}_{i}\)is an ascent direction. According to backtracking line search criteria in Eq. 20, \(G(\alpha ^{(l)})-G(\alpha ^{(l-1)})\ge \frac {1}{2}\beta {\sum }_{i}\mathbf {d}_{i}^{T}\mathbf {d}^{\prime *}_{i}\). Hence, the basic convergence theorem for backtracking line search implies that the sequence {α (l)} linearly converges tosome feasible point α , where \(\forall i,~\|\mathbf {d}^{\prime *}_{i}\|\rightarrow 0\).

Let \(\mathbf {d}^{\prime }=[\mathbf {d}^{\prime }_{i}]\)denote an arbitraryfeasible direction at α . So, we can find β > 0 such that α + β d′ is a feasiblepoint. Given that G(⋅) is a concave function, it follows that:

$$\begin{array}{@{}rcl@{}} G(\alpha^{*}+\beta \mathbf{d}^{\prime}) &\le& G(\alpha^{*})+\beta \mathbf{d}^{T}\mathbf{d}^{\prime} \end{array} $$
(55)

where d = [d i ] is the gradient vector at α . Given that \(\mathbf {d}^{\prime }_{i}\) and \(\mathbf {d}^{\prime *}_{i}\)both are feasible directions satisfying Eqs. 1517, it follows that \(\mathbf {d}^{\prime }_{i}+\mathbf {d}^{\prime *}_{i}\)also satisfies the constraints in Eqs. 1517and therefore is a feasible direction. If we substitute \(\mathbf {d}^{\prime }_{i}+\mathbf {d}^{\prime *}_{i}\) instead of \(\mathbf {d}^{\prime }_{i}\) in Eq. 54, itfollows that \((\mathbf {d}_{i}-\mathbf {d}^{\prime *}_{i})^{T}\mathbf {d}^{\prime }_{i}\le 0\). Applying this into Eq. 55 results in:

$$\begin{array}{@{}rcl@{}} G(\alpha^{*}+\beta \mathbf{d}^{\prime}) &\le& G(\alpha^{*})+\beta \mathbf{d}^{\prime T}\mathbf{d}^{\prime*}\\ &\doteq & G(\alpha^{*}) \end{array} $$
(56)

where the equality follows from the fact that ∀i, ∥d ′∗ i ∥→ 0.The inequality in Eq. 56 implies that α is a local optimum point for \(\mathcal {P}_{1}\). Thefact that α is globally optimal followsfrom convexity of the problem. □

Proof of Theorem 3

Let ζ i,1 denote the last instant of time until t 1, ζ i,1t 1, at which a cycle expires at server i. Let ζ i,0 denote the beginning of this cycle. The remaining released tokens for every flow n from server i at ζ i,1, ρ n, i (ζ i,1) is less than L.Footnote 7 Let ρ n, i (ζ i,1, t 2)denote the amount of tokens released for flow n from server i during [ζ i,1, t 2). The amount of service received by flow n during [t 1, t 2), W n, i (t 1, t 2) is less than or equal to:

$$\begin{array}{@{}rcl@{}}W_{n,i}(t_{1},t_{2}) & \le & \rho_{n,i}(\zeta_{i,1},t_{2}) + \rho_{n,i}(\zeta_{i,1})-\rho_{n,i}(t_{2})\\ & \le & \rho_{n,i}(\zeta_{i,1},t_{2}) + L , \end{array} $$
(57)

where the second inequality follows from the fact that ρ n, i (t 2) ≥ 0 and ρ n, i (ζ i,1) < L. On the other hand, ρ n, i (ζ i,1, t 2) is upper bounded by the amount oftokens that are allocated during [ζ i,1, t 2) plus the tokens that are currently allocated at ζ i,1, i.e.,

$$ \rho_{n,i}(\zeta_{i,1},t_2)\le \theta_{n,i}(\zeta_{i,1})+\Theta_{n,i}(\zeta_{i,1},t_2) $$
(58)

Any tokens that are allocated from server i until ζ i,0, are released at ζ i,0. Therefore, 𝜃 n, i (ζ i,1) is tokens that are allocated during (ζ i,0, ζ i,1). Therefore:

$$ \theta_{n,i}(\zeta_{i,1})+\Theta_{n,i}(\zeta_{i,1},t_2)=\Theta_{n,i}(\zeta_{i,0}^+,t_2) $$
(59)

Assume that token allocations are updated l times during (ζ i,0, t 2). Specifically, let τ 1, τ 2, ... , τ l ∈ (ζ i,0, t 2) denote the instants of updating. Hence:

$$ \Theta_{n,i}(\zeta_{i,0}^+,t_2) = \sum\limits_{h=1}^l\Theta_{n,i}(\tau_h,\tau_h^+) $$
(60)

where \(\Theta _{n,i}(\tau _{h},\tau _{h}^{+})\) is the amount of tokens allocated to each flow n from server i in the h th token allocation, 1 ≤ hl:

$$ \Theta_{n,i}(\tau_h,\tau_h^+)=r_{n,i}^{(h)}(\tau_h-\tau_{h-1}) $$
(61)

where τ 0is the lastinstant of time until ζ i,0, τ 0ζ i,0, at which token allocationsare updated, and \(r_{n,i}^{(h)}=\alpha _{n,i}^{(h)}c_{i}\)is the service rate that is assigned to flow n from server i in the h thallocation. The allocated tokens at τ 0are released at the beginning of thecycle starting at ζ i,0. This cycle continuespast ζ i,1, where a new cycle starts. Hence, τ 0should be greater than or equal to ζ i,1T 0.Footnote 8 With the same line of arguments, it follows that ζ i,1t 1T 0.As a result, τ 0t 1 − 2T 0. Since the set of activeflows does not change during ((t 1 − 2T 0)+, t 2),the allocation parameters, and hence the allocated service rates, are the same for τ h > τ 0, that is\(r_{n,i}^{(h)}=r_{n,i}\)for 1 ≤ hl. If we sum Eq. 61 over different h, 1 ≤ hl,it follows that:

$$\begin{array}{@{}rcl@{}} \Theta_{n,i}(\zeta_{i,0}^{+},t_{2}) & = & \sum\limits_{h=1}^{l}\Theta_{n,i}(\tau_{h},\tau_{h}^{+})\\ & = & r_{n,i}(\tau_{l}-\tau_{0})\\ &\le& r_{n,i}(t_{2}-t_{1}+2T_{0}) \end{array} $$
(62)

where the last inequality follows from the fact that τ l t 2and τ 0t 1 − 2T 0. From Eqs. 5759, and 62, it follows that:

$$\begin{array}{@{}rcl@{}} W_{n}(t_{1},t_{2}) & = & \sum\limits_{i:\delta_{n,i}=1}W_{n,i}(t_{1},t_{2})\\ &\le& \sum\limits_{i:\delta_{n,i}=1}[r_{n,i}(t_{2}-t_{1}+2T_{0})+L]\\ & = & r_{n}(t_{2}-t_{1})+\left[2r_{n}T_{0}+L\sum\limits_{i}\delta_{n,i}\right] \end{array} $$
(63)

To complete the proof, we also need to prove that:

$$ W_n(t_1,t_2)\ge r_n(t_2-t_1)-\left( 2r_nT_0+L{\sum}_i\delta_{n,i}\right) $$
(64)

The lower bound in Eq. 64 can be shown in the same way. Alternatively, the reader may follow the more general proof of Theorem4. □

Proof of Lemma 3

Let \(\hat {t}_{2}\in [t_{1},t_{2}]\)denote the last instant of time until t 2, \(\hat {t}_{2}\le t_{2}\), at which \({x}_{i}(\hat {t}_{2})\neq 0\)for some server i. If there is not such instant of time let \(\hat {t}_{2}=t_{1}\). In case that \(\hat {t}_{2}<t_{2}\), x i (t) = 0for every \(t\in (\hat {t}_{2},t_{2}]\). Let us assume that token allocations are updated during \([t_{1},\hat {t}_{2})\)for l times. Specifically, let τ 1, τ 2, ... , τ l denote the instants of updates during \([t_{1},\hat {t}_{2})\). Let τ 0, τ 0 < t 1, denote the last token allocation before t 1. The total number of tokens allocated to flow n during \([t_{1},\hat {t}_{2})\), \(\Theta _{n}(t_{1},\hat {t}_{2})\)is:

$$\begin{array}{@{}rcl@{}} \Theta_{n}(t_1,\hat{t}_2) & = & \sum\limits_{h=1}^l\Theta_n(\tau_h,\tau_h^+)\\ & = & \sum\limits_{h=1}^l\sum\limits_i\alpha_{n,i}^{(h)}s_i(\tau_h), \end{array} $$
(65)

where \(\Theta _{n}(\tau _{h},\tau _{h}^{+})\)is the amount of tokens allocated to flow n in the h th update, and \(\{\alpha _{n,i}^{(h)}\}\)are the corresponding allocation parameters. We define:

$$\begin{array}{@{}rcl@{}} r_n{(\tau_h)}: & = &\sum\limits_i\alpha_{n,i}^{(h)}s_i(\tau_h)/(\tau_h-\tau_{h-1})\\ & = & \sum\limits_i\alpha_{n,i}^{(h)}\bar{c}_i(\tau_h), \end{array} $$
(66)

as the assigned service rate to flow n in the hth update, where \(\bar {c}_{i}(\tau _{h})\)- as defined by Eq. 27- is the average capacity of server i observed over interval (τ h−1, τ h ). According to Lemma 4 (c.f. Eq. 70):

$$\begin{array}{@{}rcl@{}} \sum\limits_i\alpha_{n,i}^{(h)}s_i(\tau_h) & = & r_n{(\tau_h)}[\tau_h-\tau_{h-1}]\\ &\ge& {\int}_{\tau_{h-1}+\bar{T}}^{\tau_h+\bar{T}}\hat{r}_n(z)dz, \end{array} $$
(67)

where \(\hat {r}_{n}(z)\)is the assigned service rate to flow n when a set of servers with the capacities {x i (z)}- as defined in Eq. 31-are allocated to the set \(\mathcal {B}\)of active flows in a max-min fair manner. The inequality in Eq. 67 along with Eq. 65 imply that:

$$\begin{array}{@{}rcl@{}} \Theta_{n}(t_1,t_2) &\ge& \sum\limits_{h=1}^l{\int}_{\tau_{h-1}+\bar{T}}^{\tau_h+\bar{T}}\hat{r}_n(z)dz\\ & = & {\int}_{\tau_{0}+\bar{T}}^{\tau_l+\bar{T}}\hat{r}_n(z)dz\\ &\ge& {\int}_{t_{1}+\bar{T}}^{\tau_l+\bar{T}}\hat{r}_n(z)dz, \end{array} $$
(68)

where the last inequality follows from the fact that τ 0 < t 1. The fact that \({x}_{i}(\hat {t}_{2})\neq 0\)for someserver i, implies that c i (τ) > 0 for \(\tau \in (\hat {t}_{2}-2\bar {T},\hat {t}_{2}]\), i.e., server i is continuously active during \((\hat {t}_{2}-2\bar {T},\hat {t}_{2}]\). Hence, the amount ofservice given by server i during \([\hat {t}_{2}-\bar {T},\hat {t}_{2})\)is greater than or equal to \(\sigma _{i}=c_{i}^{\min }\bar {T}\)(c.f. Eq. 30). On the other hand, the total number of tokens allocated from server i at \(\hat {t}_{2}-\bar {T}\)(whether released or notreleased) is upper bounded by σ i . Therefore, token allocations should be updated at least one time during \([\hat {t}_{2}-\bar {T},\hat {t}_{2})\), that is \(\tau _{l}\geq \hat {t}_{2}-\bar {T}\). This along with Eq. 68 result in:

$$\begin{array}{@{}rcl@{}} \Theta_{n}(t_1,t_2) &\ge& {\int}_{t_{1}+\bar{T}}^{\hat{t}_2}\hat{r}_n(z)dz,\\ & = & {\int}_{t_1+\bar{T}}^{t_2}\hat{r}_n(z)dz \end{array} $$
(69)

where the last equality follows from the fact that x i (t) = 0, \(~\forall i,~\forall t\in (\hat {t}_{2},t_{2}]\), which impliesthat \(\hat {r}_{n}(t)=0,~\forall t\in (\hat {t}_{2},t_{2}]\). □

Lemma 4

Let τ h denote an instant of time where token allocations are updated. Let τ h−1 denote the last token allocation before τ h . The assigned service rate to each flow n at τ h - as defined by Eq. 66 - is greater than or equal to:

$$ r_n{(\tau_h)}\ge {\int}_{\tau_{h-1}+\bar{T}}^{\tau_h+\bar{T}}\hat{r}_n(z)dz/(\tau_h-\tau_{h-1}), $$
(70)

Proof

Let define \(\mathcal {L}_{i}(\tau _{h-1},\tau _{h})\)aslength of the interval (τ h−1, τ h ) over which server i is active. Since token allocations are not updated during (τ h−1, τ h ), it follows that: \(\mathcal {L}_{i}(\tau _{h-1},\tau _{h})\le \bar {T},~\forall i\). Weconsider two different cases:

  • Case 1: \(\tau _{h}-\tau _{h-1}>\bar {T}\). In this case, for each server i and for every z 0 ∈ (τ h−1, τ h ), there exists some y 0 ∈ (τ h−1, τ h ) such that: c i (y 0) = 0 and \(|z_{0}-y_{0}|\le \bar {T}\)(otherwise \(\mathcal {L}_{i}(\tau _{h-1},\tau _{h})>\bar {T}\)). Hence, for every z 0 ∈ (τ h−1, τ h ):

    $$\begin{array}{@{}rcl@{}} x_i(z_0+\bar{T}) & = & \inf\{c_i(\tau)\mid\tau\in(z_0-\bar{T},z_0+\bar{T}]\}\\ & = & c_i(y_0)=0. \end{array} $$

    Accordingly, x i (z) = 0, ∀i, and \(\forall z\in (\tau _{h-1}+\bar {T},\tau _{h}+\bar {T})\). In this case, the lower boundin Eq. 70 holds trivially as \(r_{n}(\tau _{h})\ge \hat {r}_{n}(z)=0\) for every \(z\in (\tau _{h-1}+\bar {T},\tau _{h}+\bar {T})\).

  • Case 2: \(\tau _{h}-\tau _{h-1}\le \bar {T}\). In this case, for every \(z\in (\tau _{h-1}+\bar {T},\tau _{h}+\bar {T})\):

    $$\begin{array}{@{}rcl@{}} x_i(z) & = & \inf\{c_i(\tau)\mid\tau\in(z-2\bar{T},z]\}\\ &\le& \inf\{c_i(\tau)\mid\tau\in(\tau_{h-1},\tau_h)\} \le \bar{c}_i(\tau_h),~\forall i. \end{array} $$

    This implies that:Footnote 9 \(\hat {r}_{n}(z)\le r_{n}{(\tau _{h})},~\forall z\in (\tau _{h-1}+\bar {T},\tau _{h}+\bar {T})\). Integrating on both sides of this inequality over the interval \((\tau _{h-1}+\bar {T},\tau _{h}+\bar {T})\) and dividing both sides by (τ h τ h−1) result in Eq. 70.

Proof of Theorem 4

Let σ i,1 denote the last instant of time until t 2, σ i,1t 2, at which a cycle expires at server i. Let σ i,0 denote the beginning of this cycle. The remaining released tokens for every flow n from server i at σ i,1, ρ n, i (σ i,1) is less than L. Let ρ n, i (t 1, σ i,1) denote the amount of tokens released for flow n from server i during [t 1, σ i,1). The amount of service received by flow n from server i during [t 1, t 2), W n, i (t 1, t 2) is greater than or equal to:

$$\begin{array}{@{}rcl@{}} W_{n,i}(t_{1},t_{2}) & \ge & \rho_{n,i}(t_{1},\sigma_{i,1}) +\rho_{n,i}(t_{1}) - \rho_{n,i}(\sigma_{i,1})\\ & \ge & \rho_{n,i}(t_{1},\sigma_{i,1}) - L , \end{array} $$
(71)

where the second inequality follows from the fact that ρ n, i (t 1) ≥ 0 and ρ n, i (σ i,1) < L. Tokens allocated from server i during [t 1, σ i,0] are completely released before σ i,1. Hence,

$$\begin{array}{@{}rcl@{}} \rho_{n,i}(t_1,\sigma_{i,1}) &\ge& \Theta_{n,i}(t_1,\sigma_{i,0}^+)\\ &\ge& \Theta_{n,i}(t_1,\sigma_{0}^+), \end{array} $$
(72)

where σ 0 := min i{σ i,0|δ n, i = 1}. The lower bound in Eq. 72 along with Eq. 71 result in:

$$\begin{array}{@{}rcl@{}} W_n(t_1,t_2) & = & \sum\limits_{i:\delta_{n,i}=1}W_{n,i}(t_1,t_2)\\ &\ge& \sum\limits_{i:\delta_{n,i}=1}[\Theta_{n,i}(t_1,\sigma_{0}^+)-L]\\ & = & \Theta_{n}(t_1,\sigma_{0}^+) - L\sum\limits_i\delta_{n,i} \end{array} $$
(73)

Assume that token allocations are updated l times during [t 1, σ 0]. Specifically, let τ 1, τ 2, ... , τ l ∈ [t 1, σ 0] denote the updating instants. Hence:

$$ \Theta_{n}(t_1,\sigma_{0}^+) = \sum\limits_{h=1}^l\Theta_{n}(\tau_h,\tau_h^+) $$
(74)

where \(\Theta _{n}(\tau _{h},\tau _{h}^{+})\) is the amount of tokens allocated to flow n in the h thupdate, 1 ≤ hl. Since some flowsmay become inactive during (τ h−1, τ h ), it follows that:

$$\begin{array}{@{}rcl@{}} \Theta_{n}(\tau_h,\tau_h^+) & = & \sum\limits_i\alpha_{n,i}^{(h)}\hat{s}_i(\tau_h)\\ &\ge& \sum\limits_i\alpha_{n,i}^{(h)}{s}_i(\tau_h), \end{array} $$
(75)

where \(\{\alpha _{n,i}^{(h)}\}\)are the allocation parametersfor the h thupdate. We define theassigned service rate to flow n, r n (τ h ) as in Eq. 66. According to Lemma 4 (c.f. Eq. 70):

$$\begin{array}{@{}rcl@{}} \sum\limits_i\alpha_{n,i}^{(h)}s_i(\tau_h) & = & r_n{(\tau_h)}[\tau_h-\tau_{h-1}]\\ &\ge& {\int}_{\tau_{h-1}+\bar{T}}^{\tau_h+\bar{T}}\hat{r}_n(z)dz, \end{array} $$
(76)

where τ 0is defined as thelast instant of time before t 1, τ 0 < t 1, at whichtoken allocations are updated. The inequality in Eq. 76 along with Eqs. 74 and 75 result in:

$$\begin{array}{@{}rcl@{}} \Theta_{n}(t_1,t_2) &\ge& \sum\limits_{h=1}^l{\int}_{\tau_{h-1}+\bar{T}}^{\tau_h+\bar{T}}\hat{r}_n(z)dz\\ & = & {\int}_{\tau_{0}+\bar{T}}^{\tau_l+\bar{T}}\hat{r}_n(z)dz \end{array} $$
(77)
$$\begin{array}{@{}rcl@{}} &\ge& {\int}_{t_1+\bar{T}}^{\tau_l+\bar{T}}\hat{r}_n(z)dz \end{array} $$
(78)

where the last inequality follows from the fact that τ 0 < t 1.We prove that \(\tau _{l}\ge t_{2}-2\bar {T}\). Toobserve this, let i := arg min i{σ i,0|δ n, i = 1}. Tokensallocated at τ l , are releasedat the next cycle on server i starting at \(\sigma _{i^{*},0}\). This cycle continues to \(\sigma _{i^{*},1}\). Thenext cycle starting at \(\sigma _{i^{*},1}\)continues past t 2. The fact that server i is continuously active over \((t_{2}-2\bar {T},t_{2}]\), implies that \(\sigma _{i^{*},1}> t_{2}-\bar {T}\)and\(\tau _{l}\ge \sigma _{i^{*},1}-\bar {T}\)(c.f. Eq. 30). It follows that \(\tau _{l}\ge t_{2}-2\bar {T}\). The resulting lower bound from Eq. 78 along with Eq. 73 imply that:

$$ W_n(t_1,t_2) \ge {\int}_{t_1+\bar{T}}^{t_2-\bar{T}}\hat{r}_n(z)dz - L\sum\limits_i\delta_{n,i}. $$
(79)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Khamse-Ashari, J., Kesidis, G., Lambadaris, I. et al. Constrained max-min fair scheduling of variable-length packet-flows to multiple servers. Ann. Telecommun. 73, 219–237 (2018). https://doi.org/10.1007/s12243-017-0599-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12243-017-0599-y

Keywords

Navigation