Fair Allocation of Resources for Scalable Sessions

0 downloads 0 Views 183KB Size Report
[28] Dan Rubenstein, Jim Kurose, and Don Towsley. The impact of multicast layering on network fairness. In Proc. of SIGCOMM Symposium on Communications ...
Fair Allocation of Resources for Scalable Sessions based on their Audience Size Paulo Mendes

Henning Schulzrinne



Edmundo Monteiro



Abstract Current Differentiated Services model aggregates traffic into services with different quality levels. However, flows are treated unfairly in each service, since the model lacks a policy to distribute bandwidth between flows belonging to the same aggregate. Therefore, we define a signaling protocol that distributes service bandwidth fairly along the path of each session. Sessions get a share of bandwidth proportional to their audience size. In this paper we describe the fairness mechanism of the proposed protocol and evaluate its efficiency in comparison with other fair allocation mechanisms. 1

Keywords: fairness, scalable sessions, multicast, differentiated networks

1 Introduction Streaming of multimedia content to different receivers across heterogeneous networks is a challenge in the current Internet. By receiver we mean the application. Popular Internet streaming applications, such as RealNetworks SureStream and Microsoft Windows Media use multi-rate encoding, so that several streams are created with the same content. Each stream is encoded at different rates and



CISUC, Department of Informatics Engineering, University of Coimbra, 3030 Coimbra. +351 239 790-000, [email protected] and Department of Computer Science, Columbia University   Department of Computer Science, Columbia University CISUC, Department of Informatics Engineering, University of Coimbra 1 This work is supported by POSI-Programa Operacional Sociedade de Informação of Portuguese Fundação para a Ciência e Tecnologia and European Union FEDER

1

associated with a different multicast group. Receivers join the multicast group of the stream that has the most appropriate encoding rate according to their requisites and to the capability of their access network. However, because multi-rate encoding creates several copies of the same content, it wastes bandwidth. To solve this problem, streaming can be made by using scalable encoding [33, 13], which allows a better bandwidth utilization. Scalable encoding creates only one stream for the content. The stream is divided into cumulative layers with different rates and importance. The rate of the stream is equal to the sum of the rates of all layers. Therefore, sources send one stream only, mapping each layer to a different multicast group. With scalable encoding, receivers can adapt to the best quality the network offers, by selecting subsets of layers of their session. In multi-rate encoding, streams that have the same content form a session. In scalable encoding a session is formed by all layers belonging to the same stream. Streams in multi-rate encoding and layers in scalable encoding are mapped to flows of the Real-Time protocol (RTP) [30]. Streaming of multimedia content requires network quality guarantees, namely three fairness properties. The first is inter-session fairness, the ability to guarantee a fair distribution of bandwidth between sessions sharing a service. The second is intra-session fairness, the ability to respect the importance of each layer of a session. The third is the ability to punish high-rate sessions, i.e., sessions with a rate higher than their fair share of bandwidth, due to the fact that their receivers do not reduce the reception rate when packets are lost. Current Differentiated Services (DS) model [3] aggregates traffic into services with different priorities at the boundaries of each DS domain. Among the services DS can provide, Assured Forwarding (AF) [8] is ideal to transport scalable sessions, since flows are assigned different drop precedences. Although AF services provide intra-session fairness, the DS model lacks the other two properties. Hence, we propose a fairness protocol called Session-Aware Popularity-based Resource Allocation (SAPRA). SAPRA provides inter-session fairness by assigning more bandwidth to sessions with larger audiences, and intra-session fairness by assigning to each layer a drop precedence that matches its importance. SAPRA allocates bandwidth to sessions rather than multicast groups, because the management of multicast groups ignoring their relationship in a session results in inter-session and intra-session unfairness, high quality oscillations and low quality for each receiver. To achieve its goal, SAPRA implements agents and markers in edge routers: agents manage ses-

2

