Back pressure based multicast scheduling for fair bandwidth ..., Exams of Computer Systems Networking and Telecommunications

Abstract—We study fair allocation of resources in multicast networks with multirate capabilities. In multirate transmission, the session source.

Typology: Exams

2022/2023

Uploaded on 05/11/2023

pumpedup
pumpedup 🇺🇸

4.2

(6)

224 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Back pressure based multicast scheduling for fair
bandwidth allocation
Saswati Sarkar
1
and Leandros Tassiulas
2
1
Department of Electrical Engineering
University of Pennsylvania
2
Department of Electrical and Computer Engineering and Institute for Systems Research
University of Maryland, College Park
Abstract—We study fair allocation of resources in multicast networks
with multirate capabilities. In multirate transmission, the session source
hierarchically encodes its signal and the receivers subscribe to the appro-
priate number of layers. The objective of the network is to distribute the
layers fairly. This can be attained either by computing the fair rates first,
and then using a scheduling policy to attain the fair rates, or by using a
scheduling policy which allocates the fair rates without computing them
explicitly. The first requires knowledge of system parameters like link
bandwidth, which are not generally known to the link schedulers. The
second approach is more realistic. We present a scheduling policy which
allocates the fair rates without computing them beforehand. We have
presented analytical and experimental results demonstrating the fairness
of the resulting rate allocation. In addition to guaranteeing the fair rates,
this policy confines the packet losses to enhancement layers, and protects
the more important base layers, when there is shortage of bandwidth.
Furthermore, this policy does not require any knowledge of traffic statis-
tics, is computationally simple, and is essentially local information based.
I. INTRODUCTION
Present day internet is moving fast from best effort service
to class based service. Different classes of users get different
quality of service and are charged differently. Internet service
providers would like to provide fair quality of service in the
same class. Also, fair allocation of resources guarantees some
minimum quality of service to all users. However, attaining a
fair allocation of resources is a challenging problem in the cur-
rent day networking scenario. This is because fair allocation
of resources in a link would depend on the congestion of the
other links as well. Consider the network shown in figure 1.
Intuitively fair resource allocation in link
e
1
would be
2
units
for each session. However, session
2
can not use more than
1
unit on account of link
e
1
:
So the fair allocation would be
3
units for session
1
and
1
unit for session
2
:
Thus the fair allo-
cation in any link can only be determined with the congestion
information in other links.
The complications increase in presence of multicast capa-
bilities. This is because of network heterogeneity. In a multi-
cast network, a single session has several receivers, and differ-
ent receivers have different processing capabilities. Data paths
for different receivers have different bandwidth. In figure 2,
receiver
u
3
receives information through a
T
3
(
45
Mbps) link,
whereas another receiver of the same session,
u
1
is served
by a
128
kbps ISDN line. Receiver
u
4
is a
28
:
8
Kbps mo-
dem, whereas receiver
u
2
is a
100
Mbps ethernet. Service rate
of a receiver should not decrease because of the presence of
other slow receivers in the same session. Again, a receiver
should not receive service at a rate higher than it can sustain.
Also, bandwidth should be split fairly between different ses-
sions traversing the same link.
Multirate transmission can be used to accommodate these
diverse requirements. It is possible to serve differentreceivers
of the same session at different rates, if multirate transmis-
sion is used. The service rate of a session in a link is equal
to the maximum of the session receivers downstream of the
link. Thus the same session receives service at different rates
in different links on its path. For this purpose, a source hierar-
chically encodes its signal in several layers. The lowest layer
consists of the most important information and all receivers
of the session should receive it. Receivers can subscribe to
higher layers for successive refinement of reception quality at
the expense of additional bandwidth. If the path to a receiver
is congested, then it receives the base layer only, whereas a
receiver subscribes to a large numberof layers if its data path
has a lot of bandwidth. For example, in figure 2 receiver
u
4
re-
ceives only the base layer, whereas receiver
u
2
receives many
more additional layers. Incidentally, hierarchical coding is
useful for real time loss tolerant traffic like audio and video.
This is because, unlike data, these real time transmissions pro-
vide intelligible reception in presence of packet loss. Only,
reception quality gradually degrades with increasing informa-
tion loss. So the base layer provides crude information, while
reception of higher layers enhance the reception quality. We
consider real time traffic in this paper.
Our objective is to split bandwidth fairly among different
sessions traversing a link, and also serve every receiver at
a rate commensurate with the fair bandwidth share along its
path. The fair share may be different for different receivers
of the same session. Consider figure 3 for example (ignore
the notations like
n
(
e
i
)
and
m
(
i; e
j
)
for the time being). Fair
rate allocation is
3
:
75
for
u
1
and
3
:
25
for receivers
u
2
and
u
3
each. The data path of receiver
u
2
consists of links
e
1
; e
3
; e
5
and
e
7
:
Link
e
5
is the bottleneck link in this case, as it has a
bandwidth of
6
:
5
units to be shared between sessions
1
and
2
:
Fair share in this bottleneck link is
3
:
25
for both the sessions.
Link
e
3
is the bottleneck for receiver
u
1
of session
1
and the
fair share for session
1
in this link is
3
:
75
after allocating
3
:
25
to session
2
:
We adopt the notion of maxmin fairness[2]. A
rate allocation is maxmin fair, if no receiver can be allocated
a higher rate without hurting another receiver having equal or
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Back pressure based multicast scheduling for fair bandwidth ... and more Exams Computer Systems Networking and Telecommunications in PDF only on Docsity!

