Chapter 3 Proposed Algorithm
3.2 Allocation algorithms during congestion
3.2.4 Proportional min-max algorithm
Basing on the queuing theory, the average delay is affected by the average backlog number in a queuing network. The greater number of backlog is, the longer the average delay is. The min-max fairness is motivated by this concept [24]. After
amount of unallocated backlog of each host. Therefore, theoretically, the delay of each host will be the same.
As mentioned earlier in example 1, the proportional linear algorithm can’t prevent the problem of unfair growing buffers (Since the problem of unfair growing buffers will cause the un-achievement of the proportional delay differentiation.). For the fair scheduling, the Fair Min-mix algorithm can solve this similar endless growing problem, the min-max algorithm achieves that the remaining backlog of all hosts will maintain the same length after each bandwidth arrangement. Thus it also achieves that the largest number of backlog to be as smaller as possible. Figure 4 is an example explaining how the min-max algorithm works.
i Λ
Figure 4: Diagram of fair min-max algorithm
From Figure 4(a) to 4(b), the Fair min-max algorithm sorts bandwidth requirement of all hosts in a decreasing order. As shown in Figure 4(c), the fair min-max algorithm firstly considers the one who has the maximal bandwidth requirement in the system. Allocate bandwidth d1 to the host D (D is the host with the maximal bandwidth requirement), where d1 is denoted as the gap between the
maximal bandwidth requirement of host. From Figure 4(d), the host D and the host B became the hosts, which have maximal bandwidth requirement, is considered to for central control to allocated bandwidth. Therefore, it assigns d2 bandwidth to both of hosts D and B . In Figure 4(e), the residual bandwidth that the system has can’t be assigned again, since the remaining bandwidth is not enough. In this case, this algorithm assigns the remaining bandwidth fairly to host D , B , and A .
Since the min-max fairness algorithm can maintain the amount of buffers to be as equal as possible. We combine the fair min-max algorithm and concept of proportion to provide a new allocation algorithm, named proportional min-max allocation algorithm. The proposed algorithm expects the amount of backlog of host
i is proportional to
wi
1 (in other word, the average delay between any tow hosts is proportional to its corresponding wi).
The Proportional min-max bandwidth allocation algorithm:
Suppose there are N hosts in the network and capacity of uplink channel is Λ . Initial:
The amount of remanding bandwidth is denoted to be Λ′. Λ′=Λ. First Step:
It is expected that “the larger weighted value the host i has, the smaller the amount of backlog it owns”. By above reason, at the beginning the weighted bandwidth request for host i is calculated as:
. ..., , 2 , 1 ), 1 (
) ) (
( w x i N
w
x x i ik ki
i k i k i i
i + = × + =
′=
+λ λ λ
Second Step:
The weighted bandwidth requests (xi +λi)′are sorted in a descending order, where (x1+λ1)′≥(x2 +λ2)′≥....≥(xN +λN)′.
Third Step:
Suppose that the set of hosts with the maximal unallocated weighted
and the set of hosts with the second maximal unallocated weighted request is
}.
The ratio of the value
j
bandwidth (suppose the remaining bandwidth is Λ ′′ ), then it replace Λ′ with Λ ′′ and repeats the third step again.
exceeds Λ′, then the i+jth host is allocated
j i j
w1i+ ×Ω+
, j=1,…,k and finish the bandwidth allocation.
Λ
Figure 5: Diagram of Proportional min-max.
As shown in Figure 5(a) and Figure 5(b), it is expected that after allocating bandwidth, the host i with the larger weighted value w will have smaller amount i of backlog x . Therefore, our proposed method first divides the actual requirement i
i
xi + of all the hosts with λ wi
1 and gains (xi +λi)′ for each host i, then follows the step of classical fair min-max algorithm. Figure 5(b) and Figure 5(c) show that the weighted bandwidth request (xi +λi)′ is rearranged in a descending order.
Figure 5(d) indicates that the gap between the maximal amount of weighted bandwidth request and the second maximal amount of weighted bandwidth is d1 units. By the concept of proportion, the host D is allocated 2 d× 1(since 1 =2
w ).
As shown in Figure 5(e), the gap between the amount of the second maximal weighted bandwidth requirement and the third maximal weighted bandwidth requirement is d2. So the host D is allocated 2 d× 2 unit, and the host B is allocated d2 (since 1 =2
wD , 1 =1
wB ). Figure 5(f) shows that the remaining bandwidth S in the system is not enough to do another allocation again. Therefore, the remaining bandwidth Λ′=Λ−(2d1 +3d2) is allocated according to the ratio of the weighted value of each host. Nevertheless, the host D is allocated
2)
× Λ′ . Finally, the amount of allocated bandwidth for hosts A is
5 )
+ , the amount of allocated bandwidth for hosts C is 0,
the amount of allocated bandwidth for hosts D is ) 5
As shown in Figure 5(f), the heights of all hosts (except the host C), are maintained to be as the same as possible, therefore the actual amount backlog of the host A, host B, host C, and hosts D are 2(x*)′, 1(x*)′, 2(x*)′ ,andxCk.(since
The following theorem formally presents the features of Proportional Min-max algorithm.
Theorem 2: Let (x1+λ1)′≥ ≥... (xN +λN)′ be true and the solution of proportional Min-max problem produce buffer contents (x1*) ,..., (′ x*N)′, where
(xi+λi)′=(xi+λi) Ψ and i Ψifi =F ii, =1,...,N. Then all the following statements hold.
1) There exist numbers q andnsuch that q≤ ≤n N and
* * * * *
2) The valuex satisfies the equation *
1 1
The first statement follows from the description of min-max algorithm. The second statement follows from the fact that has been allocated to streams, and the result of this allocation is the same for all i=1,...,n. The third statement is obviously true form=n; otherwise, according to the second statement, the resulting distribution of x does not satisfy the first statement. Assume now that the third statement is *i
not true for some m< . Consider theq mth substep of the min-max algorithm. At this substep, some of the bandwidth
1 streams, which makes their buffers be equal to
1 1 not true, there is no capacity left to make the (m+ th substep, which contradicts the 1) definition q of and the inequality m< . The case p q≤ < − of the third m n 1 statement also follows from first statement. This completes the proof of the theorem.
The following theorem shows that the use of proportional min-max algorithm at every fame eventually makes the buffer lengths of those hosts are proportional, therefore the proportional min-max algorithm can achieve the proportional delay differentiation.
and the produces actual buffer contents 1
1 1 satisfying the following properties. Each subset G contains the indices i corresponding to equal arriving λj = rates: for all λ Ai ≤ ≤ . The subsets j Bi G i comprise the set G, so that A1= , 1 BM =N for all i=1,...,M − . 1
First, we prove that after a finite number of steps the buffer contents corresponding to different subsets G will be ordered: i
for any u<v
min{( ) } min{( ) }
u v
j j
j G x j G x
∈ ′ ≥ ∈ ′ (4) Suppose (4) is not valid. Then there exists an inversion, i.e., a pair of indices i∈Gu and j∈Gv such that ( )xi ′<(xj)′. Then on the next step, one of the following four events can happen.
1) No bandwidth was allocated to ith and jth streams. In this case, the difference between x and i x decreases by ( )j λi ′−(λj)′=(λij)′> (since i and j belong to 0 different subsets, ( )λi ′>(λj)′).
2) Some bandwidth was allocated to j-th host, and no bandwidth was allocated to ith stream. In this case (it may happen if ( )xi ′+( )λi ′<(xj)′+(λj)′), the difference betweenx andi x decreases by more than (j λij)′ .
3) Some bandwidth was allocated to ith stream, and no bandwidth was allocated to jth host. In this case (it may happen if ( )xi ′+( )λi ′≥(xj)′+(λj)′), the difference between
( )x ′ and (i x ′ becomes non-positive at the next step. j)
4) Some bandwidth was allocated to ith and jth hosts. In this case, the difference between ( )x ′ and (i x ′ becomes 0 at the next step. j)
Therefore, after a finite number of steps, the inequality ( )xi ′<(xj)′ will reverse into ( )xi ′≥(xj)′. The inequality ( )xi ′≥(xj)′ remains for all the next steps, since ( )λi ′>(λj)′. So all inversions will disappear after a finite number of steps, and (8) will hold for all the subsequent steps.
Now we rearrange the indices within the subsets G so that i ( )x1 ′≥(x2)′≥ ≥... (xN)′, where ( )λ1 ′≥(λ2)′≥ ≥... (λN)′. Then the relation ( )x1 ′≥(x2)′≥ ≥... ( )x3 ′ remains the relation remains valid on all the next steps.
Finally, we prove that, for any m≤ , all q mlargest buffer contents become the same after a finite number of steps: x=( )x1 ′= =... (xm)′≥(xm+1)′≥(xN)′.
We prove it by induction bym. The base of induction ( m=1 ) is already proven. Assuming the statement is true for m≤ , we prove it for q m+1. If the statement is not true at the current step, then at the next step the differences between the top m buffers and the (m+ th buffer will change by 1) which brings the corresponding buffer contents to 1
1 1
Therefore all the buffer contents {q+1,..., }n become equal to
1