sions to provide inter-session fairness; markers deal with layers, providing intra-session fairness. Agents and markers are placed only in edge routers, since they only need to access the individual traffic of each service. SAPRA also includes a punishment function and a resource utilization maximization function. The former punishes high-rate sessions during periods of congestion. The latter avoids bandwidth waste in two situations: when a session has a local fair share higher than in downstream neighbor agents, where downstream is the direction from the source to receivers and upstream the opposite, the agent allows the session to use only its downstream fair share and thus increases the fair share of other sessions by rank of higher audience. The second is when a session has a rate lower than its fair share of bandwidth. In this case the marker distributes the bandwidth not being used equally among the other sessions. In this paper, we describe and evaluate the fairness mechanism implemented in agents and markers. Simulations show that SAPRA distributes bandwidth with fairness among scalable sessions, increasing the number of receivers with good quality. We also compare SAPRA with other fair allocation mechanisms in a scenario where sessions have only one layer and one receiver. We use this restrict scenario, since current fair allocation mechanisms can not handle scalable sessions with large audiences. Comparison results show that SAPRA is as efficient as current fair allocation mechanisms. The information exchange process, used between neighbor agents, is described in [24], and in [22] we show that when SAPRA is present in the network, receivers can adjustment their reception quality by using a simple and stable receiver-driven adaptive mechanism. The remainder of the paper is organized as follows. In Section 2, we present related work. Section 3 describes the fairness mechanism of SAPRA. In Section 4, we evaluate SAPRA using simulations. Finally, Section 5 presents some conclusions and future work.

2 Related Work In this section we describe work that is related with SAPRA, namely scalable codecs, mechanisms to reserve resources for DS services, fair allocation mechanisms and fairness definitions. There are several experimental scalable codecs that can be used as sources of scalable sessions. For instance, the Scalable Arithmetic Video Codec from the University of Berkeley [33], and the Scalable Video Conferencing project from the Framkom Research Corporation [13]. 3

Service-level agreements (SLA), defined in the DS model, can control the amount of resources reserved for each service in each DS domain. Multicast traffic can be managed with a static SLA for flows with more than one egress router. However, since multicast traffic is both heterogeneous and dynamic, static SLA needs over-provisioning of resources in the domain. This problem can be solved by using dynamic SLA, which can be managed by bandwidth brokers [25] or by approaches that use intra-domain signaling protocols, e.g., the Resource Reservation Protocol (RSVP) [4]. However, resources reserved in each domain are not allocated fairly among sessions that belongs to the same aggregate. Until now, fair allocation of resources was typically achieved by using per-flow queueing mechanisms such as Fair Queueing [26], or per-flow dropping mechanisms such as the Flow Random Early Drop (FRED) [18]. Both mechanisms are complex and have to be implemented in all routers. To solve this scalability problem, Stoica et al. [32] developed the Core Stateless Fair Queueing mechanism (CSFQ), which tries to achieve fairness between flows distinguishing between edge and core routers. Core routers do not keep per-flow state, but have to compute the fair share of each flow based on its rate, which is estimated in edge routers. But, to transport the rate of each flow from edge to core routers, CSFQ requires changes in the packet header. Both CSFQ and Fair Queueing use the max-min fairness definition [2]. Although max-min fairness can be used with multicast traffic [34], Rubenstein et al. [28] showed that it cannot be applied to discrete sets of rates. This limitation is absent from the maximal fairness definition formulated by Sarkar et al. [29]. But the latter does not consider the audience size of each session, and so it does not maximize bandwidth utilization and the number of receivers with good reception quality. Legout et al. [16] try to solve this problem with a proposal to distribute bandwidth among sessions considering their audience size. However, this proposal assumes that every router in the path keeps information about layers and their receptors, does not maximize bandwidth utilization and does not punish high-rate flows. Li et al. describe [17] another proposal to improve inter-session fairness. But, this proposal is based upon the max-min definition, assumes one shared link only, and does not consider the audience size of each session and the importance of each layer.

4