Back pressure based multicast scheduling for fair

bandwidth allocation

Saswati Sarkar^1 and Leandros Tassiulas^2

1 Department of Electrical Engineering

University of Pennsylvania

2 Department of Electrical and Computer Engineering and Institute for Systems Research

University of Maryland, College Park

Abstract —We study fair allocation of resources in multicast networks with multirate capabilities. In multirate transmission, the session source hierarchically encodes its signal and the receivers subscribe to the appro- priate number of layers. The objective of the network is to distribute the layers fairly. This can be attained either by computing the fair rates first, and then using a scheduling policy to attain the fair rates, or by using a scheduling policy which allocates the fair rates without computing them explicitly. The first requires knowledge of system parameters like link bandwidth, which are not generally known to the link schedulers. The second approach is more realistic. We present a scheduling policy which allocates the fair rates without computing them beforehand. We have presented analytical and experimental results demonstrating the fairness of the resulting rate allocation. In addition to guaranteeing the fair rates, this policy confines the packet losses to enhancement layers, and protects the more important base layers, when there is shortage of bandwidth. Furthermore, this policy does not require any knowledge of traffic statis- tics, is computationally simple, and is essentially local information based.

I. I NTRODUCTION

Present day internet is moving fast from best effort service to class based service. Different classes of users get different quality of service and are charged differently. Internet service providers would like to provide fair quality of service in the same class. Also, fair allocation of resources guarantees some minimum quality of service to all users. However, attaining a fair allocation of resources is a challenging problem in the cur- rent day networking scenario. This is because fair allocation of resources in a link would depend on the congestion of the other links as well. Consider the network shown in figure 1. Intuitively fair resource allocation in link e 1 would be 2 units for each session. However, session 2 can not use more than 1 unit on account of link e 1 : So the fair allocation would be 3 units for session 1 and 1 unit for session 2 : Thus the fair allo- cation in any link can only be determined with the congestion information in other links. The complications increase in presence of multicast capa- bilities. This is because of network heterogeneity. In a multi- cast network, a single session has several receivers, and differ- ent receivers have different processing capabilities. Data paths for different receivers have different bandwidth. In figure 2, receiver u 3 receives information through a T 3 ( 45 Mbps) link, whereas another receiver of the same session, u 1 is served by a 128 kbps ISDN line. Receiver u 4 is a 28 : 8 Kbps mo- dem, whereas receiver u 2 is a 100 Mbps ethernet. Service rate of a receiver should not decrease because of the presence of other slow receivers in the same session. Again, a receiver

should not receive service at a rate higher than it can sustain. Also, bandwidth should be split fairly between different ses- sions traversing the same link. Multirate transmission can be used to accommodate these diverse requirements. It is possible to serve different receivers of the same session at different rates, if multirate transmis- sion is used. The service rate of a session in a link is equal to the maximum of the session receivers downstream of the link. Thus the same session receives service at different rates in different links on its path. For this purpose, a source hierar- chically encodes its signal in several layers. The lowest layer consists of the most important information and all receivers of the session should receive it. Receivers can subscribe to higher layers for successive refinement of reception quality at the expense of additional bandwidth. If the path to a receiver is congested, then it receives the base layer only, whereas a receiver subscribes to a large number of layers if its data path has a lot of bandwidth. For example, in figure 2 receiver u 4 re- ceives only the base layer, whereas receiver u 2 receives many more additional layers. Incidentally, hierarchical coding is useful for real time loss tolerant traffic like audio and video. This is because, unlike data, these real time transmissions pro- vide intelligible reception in presence of packet loss. Only, reception quality gradually degrades with increasing informa- tion loss. So the base layer provides crude information, while reception of higher layers enhance the reception quality. We consider real time traffic in this paper. Our objective is to split bandwidth fairly among different sessions traversing a link, and also serve every receiver at a rate commensurate with the fair bandwidth share along its path. The fair share may be different for different receivers of the same session. Consider figure 3 for example (ignore the notations like n(ei ) and m(i; ej ) for the time being). Fair rate allocation is 3 : 75 for u 1 and 3 : 25 for receivers u 2 and u 3 each. The data path of receiver u 2 consists of links e 1 ; e 3 ; e 5 and e 7 : Link e 5 is the bottleneck link in this case, as it has a bandwidth of 6 : 5 units to be shared between sessions 1 and 2 : Fair share in this bottleneck link is 3 : 25 for both the sessions. Link e 3 is the bottleneck for receiver u 1 of session 1 and the fair share for session 1 in this link is 3 : 75 after allocating 3 : 25 to session 2 : We adopt the notion of maxmin fairness[2]. A rate allocation is maxmin fair, if no receiver can be allocated a higher rate without hurting another receiver having equal or

