






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Abstract—We study fair allocation of resources in multicast networks with multirate capabilities. In multirate transmission, the session source.
Typology: Exams
1 / 10
This page cannot be seen from the preview
Don't miss anything!







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.
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
e (^4)
e 5
115 125 223
session 2
e 3 session 1
113 123
114 124
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.
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