3 SAPRA Fairness Mechanism SAPRA is most suited for long-lived scalable sessions with large audiences such as Internet TV and periodic near-video-on-demand systems [1]. Moreover, SAPRA integrates also non-scalable sessions and unicast traffic: the former are treated as scalable sessions with one layer, and the latter as sessions with one layer and one receiver. SAPRA assumes that layers of scalable sessions are identified by different source-specific multicast (SSM) channels, i.e, the IP address of the sender host and the destination multicast group [9]. This makes SAPRA independent of the number of multimedia sources in each sender. SAPRA also assumes that edge routers have an accurate notion about resources reserved for services in each domain: inter-domain and intra-domain reservation mechanisms are beyond the scope of this paper. Not all DS domains have to implement SAPRA. SAPRA messages cross transparently all nonSAPRA domains in a path, since they are only exchanged between agents. This allows a progressive deployment of SAPRA. However, receivers in non-SAPRA domains do not count toward their session population and thus sessions with a big audience in non-SAPRA domains are left with a smaller share of resources. SAPRA does not restrict the location of multicast branch points, which can be positioned in edge and interior routers. In either case, receivers are attached only to edge routers: the DS model mentions that a host may act as an edge router for receivers running on that host. If a host does not act as an edge router, then the closest DS node acts as the edge router for the receivers in that host. Receivers can join sessions, for instance, by listening to Session Announcement Protocol (SAP) [7] messages. Receivers join first the multicast group for the most important (lowest) layer and then increase their reception quality by joining additional (higher) layers. Each layer requires all layers below it. When receivers join a layer, they send an IGMPv3 “State-Changes” report to the network. Reports issued when receivers join the lowest layer are used by agents to measure the local audience of a session. We use the example illustrated in Fig. 1 to show that managing multicast groups when ignoring their relationship in a session results in unfairness. Fig. 1 (a) shows how 1 Mb/s of bandwidth is distributed using a session-based scenario where routers know the structure of sessions and Fig. 1 (b) shows a multicast-based scenario where routers only manage multicast groups. In the session-based scenario, routers are able to group all flows in sessions. Fig. 1 (a) shows that

5

Rate

Rate

1

1 0.75

500

Mb/s

Mb/s

0.75

receivers

0.6 500

receivers

0.5

1 2 1 l 1 1 l 0 l

0.25

S1

0.4 l

0.5

0.5

400

500

0.25

0.1 0.24

2 l 0

f1 (l 1) 0

Sessions

(a) Session-based scenario

0.3 0.19

f2

0.3

receivers

0.2

( l1 ) 1

receivers

500

receivers

receivers

2 1

S2

400

300 receivers

0.14 f3 ( l1 ) 2

0.1

0.24

f4 ( l2 ) 0

0.19 f5 ( l2 ) 1

Flows

(b) Multicast-based scenario

Figure 1: Fairness of multicast-based and session-based scenarios all flows are handled as layers of two sessions,  and  , being  the layer  of session  . Routers     know that  has three layers ,  and with rates of 0.1 Mb/s, 0.2 Mb/s and 0.3 Mb/s, respectively,   which gives a total rate of 0.6 Mb/s for  . Routers also know that 500 receivers join  , 400 join   and 300 join , which means that   has 500 receivers. Among them 300 have three layers, 100 have two layers, and 100 have only one layer.  has two layers  (0.1 Mb/s) and  (0.3 Mb/s), adding to a total rate of 0.4 Mb/s. Routers know that 500 receivers join  and 400 join  . This means that  has also 500 receivers. Among them 400 have two layers and 100 have only one layer. Since  and

 have the same audience size, SAPRA computes a fair share of 0.5 Mb/s for each. In the multicast-based scenario, Fig. 1 (b), routers do not know how to group the five flows in sessions: flows  to  are layers from  and flows  and  are layers from  . Considering the ratio between the audience of each flow and the total audience in the link (2,100 receivers), flows  and   have a fair share of 0.24 Mb/s,  and   of 0.19 Mb/s, and   of 0.14 Mb/s.

 Comparing the two scenarios, in terms of  , Fig. 1 shows that receivers that only join  have the   same reception rate (0.1 Mb/s) and zero loss in both scenarios. However, receivers that join  and  have a reception rate of 0.29 Mb/s and 5% loss in the multicast-based scenario and a rate of 0.3 Mb/s and zero loss in the session-based scenario. The situation becomes worst for receivers that join the three layers, with a reception rate of 0.43 Mb/s and 58% losses in the multicast-based scenario, and a rate of 0.5 Mb/s and 16% losses in the session-based scenario. This theoretical analysis shows that the multicast-based scenario lead to worst rates per-receiver and higher losses. This scenario is intra-