lower rate. Maxmin fairness is a good notion of fairness and as [14] points out, maxmin fairness satisfies many intuitive fair- ness properties in a multirate multicast network. The usual approach is to compute the fair shares of the re- ceivers and then determine the service order for packets in the links so as to actually serve packets as per the fair rates. We have presented distributed algorithms for computing fair al- locations in [15]. Now, there are many scheduling policies which can attain any feasible rate allocation, once the rates are known, e.g., fair queuing strategies[3], [4], [7], [9], [? ]. How- ever, these scheduling policies work only when the link sched- ulers know the desired rates, or at least a ratio between the desired rates. But, computing the fair rates has several prob- lems. Firstly, computation algorithms require exact knowl- edge of system parameters, like link bandwidth. Now, band- width available for real time traffic varies from time to time, depending on the service contracts between the network and the data traffic senders. In general, the schedulers at the nodes may not have exact knowledge of this available link capacity. It is also necessary to exchange messages between neighbor- ing nodes. This adds to the overhead, and this overhead is often non-negligible. To overcome these limitations we present a scheduling pol- icy which attains the maxmin fair rates in a multirate, multi- cast network, without computing them beforehand. No such scheduling policy is known for multirate multicast networks. As opposed to the fair queuing strategies, this policy can oper- ate without any knowledge about the actual maxmin fair rates. Our scheduling policy is geared towards attaining maxmin fair rates, whereas the fair queuing strategies can attain any feasi- ble rates once the desired rates are known. Our scheduling policy does not need to know the link capacities, and does not assume centralized coordination or global information at any computing processor. Also, this policy works in a multi- rate scenario where the source hierarchically encodes its sig- nal into several layers. Information contained in a higher layer packet is meaningful only if all the lower layer packets have been successfully decoded. So, any multirate scheduling pol- icy should first strive to attain low packet loss for the lower layers, and use the residual bandwidth to serve the higher lay- ers. Our scheduling policy not only attains the maxmin fair rates for the individual receivers, but also offers different qual- ity of service to different layers. More precisely, loss rates of the lower layers are negligible while those of the higher lay- ers are somewhat higher. It attains this distinction without any knowledge of the layer bandwidth. We would describe the scheduling policy in greater details later. The basic idea is to serve the sessions in a round robin manner in each link. When a session is sampled, it may or may not transmit a packet. The decision is based on the availability of packets for transmission and the congestion downstream. Since we consider multicast sessions, congestion of all links on the path of the session originating from the destination node of the link must be considered. For example in figure 3, the decision to transmit a session 1 packet in link e 3 during its round robin turn depends on the congestion in links e 4 and e 5 : The same decision for session 2 is based on the congestion in

Session 1 Session 2 e 1 (4)

e (^2) (1)

(^3) (10) e I

Fig. 1. An example network demonstrating that fair share in a link depends on congestion in other links. The numbers in brackets, () denote the ca- pacities of the respective links. For example, e 1 has capacity 4 units.

Ethernet (100 Mbps)

Modem (28.8 kbps)

T3 (45 Mbps) T3 (45 Mbps)

ISDN (128 kbps)

u u

u

1 2

3

u (^4)

v

Fig. 2. A sample network showing network heterogeneity. The network has one session with four receivers. The paths to the receivers have widely varying bandwidth.

link e 5 only. Also, a session always gives priority to a lower layer packet over a higher layer packet. We conclude this section with a review of prior work in multicast fairness. Tzeng et al studies the problem of fair allocation of bandwidth to multicast sessions under the con- straint that all receivers of the same session must receive ser- vice at the same rate[18]. However this has the potential of overwhelming the slow receivers and starving the fast ones. Rubenstein et. al have formally shown that fairness properties of a multicast network improves if multi-rate transmission is used instead of single rate transmission and have presented a centralized algorithm for computing the maxmin fair rates[14]. Well known network protocols for multirate multicast trans- mission, RLM (Receiver-driven Layered Multicast)[13] and LVMR (Layered Video Multicast with Retransmissions)[11] do not provide fairness among sessions[12]. Li et al proposes a scheme for fair resource allocation for multi-session layered video multicast which strives to rectify this defect in RLM and LVMR[12]. The authors present empirical evidence that the scheme improves fairness among sessions for networks with multiple video sessions sharing only one link. But, there is no experimental or analytical evidence that the scheme attains fair allocation for more complex networks, with sessions sharing several links with each other. In absence of further mecha- nisms, like elaborate scheduling policies, it may not be possi- ble to establish conclusively that the scheme attains fair allo- cation of rates as per some well defined notion of fairness, like maxmin fairness for example.