6

session unfair, because packets are dropped without respecting the importance of layers, and has a high quality oscillation, since receivers detect losses in several layers and not only on the highest one. Since SAPRA is session-aware, agents in leaf routers need to collect information about the layout of sessions. We propose two methods to collect the required information: using consecutive address ranges and IGMP extensions. For the first method, each sender allocates consecutive multicast addresses to all layers inside a session and keeps a gap of at least one address between sessions. This method does not induce address collision, because SSM multicast addresses are allocated locally by  ! each source, from a pool of addresses in IPv4 and addresses in IPv6. With this method, receivers join layers sequentially, and agents can detect a new session if a multicast address differs by at least two from any other. Alternatively, if the number of layers per session can be bounded, the address bits can be divided into high-order session and low-order layer bits. For the second method, we add the address of the lowest layer to IGMPv3 [10], using the auxiliary data field. The address of the lowest layer identifies the session. In both methods, agents infer the relationship between layers in a session by the order receivers join them. SAPRA propagates information about sessions among agents using two messages, U PDATE and S YNC: U PDATE messages allow agents to propagate the fair share and audience size of sessions to upstream neighbors. Therefore, each agent along the path can compute local fair shares for each session. S YNC messages propagate information about the quality of sessions to downstream neighbors. Leaf agents use this information to send reports to receivers, allowing them to adjust their reception quality. U PDATEs are forwarded using routing information from the Border Gateway Protocol (BGP) [27] and S YNCs follow the path of the U PDATEs in reverse, similar to RSVP PATH and RESV messages. Signaling protocols should be scalable, robust and fast propagating control information. SAPRA has these characteristics: it is scalable, since messages are exchanged only between neighbor agents; it is robust, since it runs over TCP eliminating the need to implement fragmentation and re-transmission; and it is fast, since messages are sent periodically, not synchronized by receiving messages from elsewhere: each nominal interval varies in the order of 10%. Sending intervals are short to reduce the time required for bandwidth allocation to converge. During an interval agents gather information about sessions, but they can suppress the next message if there is no significant change in the information to be propagated. A detailed description and evaluation of the protocol operation can be found in [24]. When SAPRA in present in the network, receivers are encourage to adapt, since they get guaran-

7

tees that network providers distribute bandwidth with fairness and punish receivers that do not adjust their rate in case of congestion. We describe and evaluate in [22] a receiver-driven adaptive mechanism based on SAPRA, which we called SAPRA Adaptive Mechanism (SAM). SAM tries to increase the reception quality only in synchronous points, which correspond to the reception of reports from SAPRA. SAM increase the reception quality adding layers, if the rate sustained by SAPRA for a session is higher than the rate collected by the receivers of that session in a previous report. We assume that receivers know in advance the average rate of each layer. Hence, they immediately join as much layers as possible. The number of layers they can join is upper bounded by the sustainable rate attributed by SAPRA to their session. Packet loss is a sign of penalization for high-rate sessions in a congested path. Packets start to be dropped from the less important layer, since SAPRA protects the most important ones. When losses happen in any layer, SAM is triggered to leave layers. We assume a loss limit of 2.5% as the maximum quality degradation allowed by receivers. We chose this value based on the study made by Kimura et al. [11], which shows that in MPEG-2 layering with Signal to Noise Ratio scalability, 5% of losses in the most important layer in addition to 100% of losses in all other layers, lead to a decrease of the quality of sessions from good to bad accordingly to the ITU500-R rating [12]. If losses rise above 2.5%, receivers drop a layer every 500 ms, the non-reacting period, while losses are higher than 2.5%. The non-reacting period avoids over-reacting to losses. The duration of the non-reacting period is equal to the one used by PLM [15], which we use as reference to evaluate SAM. We compared SAM only with PLM, since the pathological behavior of other well known adaptive mechanisms, RLM [20] and RLC [35], was described already by Legout et al. [14]. In this paper we focus our attention in describing and evaluating the fairness mechanism of SAPRA in agents and markers.