II. N ETWORK M ODEL We consider an arbitrary topology network with N multi- cast sessions and M receivers in all. A multicast session is identified by the pair (v ; U ), where v is the source node of the session and U is the group of intended destination nodes or receivers. We assume that the traffic from node v is trans- ported across a predefined multicast tree to nodes in U. The tree can be established during connection establishment phase if the network is connection oriented or can be established by

e 2 are the bottleneck links of sessions 1 and 2 respectively in figure 1. A session should not be served at a rate higher than that offered by its bottleneck link, in any link on its path. This would cause congestion and packet loss in the bottleneck link. Also, a significant portion of the bandwidth of non-bottleneck links will be wasted in serving packets which do not reach the destination. A simple round robin scheduling does not ensure that the service rate of a session in any link on its path is equal to that in its bottleneck link. Credit based flow control can be used for conveying the bottleneck information implicitly. Hahne[10] used credit flow control for attaining fairness in unicast networks. A credit value (W ) is decided apriori. The basic idea is to keep track of the number of session packets waiting for transmission at the destination node of a link. For example, the flow control strategy must keep track of the num- ber of session 2 packets waiting at node I of figure 1 for con- trolling the flow of session 2 in link e 1 : If this number is less than the credit value and the session has packets for transmis- sion, then the session transmits a packet in the link, when it is sampled. If this number is equal to the credit value, then the session does not transmit even if it is sampled, and has pack- ets for transmission. For example, session 2 will not transmit packets in link e 1 if there are W session 2 packets at I : Con- sider figure 1 to see how credit based flow control works. Sim- ple round robin offers 2 units of bandwidth to both sessions 1 and 2 in e 1 : Now, e 2 serves session 2 at a lower rate ( 1 per unit time). Thus there will be an accumulation of session 2 packets at node I and hence session 2 will often not transmit packet over e 1 even when it is sampled. Thus link e 1 will serve the session at a rate lower than it otherwise would. Now link e 3 can transmit session 1 packets at a higher rate than e 1 : So node I will not have session 1 packets often, and this will reduce the transmission rate for session 1 packets in e 3 : In fact, any link l serves any session i at the same rate as the bottleneck link of the session. Credit flow control presents some inherent complications for multirate multicast networks. We would first explain the difficulties and then present our approach in overcoming the complications. The path of a session may consist of multiple links originating from the same node. For example, session 1 traverses through links e 4 and e 5 originating from node I in the network of figure 3. These links serve the session at dif- ferent rates. As a result, the number of packets of the same session, waiting at a node for transmission in different links are different. This number may be less than the credit value for one link, but may be greater than the credit value in an- other link. Consider figure 3 for example. It can happen that the number of session 1 packets waiting at node I for trans- mission in link e 4 is 2 and the same number for link e 5 is 10, and the credit value is 3 : Thus it is not clear how credit flow control can be used to determine when a link should serve a session, and when it should not. Also the choice of the flow control scheme should be such that the rate of a session in a link l is equal to the maximum of that in the links originat- ing from the destination node of l : Rate of session 1 in link e 3 should be equal to the maximum of that in links e 4 and e 5 in figure 3. We show that this can be attained by allowing a

I

e (^4)

e 5

B

B

B

B

B

213 B 215 B

B 225

B

B

115 125 223

session 2

e 3 session 1

113 123

114 124

J

Fig. 4. We show a section of the network shown in figure 3 (Bi s). We assume that both sessions transmit two layers only. We show the different queues at the nodes. Here, Bij k is the queue of session i layer j packets waiting for transmission in link ek : The associated queues are shown in figure 5 :

link l to serve a session if the number of packets of the session in at least one of the links originating from the destination of l is less than the credit value W: For example in figure 3, the scheduler for e 3 keeps track of the number of session 1 packets waiting at I for transmission in e 4 and the number waiting for transmission in e 5 : If at least one of these is less than W; the scheduler transmits a session 1 packet in e 3 in its round robin turn. For the time being, we assume that the queue lengths at destination node of a link are known at the link scheduler, which is normally at the origin of the link. We discuss this assumption later. Since service rate of a session in a link is equal to the max- imum of the service rates of the links downstream, the source of a link may receive packets at a rate higher than the link can serve. For example, if link e 4 serves session 1 faster than link e 5 does in figure 3, then link e 3 will serve packets at a rate equal to that of e 4 and consequently, e 5 receives packets at a rate higher than it can serve. Thus, there will be packet loss at intermediate nodes (node I in this example), since the node buffers are finite. Let the credit value be W: In the unicast case, a link l does not serve a packet if the destination node has W packets. So there is no packet loss in the intermediate nodes, if the sizes of node buffers are W; or greater. In our case there will be packet loss as long as the buffers are finite. So, our task is to attain the maxmin fair rates in presence of packet loss, and also to regulate the loss so that packets are lost from higher layers only. Again, this is because hierar- chical transmission has the property that a layer yields useful information, only if packets from all lower layers have been successfully decoded. We attain this objective by using differ- ent priorities for different layers.

IV. D ESCRIPTION OF THE P OLICY

We propose a scheduling policy based on prioritized round robin with window flow control for multirate multicast net- works. Here, B(i;k ;l) (t) denotes the number of layer k packets of session i waiting for transmission in link l at time t: Packets of the same session waiting for transmission in multiple links originating from the same node, need not be stored in separate memory location. So, the quantities B(i;k ;l) s represent logical rather than physical buffers. A node needs to keep track of B(i;k ;l) (t)s for all layers k of all sessions i traversing through any link l originating from the node. Refer to figures 4, 5 and 6



 

   

  

 

 



 

 

 

 

B

B

B B

B B

Link e 3 B Link e

Link e (^5)

4

Node I

113 123

B (^213) B (^223)

114 124

B 115 125

215 225

Node J

Session 1 buffers

Session 2 buffers

Session 2 buffers

Session 1 buffers

Session 1 buffers

Fig. 5. We show the logical buffers of figure 4 : Note that a session 1 packet may wait for transmission in both links e 4 and e 5 : It is not necessary to have separate copies of the packet waiting at the same node, as this figure shows. This figure represents the logical queues only. The logical queues may be maintained by pointers. Physical queue corresponding to these logical queues is shown in figure 6 :

























pointer

pointer

B

B (^2)

3

Link e

Link e

4

5

Fig. 6. We show a physical buffer at node I of figures 4 and 5 : We assume that the switches are input queued. This physical buffer holds layer 1 packets of session 1 transmitted via link e 3 ; and corresponds to logical buffers, B 114 and B 115 : Packets are replicated only at the transmission epoch. So, the buffer holds 6 packets in all. All 6 need to be transmitted in linke 5 and only the last 2 need to be transmitted in link e 4 : The first 4 have already been transmitted in link e 4 : Hence, B 2 (B(114) ) contains 2 packets and B 3 (B(115) ) contains 6 packets in figure 5 : Every link maintains a pointer at the first packet it needs to transmit.

for examples. We assume finite size physical buffers. Hence, memory limitations force B(i;k ;l) (t)s to be less than or equal to a quantity G; for all sessions i; layers k ; link l and time t: We assume credit value W; and G > W:

We assume that a session source is connected to the net- work through an access link. No other session traverses the access link. For example, link e 1 is the access link of ses- sion 1 and link e 2 is the access link of session 2 in figure 3. We first describe the scheduling for access links. Whenever the source of a session i desires to transmit a packet, the ac- cess link checks whether at least one of the logical buffers at

the destination of the link has less than W session i pack- ets of the corresponding layer. If so, the access link trans- mits the packet, else it does not transmit the packet. If any logical buffer at the destination of the link has G session i packets of the corresponding layer (i.e., the logical buffer is “full”), the packet is not added to the queue of packets wait- ing to be transmitted in the link and this packet is lost for this link. More formally, let session i source wish to transmit a layer k packet at time t over access link l : Access link l trans- mits the packet if minl (^0 2) (i;l) B(i;k ;l (^0) ) (t) < W; where (i; l ) is the set of links on session i path originating from the des- tination node of access link l : When access link l transmits a session i packet of layer k ; it joins the queue for transmission in all links in (i; l ); except those which already have G ses- sion i packets of layer k : If B(i;k ;l^0 ) (t) = G; for some link l 0 2 (i; l ); the transmitted packet is not added to B(i;k ;l (^0) ) (t); i.e.,the packet is lost for link l 0 and receivers downstream of l 0 : If min (^) l (^0 2) (i;l) B(i;k ;l (^0) ) (t) = W; then access link l does not transmit the packet. (Note that min (^) l (^0 2) (i;l) B(i;k ;l (^0) ) (t) can not exceed W at any time t:) Refer to figure 3 for an exam- ple. Here, (1; e 1 ) = fe 3 g: So, access link e 1 transmits a layer j packet of session 1 at time t if B(1;j;e 3 ) (t) < W: Here, no packet transmitted over e 3 is lost as packet trans- mission takes place only when B(1;j;e 3 ) (t) < G as G > W: Packet loss can take place only when (i; l ) contains more than one links. We assume that the scheduler for link l knows minl (^0 2) (i;l) B(i;k ;l (^0) ) (t); for all sessions i traversing link l and all times t: We will argue in sections V and VI that this as- sumption can be relaxed. Now we consider the scheduling of non-access links. When a link l is ready to transmit a packet (which happens when it has finished transmitting the previous packet), it samples all sessions traversing the link starting from the one after the ses- sion last served. When a session i is sampled, it finds out whether it can send a lowest layer (layer 1 ) packet. It sends a lowest layer packet if at the sampling time t;

  1. there are session i layer 1 packets waiting for transmis- sion in link l i.e., if B(i; 1 ;l) (t) > 0 ; and
  2. if the number of session i layer 1 packets waiting for transmission in link l 0 is less than W for at least one link l 0 originating from the destination of l ; i.e., if minl (^0 2) (i;l) B(i; 1 ;l (^0) ) (t) < W: If session i can not transmit layer 1 packet because of the vio- lation of either of the above conditions, it tries to send a next higher layer packet. If it can not send the next higher layer packet, it tries the next and so on. In general, session i sends a layer k packet, if
  3. it can not send a layer 1 ; : : : ; k 1 packet,
  4. B(i;k ;l) (t) > 0 ; and
  5. min (^) l (^0 2) (i;l) B(i;k ;l (^0) ) (t) < W: When link l transmits a session i packet of layer k ; it joins the queue for transmission in all links in (i; l ); except those which already have G session i packets of layer k : If B(i;k ;l (^0) ) (t) = G; for some link l 0 2 (i; l ); the transmitted packet is not added to B(i;k ;l^0 ) (t); and the packet is lost for link l 0 and receivers downstream of l 0 : If session i can not send any packet, the link l samples the