3.1 Agents To achieve its goals, SAPRA needs to keep per-session information in agents. However, per-layer state can be useful to Quality management procedures of network providers, for instance. Therefore, we make an analysis of SAPRA assuming also per-layer information on agents. For each upstream interface, agents need to keep four bytes of memory per-session and per-layer. In the local interface and in each downstream interface, agents keep twelve bytes per-session and eight bytes per-layer. To exemplify we assume an edge router with one upstream link and three downstream links. We assume

8

also 1,000 sessions, each one with three layers, and present in all downstream links. In this case, the agent reserves 121 KB, independently of the audience size of each session. Agents are responsible to compute the fair share of the service bandwidth that each session is allowed to use, i.e., the fair rate of each session. To compute session #" fair rate, $" , in a link % , agents use Eq. 1, which defines $&" as the ratio between the audience size of " , '" , and the total number of receivers in that service, considering the service capacity, ( . In Eq. 1 ) is the number of sessions that share the service on link % .

*,+.-,/10

+32 46587 -=< >8? 93: ;2 9

(1)

The fair rate of each session is given by the agent to the marker on link % . However, to avoid bandwidth waste, the fair rate used to mark " traffic in a link % is the lesser of $"

and $"=@ , where A is the link downstream of % . Therefore, if a session has a fair rate higher than its downstream fair rate,

$B"

becomes equal to $ "=@ and the difference, $" $E"=@ , is distributed between sessions that have a DC local fair rate lower than their downstream fair rate, by rank of audience size. However, sessions can only increase their fair rate until their downstream fair rate is reached. Agents functionality can be described by a fairness definition, which can be stated as: Consider that $"

and $"=@ are the fair rates of a session F"  H  $  $ tively. A fair rate allocation vector G H IKJKJKJLI alternative fair rate allocation vector G $  IKJKJKJI

in a link % and in a link A downstream of % , respecMO NQP in a link % is said to be SAPRA-fairer if for any $ MRNQP :