tems have buffers of fixed size, and scheduling policies need to function within the existing memory constraint. The proposed scheduling policy shows a gradual performance improvement with increase in buffer and credit sizes. We introduce the notation of the rank of a receiver. Let there be J distinct maxmin fair receiver rates. If the maxmin fair rate of receiver j is the mth smallest among the distinct maxmin fair rates, then the rank of receiver j is m: Theorem 3: There exists a sequence of constants, W 1 ; W 2 ; : : : ; WJ ; and G 1 ; G 2 ; : : : GJ such that, if W  Wm ; and G  Gm ; then all receivers of rank m and above, receive service at a rate greater than or equal to the mth smallest maxmin fair rate. All receivers of rank smaller than m; receive service at their maxmin fair rates. Also, the entire packet loss is concentrated in the highest layer served, for all receivers. The analytical lower bounds on window and buffer sizes, W 1 ; W 2 ; : : : ; WJ ; (W ^ = WJ ), G 1 ; G 2 ; : : : GJ (G^ = GJ ) are pessimistic bounds. Simulations indicate that, in practice, service rates converge to the maxmin fair rates, and packet loss is concentrated in the highest layer for much smaller credit and buffer sizes. The scheduling policy we described so far assumes that a link scheduler has complete information about queue lengths at the destination node of the link. More precisely, the as- sumption is that at all times t the scheduler for link l knows minl (^0 2)  (i;l) B(i;j;l (^0) ) (t) for all layers j of all sessions i travers- ing link l : This is a reasonable assumption in networks with hop by hop congestion feedback and negligible propagation delay. Though many current day networks employs end to end congestion control only, many others use hop by hop back pressure based congestion control. In fact, in the LAN context, recent simulation results show that hop by hop back pressure can be better than TCP for dealing with short-lived conges- tion[17]. Though terrestrial networks have negligible prop- agation delay, propagation delay is significant for some other networks, e.g., those with satellite links. In these networks, the feedback will typically be delayed, i.e., at time t the scheduler will have information about destination queue lengths at some previous time t^0 : In this case, the policy remains the same, except that the scheduler takes decisions based on the infor- mation it has currently. The service rates of the receivers con- verge to the maxmin fair rates as before, even in the presence of propagation delays. Packet loss is concentrated in the high- est layer served as before. Theorems 1 to 3 hold in this case as well, as long as the propagation delays are bounded[16]. The window and buffer thresholds, W (^) i and G i s depend on link propagation delays also. Refer to [16] for formal proof. The intuitive reason is as follows. The available information can differ from the actual queue lengths at the destination node by at most a constant which depends on the propagation delay and link capacities. This constant will increase the constants i;j s but the long term throughputs are independent of these( i;j s). Our simulation studies further confirm this observation. Now we present the results of our experimental studies. We considered a 15 session 400 node random network for experi- mental evaluation. Nodes are points on a 20 X 20 grid. There

0

1

0 500 1000 1500 2000 2500 3000 3500 4000

Maximum Relative Error

Time

(a)

propagation delay deterministic bursty unequal bandwidth layers

0

1

0 500 1000 1500 2000 2500 3000 3500 4000

Average Relative Error

Time

(b)

propagation delay deterministic bursty unequal bandwidth layers

0

1

0 10000 20000 30000 40000 50000 60000 70000

Maximum Relative Error

Time

(c)

propagation delay

0

1

0 10000 20000 30000 40000 50000 60000 70000

Average Relative Error

Time

(d)

propagation delay

Fig. 7. These figures demonstrate the convergence of the packet delivery rates attained by the proposed scheduling policy to the maxmin fair rates. We have plotted the convergence errors as a function of time for different traffic models.

0

1

0 500 1000 1500 2000 2500 3000 3500 4000

Fraction of demand attained

Time

layer 1 layer 2 layer 3 layer 4 layer 5 layer 6 layer 7

Fig. 8. The figure shows the fraction of packets of different layers delivered to one particular receiver in the random network.

exists an edge between any two nodes with a probability ( p) that depends on the euclidean distance between the nodes ( d) (p = exp( (1 d))), where is the decay constant. We assumed = 2 : We adopted this edge probability model be- cause distant nodes are less likely to have an edge between them. Source and receivers of every session have been se- lected randomly. There are 96 receivers in all, i.e., average session size is 6 : 4 : The session route consists of shortest paths between the source and the destinations. All sources transmit 20 layers. Figure 7 demonstrates the convergence of the service rates attained by different receivers to the respective maxmin fair rates for different traffic patterns. We studied the difference between the actual rate of packet delivery for any receiver and its maxmin fair rate. The attained rate at time t for receiver s is the total number of packets delivered to s in the interval [0; t) divided by the time t: If maxmin fair rate of a receiver s is r (^) sm ; and the attained rate at time t is r (^) sa (t); then error for receiver s is j 1 r^

as (t) r ms^ j^ at time^ t:^ Figures 7(a)^ and 7(c)^ plot the maximum relative error, and figures 7(b) and 7(d) plot the av- erage relative error, the maximum and average are taken over all receivers. We considered deterministic traffic patterns and traffic patterns with jitters. A traffic pattern is deterministic at rate d, if packets are generated once every 1 =d seconds. A jittery (d;  ) traffic pattern transmits traffic at a long term rate of d per unit time with a jitter of  : In this traffic model, at most dt +  and at least dt  packets are generated in any interval of length t: In the deterministic case (curve labeled “deterministic” in figures 7(a) and 7(b)), packets of all lay- ers of all sources are generated periodically at rate 1 per unit time. For the traffic model with jitters (curve labeled “bursty” in figures 7(a) and 7(b)), every source transmits packets of every layer as per a jittery( 1 ; 3 ) model. For unequal band- width layer case (curve labeled “unequal bandwidth layers” in figures 7(a) and 7(b)), source i generates layer j packets as per a jittery(bi;j ; i;j ) model. The layer bandwidth bij s and

transmission jitters i;j s have been chosen randomly, and are different for different i; j s. For example, the first 3 layers of session 1 have bandwidth and jitter of (: 21 ; 2); (2: 78 ; 3) and (1: 81 ; 0) respectively, whereas the first 3 layers of session 2 have bandwidth and jitters of (3: 5 ; 2); (3: 21 ; 0) and (3: 30 ; 1) respectively. All these curves ignore propagation delays. Con- vergence is fast for all these cases. The average error con- verges to 0 much faster than the maximum error, indicating that the attained rates of most of the receivers converge to the maxmin fair rates very fast, whereas convergence is relatively slow for a few others. Convergence is fastest for the deter- ministic traffic model. The results for the deterministic traffic model were obtained with credit value of 5 and buffer size of 10 units only. We used credit and buffer sizes of 8 and 16 for the other two traffic models with jitters. Thus, the attained rates converge to the maxmin fair rates for small credit and buffer sizes. We also considered effect of propagation delays and subse- quently delayed feedback. In our model, propagation delay of a link is equal to the euclidean distance between the end points of the link. The “propagation delay” curves in figures 7(a) to figures 7(d) study the errors for the “unequal bandwidth layer” traffic model with propagation delay. Figure 7(c) and 7(d) shows the errors for this case for a longer range of time. We used credit and buffer sizes of 100 and 200 respectively in presence of propagation delays. As expected, long term rates still converge to the maxmin fair rates, but the convergence is slower than when propagation delay is ignored. Delayed feed- back increases buffer and credit size requirements. However, these requirements are still reasonable. Figure 8 demonstrates the different loss rates suffered by different layers and exhibits that packet losses are confined to the highest layer served in the case we studied. It actually shows the fraction of packets delivered to one particular re- ceiver in the random network. This fraction for layer i is the ratio between the number of packets of layer i delivered to the receiver in [0; t) and the product of the layer bandwidth bi and time t: The maxmin fair service rate of this receiver is 9 pack- ets per unit time. The traffic model is the same as the “unequal bandwidth case” discussed before. We have ignored propaga- tion delays in this case. The source for this receiver transmits packets of the first 6 layers at rate (bi s) 0 : 21 ; 2 : 78 ; 1 : 81 ; 3 : 01 ; 0 : 84 and 1 per unit time, respectively. The transmission jitters (i s) for these layers are 2 ; 3 ; 0 ; 3 0 and 1 respectively. Ide- ally the receiver should receive all packets of the first 5 layers, 36% packets of layer 6 and possibly no packet of any higher layer. Analytical results guarantee delivery of packets of layer i at rate bi ; if i 2 f 1 ; : : : ; 5 g and rate 0 : 36 bi if i = 6 : As the figure shows, for the first 5 layers, the fraction of packets de- livered to the receiver converges to 1 very fast. In fact, it is greater than 1 for some lower layers initially. This is because the source sends an initial burst of packets for every layer on account of the transmission jitters. The network is able to de- liver some of these bursts as well, for the lower layers. Hence the ratio between the number of packets delivered and bi t is initially greater than 1 for the lower layers. The fraction of packets of layer 6 delivered to the receiver converges to 0 : 36