SUTWVYXZL[]\ -_^ [ *a+.` -b * +.; -dc *a+.` -e *a+#` fhgjiFk VlXZL[]\ -_^ [ a * ` -En * ; -oc * ; -e * ; f m m m m

(2)

3.2 Markers Fig. 2 shows the SAPRA marker, shadowed component, replacing the usual marker in Assured Forwarding services. The meter included in the DS model, shown in Fig. 2, is used to estimate the average rate of each layer in a session. We assume that the meter uses the same exponential equation as CSFQ, Eq. 3, to estimate the arrival rate of a layer p belonging to a session d" in a link % , q "  , considering tr s "  and u s  as the arrival time and size of the vw_x packet. " 9

Classifier

EF service Best−Effort AF service

Fair Rates from SAPRA Agent

... ...

... ...

Scheduler

Yes METER

MARKER

CONGESTED?

No

DROPPER

No

FIFO

Yes ID TRIGGER?

No

FILTER

Yes ID Sessions

Figure 2: SAPRA marker

Œ Œ †Ž  ‘ Ž† ’d– ”•~K!€ yK~KzL!{}|€‚„ƒ†…ˆ‡l‰ŠD‹  “ ‰Š8‹ ‘ Ky K~˜†™!š € ~K• !€B—

(3)

ž3Ÿ¦ § and ¨ is a constant. The factor © ¥«ª ¬ controls the stability In Eq. 3, ›OL œ ž3Ÿ is equal to  ¢¡_œ Lž3Ÿ£ ¡¤œL¥ and convergence of the average rate: a small value of ¨ decreases the convergence time, but increases instability, and a high value of ¨ has the opposite effect. Stoica et al. propose an average value of ¨ between 100 ms and 500 ms in CSFQ. Traffic of a session ­  in a link ® is marked in or out profile based on the session fair rate, ¯ ° Ÿ , and the average rate of each one of its layers. However, incoming out of profile packets are not remarked, since they are not compliant with upstream fair rates. Assuming that ± ² and ±t³ are the lowest and Ÿ³ highest layer of ­ ´ , respectively, Eq. 4 gives the probability µ Lž3Ÿ of marking a packet of ± ž as in °· profile in a link ® , and Eq. 5 gives the probability µDL¶ ž3Ÿ of marking the same packet out profile. In these Ÿ³ two equations, ¸ Lž3Ÿ is the rate of in profile packets of ± ž from ­  in link ® , ¹ Lž3Ÿ (Eq. 6) is the sum of rates from layer ± ² to layer ± ž , and º Lž3Ÿ (Eq. 7) is the maximum value between ­&´ fair rate and the sum of rates of all layers from ± ² to ± ž

.

¥¦ ¼

½¾

» €z ~K!€ 

» ˜ ~3Ð ~K! € 

… Ä Ž} #ÆǎÈÉËÊ̐ Š Í Å Î   Ž} ¼

½¾

Ñ

Ä Å Ž†Í ŠÎ Ž}  Ž} À ~K!€ 

Ó



Ô=Õ&Ö

¿dÀ ~K!€Áà~.€ ¿dÀ ~K!€Ïà~.€ ¿À ~K!€ ÁÒ ~.€ ¿À ~K!€ ÏÒ ~.€ y ~€ z × ÔL× €

Ø ~K!€ ÚÙWÛÜ ƒ  .~ € d ¿ À ~ÝÞ

10

(4)

(5)

(6)

Š&ß}à

€’

(7)

Sessions with a rate lower than their fair rate do not use all the bandwidth that they are entitled to. Hence, to maximize bandwidth utilization, SAPRA divides bandwidth not being used in equal parcels among remainder sessions. However, sessions that have a rate higher than their fair rate plus their equal share of the bandwidth not being used in the link are identified as high-rate sessions, as shown in Fig. 3. Since congestion in a link is caused by high-rate sessions, SAPRA has a mechanism to punish them. Rate

excess rate

equal share of bandwidth not being used

Session fair rate 4 l 2

bandwidth not being used

2 1 2 l0 S2 l

1 l0 S1

rate < fair rate

packets with probability to be dropped

l 3 2 3 l 1

l 4 1 layers without dropped packets

3 l 0

l 4 0

S3

S4

rate > fair rate

Sessions High−Rate Session

Figure 3: Identification of high-rate sessions The procedure to identify high-rate sessions is similar to the one used by the Random Early Detection with Preferential Dropping mechanism (RED-PD) [19]. But, contrary to RED-PD, SAPRA identifies high-rate sessions in fixed length intervals during congested periods and does not maintain a list of layers that suffer drops in each interval. This simplifies the identification procedure. In each interval, SAPRA starts by identifying sessions with total rate higher than their fair rate: +3- / 4ãâä ; + 9 93:å á the total rate of U" in a link % is given by á , where q "  is the total rate of  , i.e., the sum of its in and out profile rates. To punish a high-rate session " in a link % , SAPRA uses Eq. 8 to compute the dropping probability H of  " in each identification interval r , æç" r P . In Eq. 8 è is the bandwidth not being used in link % . * +.7 Z î„58ó 7 éê+.-†0 ë /ì0 éê+.-Q0_ëí Z 0Z í <