works to guarantee requisite quality of services. It is likely that these would be extended to multicast in future. Summarizing, we have presented a scheduling policy which attains maxmin fair rates in multirate multicast networks, without computing the rates beforehand. The scheduling pol- icy concentrates the packet loss in the highest layer served. This improves the quality of service in view of the character- istic of the hierarchical coding that reception of higher layer conveys useful information, only when all the lower layers have been successfully decoded. As discussed, this schedul- ing policy has several other attractive properties, which render it suitable for use in large, dynamic, high speed networks that have access to decentralized, delayed and partial information only. It allows the network to enforce fair allocations, with- out trusting the receivers to attain fairness. This scheme is computationally simple, has low message overhead and hence does not unduly overload the network. Also, we have assumed multirate transmission. Class based distinction is more diffi- cult for multirate transmission than for unirate transmission. With a minor modification, this scheduling policy will work for unirate networks. In fact an extension of the policy in [10] will attain fairness in unirate multicast networks, as unirate multicast networks are not significantly different from unicast networks.

R EFERENCES

[1] T. Ballardie, P. Francis, and J. Crowcroft. Core based trees: an architec- ture for scalable inter-domain multicast routing, Proceedings of ACM SIGCOMM, Sept. 1993, pp. 85- [2] D. Bertsekas and R. Gallager, Data Networks , Englewood Cliffs, NJ:Prentice-Hall, 1987 [3] J. Bennett and H. Zhang. WF 2 Q: Worst-cast Fair Weighted Fair Queu- ing Proceedings of IEEE INFOCOM’ 96 ; pp 120 128 ; San Francisco, CA, March 1996 [4] J. Bennett and H. Zhang. Hierarchical packet fair queueing algorithms Proceedings of ACM SIGCOMM’ 96 ; pp 143 156 ; Palo Alto, CA, August 0 96 [5] S. Deering and D. Cheriton. Multicast routing in datagram internetworks and extended LANs, ACM Transactions on Computer Systems, vol 8, no. 2, pp. 54-60, Aug. 1994 [6] M. Ghanbari. Two-Layer Coding of Video Signals for VBR Networks. IEEE Journal on Selected Areas in Communications , VOL. 7. No. 5. June 1989 [7] S. Golestani A self-clocked fair queueing scheme for broadband applica- tions. Proceedings of IEEE’ INFOCOM’ 94 , pp 636 646 ;INFOCOM, Toronto, CA, April 1994 : [8] M. Grossglausser and J. Bolot. On service models for Multicast Trans- mission in Heterogeneous Environments. Proceedings of IEEE’ INFO- COM’ 2000 , Tel-Aviv, Israel, March, 2000 [9] P. Goyal, H. Vin and H. Chen. Start-time Fair Queueing: A scheduling algorithm for integrated services. Proceedings of the ACM-SIGCOMM 96 pp 157 168 , Palo Alto, CA, August 0 96 [10] E. Hahne. “Round-Robin Scheduling for Max-Min Fairness in Data Net- works,” IEEE Journal on Selected Areas in Communications, Vol. 9, No. 7, Sept. 1991, pp 1024 1039 [11] X. Li, S. Paul and M. H. Ammar. Layered Video Multicast with Retrans- mission (LVMR): Evaluation of Hierarchical rate control, Proceedings of IEEE Infocom’ 98 , March 1998 [12] X. Li, S. Paul and M. H. Ammar. Multi-session Rate Control for Layered Video Multicast Technical Report GT-CC- 98 21 , College of Comput- ing, Georgia Institute of Technology, 1998 [13] S. McCanne, V. Jacobson and M. Vetterli. Receiver-Driven Layered Multicast, Proceedings of ACM SIGCOMM ’96 , Stanford, CA, Septem- ber 1996 [14] D. Rubenstein, J. Kurose and D. Towsley. The Impact of Multicast Lay- ering on Network Fairness Proceedings of ACM SIGCOMM ’ 99 ; Cam- bridge, MA, September, 1999

[15] S. Sarkar and L. Tassiulas: Distributed Algorithms for Computation of Fair Rates in Multirate Multicast Trees Proceedings of IEEE INFO- COM’ 2000 ; Tel Aviv, Israel, March 2000 [16] S. Sarkar: Fairness and Congestion Control in multirate multicast net- works. Phd Thesis , University of Maryland, College Park, July 2000 [17] F. A. Tobagi and W. K. Noureddine, “Back-Pressure Mechanisms in Switched LANs Carrying TCP and Multimedia Traffic,” submitted to IEEE GLOBECOM’ 99 ; Symposium on High-Speed Networks, Decem- ber, 1999 [18] H. Y. Tzeng and K. Y. Siu. On Max-Min Fair Congestion Control for Multicast ABR Service in ATM, IEEE Journal on Selected Areas In Communications , Vol 15, No. 3, 1997