Broadcasting Algorithm with Per-neighbor Queues
aa r X i v : . [ c s . N I] D ec Optimal Distributed Broadcasting with Per-neighbor Queues
Abstract —Broadcasting systems such as P2P streaming systemsrepresent important network applications that support up tomillions of online users. An efficient broadcasting mechanismis at the core of the system design. Despite substantial effortson developing efficient broadcasting algorithms, the followingimportant question remains open: How to achieve the maxi-mum broadcast rate in a distributed manner with each usermaintaining information queues only for its direct neighbors?In this work, we first derive an innovative formulation of theproblem over acyclic overlay networks with arbitrary underlaycapacity constraints. Then, based on the formulation, we developa distributed algorithm to achieve the maximum broadcastrate and every user only maintains one queue per-neighbor.Due to its lightweight nature, our algorithm scales very wellwith the network size and remains robust against high systemdynamics. Finally, by conducting simulations we validate theoptimality of our algorithm under different network capacitymodels. Simulation results further indicate that the convergencetime of our algorithm grows linearly with the network size, whichsuggests an interesting direction for future investigation.
I. I
NTRODUCTION
Information broadcasting is an increasingly important appli-cation for content delivery and network control in the Internet.For example, in P2P streaming systems such as PPLive andUUSee, the streaming server continuously generates streamingcontents and disseminates them to all the participating users.We study the optimal broadcasting problem, i.e. , maximiz-ing the broadcast rate at which contents are received by allthe users simultaneously. This fundamental problem is at thecore of many broadcasting systems, attracting a substantiallevel of attention from both industry and academia. A numberof work in the literature design broadcasting algorithms undervarious network models. We consider a general network modelthat subsumes most known ones such as the edge-capacitatednetwork model and the node-capacitated network model, asillustrated in Fig. 1.A classic work on broadcasting is due to Edmonds [1], whoprovided a centralized algorithm for computing the maximumbroadcast rate. Edmonds’ algorithm constructs a set of edge-disjoint spanning trees, each rooted at the source and reachingevery user in the network. However it works only under theedge-capacitated network model. Under the node-capacitatednetwork model, Sengupta et al. [2] formulated the problemas finding the set of spanning trees with maximum aggregatebroadcast rate, subject to node capacity constraints. They thensolved this optimization problem approximately by adaptingthe Garg-Konemann technique [3]. These two centralizedrouting algorithms achieve the maximum broadcast rate, butboth need an centralized entity to collect global networkinformation, carry out the computation, and coordinate theimplementation of the solution, making them less adaptive tosystem dynamics due to frequent reconstruction of trees. Distributed solutions to the optimal broadcasting problemwere then provided by Ho and Viswanathan [4] and by Zhang et al. [5], under the edge-capacitated network model and thenode-capacitated network model, respectively. These solutionscombine random network coding [4], [6] and back-pressurebased capacity scheduling [7]. Although the algorithms aredistributed, each participating user needs to maintain onequeue for every other user in the entire network , whichstores contents intended for that user. As the network sizegrows, the storage and communication overhead introducedby maintaining and updating all the queues at each usersoon becomes prohibitive. Furthermore, upon user joins anddepartures, the whole network needs to be informed to add orremove queues, which is rather inefficient.Massoulie et al. [8] proposed a simple distributed algorithmfor both edge-capacitated and node-capacitated networks. Ev-ery user only needs to maintain one queue for each of itsneighbors, which stores contents innovative to the correspond-ing neighbor. It is proved to support any feasible broadcast ratefor arbitrary edge-capacitated networks and full-mesh node-capacity networks. But the algorithm fails when the capacitybottleneck is on the underlay links such as the example in Fig.1. Also it works only if a feasible target broadcast rate is given.It cannot approach the maximum broadcast rate adaptively.Besides, several papers [5], [9], [10] studied the broadcast-ing capacity when user can select its direct neighbors from thenetwork, and designed algorithms to approach it.Despite all the existing results, the problem remains verychallenging if we wish to achieve the maximum broadcast ratein a distributed fashion, while maintaining only per-neighborinformation queue at each node . There is no existing problemformulation to help design such an algorithm. The problembecomes even harder when one considers adapting the algo-rithm to a general network model. Under our network model,the algorithm needs to learn underly capacity bottlenecks andadjust the overlay link rate accordingly.In this work, we aim at designing such a broadcastingalgorithm and make the following contributions:1) We consider the model that the overlay network isacyclic but underlay capacity bottlenecks can be any-where, which subsumes most known ones. Under thismodel, we formulate the optimal broadcasting problemin an innovative way. We show that our formulation issimple yet effective to characterize any feasible broad-cast rate. Most importantly, this formulation leads us toefficient algorithm design.2) Based on our formulation, we are the first to design adistributed algorithm to solve the optimal broadcastingproblem, which requires only per-neighbor informationmaintained at each node. The proposed algorithm scales wuv a b s wuv
Fig. 1. Network Model: The graph on the right represents an overlay networkbuilt upon the network on the left. The broadcasting system works in theoverlay network. Nodes a and b are routers; nodes s , u , v and w denotebroadcasting participants. An edge is a physical link on the left, and is amulti-hop TCP/UDP connect on the right. For example, the overlay link ( v, u ) traverses the physical path ( v, a ) → ( a, b ) → ( b, u ) . The capacity constraintcan be anywhere — for example, on the overlay links ( edge-capacitated ) oron the broadcasting nodes ( node-capacitated ). very well and is robust to high levels of networkdynamics.We summarize the existing results and our result in Table I.II. P ROBLEM S ETTING AND N OTATIONS
A network is modeled as a directed graph G = ( N , L ) ,where N is the set of physical nodes including all thebroadcasting participants and other intermediate nodes suchas routers, and L is the set of all physical links.Consider a single source broadcasting system deployed inan overlay network G = ( V, E ) built upon G . We assume that G is acyclic. The node set V ⊆ N represents the set of allthe broadcasting participants. The edge set E represents theset of overlay links connecting the nodes V . An overlay linkis a TCP or UDP connection, which may traverse multiplephysical links of L . A simple example is shown in Fig. 1. Let s ∈ V denote the source and R = V − { s } denote the set ofreceivers. Let in ( v ) = { w ∈ V | ( w, v ) ∈ E } be the set of incoming neighbors of node v , from which node v may receive contents. Let out ( v ) = { u ∈ V | ( v, u ) ∈ E } be the set of outgoing neighbors of node v , to which node v can transmit contents. The source s generates contentscontinuously at rate z . Each receiver attempts to collect allthe contents from its incoming neighbors.Let r vu be the content transmission rate over link ( v, u ) ∈ E . The network capacity constraints are expressed as follows: A · r ≤ C , (1)where the column vector r = { r vu , ( v, u ) ∈ E } denotes thelink rate set, the column vector C denotes all the capacitybottlenecks in the network and the matrix A reflects how linksshare the network capacities. Note that our network capacitymodel is rather general and the inequality (1) subsumes sce-narios where the capacity bottleneck can be anywhere in thenetwork.
For instance, for a P2P broadcasting system wherethe capacity constraint is generally assumed to be on the nodes, i.e. , any node v ’s aggregate outgoing rate P u ∈ out ( v ) r vu isupper bounded by the node v ’s upload capacity C v . Then we can write C = { C v , v ∈ V } and A = { a v,e , v ∈ V, e ∈ E } where a v,e = ( if the head of e is v, otherwise . For example, in Fig. 1, for node v , we have r vu + r vw ≤ C v .While if the capacity constraint is on the physical links, forexample, in wireless communication systems, we can write C = { C l , l ∈ L} and A = { a l,e , l ∈ L , e ∈ E } where C l isthe link capacity and a l,e = ( if overlay link e passes physical link l, otherwise . For example, in Fig. 1, for the physical link ( a, b ) , we have r su + r vu + r vw ≤ C ab . For the convenience of illustration,we use e and ( v, u ) exchangeably to denote one edge in E afterwards. III. P ROBLEM S TATEMENT
Before presenting our problem, we first characterize themaximum broadcast rate B , i.e. , the highest rate at which everynode in the system can receive the contents simultaneously.Given an r = { r vu , ( v, u ) ∈ E } satisfying (1), for any v ∈ R , we let ρ s,v ( r ) be the minimum s − v cut capacity. ρ s,v ( r ) can be expressed as follows ρ s,v ( r ) = min U, ¯ U X ( u,w ) ∈ E,u ∈ U,w ∈ ¯ U r uw (2)s.t. s ∈ U, v ∈ ¯ U ,U ∪ ¯ U = V,U ∩ ¯ U = φ, where the three constraints define that ( U, ¯ U ) is a s − v cut,and the objective is the cut capacity. By the well-known max-flow min-cut theorem, B is equal to the value of the followingproblem max r min v ∈ R ρ s,v ( r ) (3)s.t. A · r ≤ C . In other words, the maximum broadcast rate is equal tothe maximum of the minimum source-receiver cut capacitiesacross all feasible link rate allocations.We wish to design a distributed algorithm to achieve themaximum broadcast rate B , and at the same time satisfythe requirement N eighbor − only : only neighbor-regardedinformation is maintained at each node . For example, everynode may keep each neighbor’s current state (e.g., hithertoreceived contents) and update it periodically in the algorithm.Such information is generally used to guide node’s behav-ior. The reason that only neighbor-regarded information ismaintained is to guarantee good scalability and robustness.With only neighbor-regarded information, the storage andcommunication overhead is lightweight even in large-scalesystems. Upon node joins/departures, we only need to notifythe corresponding neighbors. Consequently, even if the system eferences Network Topology Network Capacity Bottleneck Can automaticallylearn the maximumbroadcast rate? Distributed? Number of QueuesMaintained at Each UserAcyclic? Cyclic/Full-Mesh? EdgeCapacitated? NodeCapacitated? ArbitraryBottleneck?[1] × √ / × √ × × √ × O (1) [2], [9] × √ / × × √ × √ × O (1) [4] × √ / × √ × × √ √ O ( number of total users ) [5] × √ / × × √ × √ √ O ( number of total users ) [10] × √ / × × √ × × √ O (log( number of total users )) [8] × √ / × √ × × × √ O ( number of neighbors ) [8] × √ / √ × √ × × √ O ( number of neighbors ) This work √ × / × √ √ √ √ √ O ( number of neighbors ) TABLE IS
UMMARY AND COMPARISON OF PREVIOUS WORK AND THIS WORK FOR THE OPTIMAL BROADCASTING PROBLEM . is highly dynamic, the algorithm can still adapt in an agileand efficient way. We will further explain the requirement N eighbor − only and its benefits in Section V-B when wedescribe our broadcasting algorithm.IV. P ROBLEM F ORMULATION AND J USTIFICATION
A. Problem Formulation
The optimal broadcasting problem can be formulated indifferent ways. Besides (3), the information-flow based for-mulation is most common [4], [5]. However, none of thealgorithms based on existing formulations can satisfy the strictrequirement of
N eighbor − only . Our new formulationbelow enables us to design a broadcasting algorithm thatis throughput optimal and distributed, and most importantly,satisfies the N eighbor − only condition.We formulate the broadcast rate maximization problem asfollows: max z ≥ , r ≥ U ( z ) (4)s.t. X u ∈ in ( v ) r uv ≥ X p ∈ in ( w ) r pw + z w = s , ∀ v ∈ R, w ∈ in ( v ) , (5) A · r ≤ C , (6)where z is the rate at which the source s generates contents, U ( · ) is a differentiable strictly concave increasing utility func-tion, and r uv is the allocated rate over the overlay link ( u, v ) at which node u can transmit contents to node v . Constraint(5) states that a node’s total receiving rate should be no lessthan the total receiving rate of each of its incoming neighbors.The network capacity constraint is captured by constraint (6).Constraint (5) differentiates our problem formulation fun-damentally from existing ones in the literature. Prior to thiswork, the information-flow based formulation is mostly used tohelp design broadcasting algorithms. In the information-flowbased formulation, instead of (5), there is a flow-balancingconstraint for every node pair . In our formulation, however,(5) involves only node-neighbor pairs . This unique featureguarantees that, in our broadcasting algorithm based on thisformulation, every node interacts just with its neighbors andonly neighbor-regarded information is needed.Now we explain roughly why the constraint (5) makessense. It is known that, for any acyclic graph, we can always divide the nodes into different ordered layers such that thesource is exclusively in the lowest layer and every node staysin lower layer than any of its outgoing neighbors. In otherwords, nodes can only receive contents from those in lowerlayers. Let’s consider nodes layer by layer from bottom to top.First, nodes in the second lowest layer can receive contentsonly from the source. The constraint (5) makes sure that thesenodes can obtain whatever the source has, since the receivingrate is no less than z . Next, nodes in the third lowest layercan receive the contents from either the source or nodes in thesecond lowest layer. Due to the similar reason, the constraint(5) guarantees these nodes can also get all the source has. Thenwe can continue the same argument until the highest layer. Soessentially the constraint (5) is to make every receiver receiveall the contents generated by the source.Next, we formally show that the simple constraint (5) alongwith (6) give us the feasible region of the broadcast rate forany acyclic graph. B. Formulation Justification
In this subsection, we first establish a known property aboutthe acyclic graph G : nodes can be indexed so that every node’sindex is smaller than that of any outgoing neighbor. Then,based on this property, we show that constraints (5), (6) aresufficient and necessary conditions for any feasible broadcastrate z ≤ B .The topological ordering of acyclic graphs is a known result.It is presented in the following proposition for the sake ofcompleteness. Proposition 1:
All nodes in G can be sequentially indexedsuch that, for any node v ∈ R , the index of any u ∈ in ( v ) issmaller than v ’s index.We say a broadcast rate z is feasible if and only if z ≤ B .Based on Proposition 1, we show in the following theorem thatconstraints (5), (6) are sufficient and necessary conditions forany feasible broadcast rate under the acyclic directed graph. Toshow necessity, we prove that, for any feasible z , we can find a r that supports z and at the same time satisfies constraints (5),(6). On the other hand, for any s − v cut in G , we can alwaysfind a node such that the cut capacity is no less than the node’stotal receiving rate. Constraint (5) guarantees that every node’sreceiving rate is larger than or equal to the broadcast rate z .o the broadcast rate z is not larger than any cut capacity, andthus feasible by the definition of B in (3). Theorem 1: If G is acyclic, any z such that there existsa r = { r e , e ∈ E } satisfying the constraints (5), (6) is afeasible broadcast rate. On the other hand, for any feasiblebroadcast rate z , there exists one r = { r e , e ∈ E } satisfyingthe constraints (5), (6). Proof:
First, for any broadcast rate z such that there existsone r = { r e , e ∈ E } satisfying the constraints (5), (6), weshow that z ≤ B .Consider a new graph G ′ = ( V, E ) , i.e., the same as theold one. For each edge e ∈ E , the edge capacity is r e . B ′ is the maximum broadcast rate that can be achieved under G ′ . We should have B ′ ≤ B . Like G , G ′ is also acyclic.By Proposition 1, we can index all the nodes in G ′ such thatevery node can only receive content from those with smallerindexes. Denote one of such index sets by { I v , v ∈ V } . Thenwe have for ∀ v ∈ V , if ( u, v ) ∈ E , then I u < I v .Next we prove the following inequality B ′ = min v ∈ R ρ s,v ( r ) ≥ z, where ρ s,v ( r ) is as defined in (2) the minimum s − v cutcapacity in G ′ . Consider any s − v cut ( U, ¯ U ) and its cutcapacity is P u ∈ U,w ∈ ¯ U r ( u,w ) . It can be shown that there existsa node w ∗ ∈ ¯ U such that for any other w ∈ ¯ U we have I w ∗
Based on our problem formulation, we now apply the classicLagrangian decomposition approach to design a broadcastingalgorithm, which is throughput optimal, distributed and main-tains only neighbor-regarded information at each node.
A. Lagrangian Decomposition
By relaxing constraint (5), we obtain the following partialLagrangian: L ( z, θ , r )= U ( z ) + X v ∈ R X w ∈ in ( v ) θ v,w X u ∈ in ( v ) r uv − X p ∈ in ( w ) r pw − z w = s , where θ v,w is the Lagrange multiplier.Since the Slater constraint qualification conditions hold forthe problem (4) [11], strong duality holds. Thus problem(4) can be solved by finding the saddle points of L ( z, θ , r ) ,through solving the following problem in z, θ , r : min θ ≥ max z ≥ U ( z ) − X v ∈ R : s ∈ in ( v ) θ v,s z +max r ≥ X v ∈ V X u ∈ out ( v ) r vu X w ∈ in ( u ) θ u,w − X w ∈ out ( u ) θ w,u s.t. A · r ≤ C . Given θ , we first solve the following capacity schedulingsubproblem in r : SSP : max r ≥ X v ∈ V X u ∈ out ( v ) r vu X w ∈ in ( u ) θ u,w − X w ∈ out ( u ) θ w,u s.t. A · r ≤ C . We can exploit the specific structure of the above linearprogram to solve it in a distributed fashion. In particular, forany two neighboring nodes u and v , we define the back-pressure from u to v as P vu = X w ∈ in ( u ) θ u,w − X w ∈ out ( u ) θ w,u , ∀ ( v, u ) ∈ E. (7)Under different scenarios of network capacity constraints,we solve this subproblem correspondingly, and obtain theoptimal solution r ∗ .If capacity constraints are applied on the nodes: X u ∈ out ( v ) r vu ≤ C v , ∀ v ∈ V, The Theorem 1 can be extended to graphs which satisfy that all “critical”cuts belong to { ( V \ v, v ) | v ∈ R } or any v ∈ V , let u ∗ ( v ) = arg max u ∈ out ( v ) P vu , then thesolution to SSP is as follows: for any v ∈ V , r ∗ vu = ( C v , if u ∈ out ( v ) , u = u ∗ ( v ) and P vu > , , otherwise. (8)If capacity constraints are applied on the physical links,recall that they can be written as: X e ∈ E a l,e r e ≤ C l , ∀ l ∈ L , where L is the set of all physical links and a l,e = ( if overlay link e uses physical link l, otherwise . We can solve
SSP by the following primal-dual algorithmwhich will converge to r ∗ ( ˙ r e = β e (cid:2) P e − P l ∈L a l,e λ l (cid:3) + r e , ∀ e ∈ E, ˙ λ l = σ l (cid:2)P e ∈ E a l,e r e − C l (cid:3) + λ l , ∀ l ∈ L , (9)where β e and σ l are positive constants, and function [ b ] + a = ( max(0 , b ) a ≤ b a > . Given the
SSP ’s solution r ∗ vu as (8) or (9), we use thefollowing distributed primal-dual algorithm to solve the sub-problems in z, θ simultaneously: ˙ z = α h U ′ ( z ) − P v ∈ V : s ∈ in ( v ) θ v,s i + z , ˙ θ v,u = γ v,u hP p ∈ in ( u ) r ∗ pu + z u = s − P w ∈ in ( v ) r ∗ wv i + θ v,u , ∀ v ∈ R, u ∈ in ( v ) , (10)where α and γ v,u are positive constants. B. Broadcasting Algorithm
Our broadcasting algorithm works as follows: Every node v maintains one “queue” θ v,u for each incoming neighbor u ∈ in ( v ) . In each time slot, • Primal-dual Update : According to (10), the source s updates the broadcast rate z , and each node v collectsinformation from u ∈ in ( v ) and updates the queue θ v,u . • Capacity Scheduling : Node v decides the link transmis-sion rate r vu for all u ∈ out ( v ) according to (8) or (9). • Content Scheduling : Given r , every node v coordinateswith its incoming neighbor set { u | u ∈ in ( v ) , r uv > } ,and decides what to receive from each of them in orderto obtain as many innovative contents as possible. Thenevery node u sends out specific contents to each outgoingneighbor v ∈ out ( u ) at rate r uv . Remark : We can also adopt random network coding to helpcontent scheduling [6], [12]. In each time slot, every node u randomly encodes all the received contents and sends outthe coded contents to each v ∈ out ( u ) at rate r uv . This way,there is no need for coordination between each node-neighbor pair. However, network coding will introduce communicationoverhead for carrying coding coefficients and computationcomplexity for encoding and decoding.We have the following observations for our broadcastingalgorithm: • The Lagrangian variable θ v,u measures the buffer sizedifference between node v and its incoming neighbor u , which can be calculated at node v by collectinginformation from each of its neighbors. • With the above understanding on θ , the terms in P vu can be understood as follows. The term P w ∈ in ( u ) θ u,w measures the aggregate deficit in received content amountbetween node u and all its incoming neighbors. The largerthis term is, the more desperate peer u wants to receivecontents. Similarly, the term P w ∈ out ( u ) θ w,u measuresthe aggregate surplus in received content amount betweennode u and all its outgoing neighbors. • The algorithm requires nodes to exchange informationonly with its one-hop neighbors, and can be implementedin a distributed manner. At each node, the maintainedinformation is θ v,u regarding only incoming neighbors.Hence our algorithm satisfies the N eighbor − only condition. The number of “queues” every node needs tomaintain and update is just equal to half of the size of itsneighbors. As a result, the storage and communicationcost of maintaining and updating jobs at each node isquite limited even for large-scale systems. When there isa node departing, that node just needs to notify its outgo-ing neighbors, who eliminate the “queue” regarding theleaving node. When there is a new node joining, that nodefirst establishes one “queue” for each incoming neighbor,and then notifies its outgoing neighbors. Each outgoingneighbor adds one “queue” regarding the joining node.The adjustment overhead incurred by network dynamicis only proportional to the neighbor size and thus verylightweight. Our algorithm, therefore, scales very welland is very robust to network dynamics.Next, we show that our broadcasting algorithm is throughputoptimal. This means that our algorithm can guarantee high per-formance, for example, high-quality video support, in practicalsystems.To show this, we proceed in two steps. First, we show thatthe joint primal-dual algorithm and capacity scheduling canconverge to the optimal solution z ∗ , r ∗ of (4). Then, under rateallocation r ∗ , our content scheduling strategy can guaranteethat every node can receive innovative contents at rate z ∗ . ByTheorem 1, we get z ∗ = B which is the maximum broadcastrate. Overall, we have the following theorem. Theorem 2:
Our broadcasting algorithm is throughput op-timal.
Proof:
By standard Lyapunov arguments, we can showthat the joint primal-dual algorithm and capacity schedulingcan converge to the optimal solution z ∗ , r ∗ of (4) as in [5].As in Proposition 1, we label all the nodes with indexes { I v } such that for any node v ∈ R , I u for any u ∈ in ( v ) is smaller than I v . Note that under rate allocation r ∗ , the Fig. 2. Topology of the simulated overlay network: The center node is thesource. The graph has a “grid” topology. When the number of nodes increases,the graph expands symmetrically as a 2D grid. The dark node is the broadcastbottleneck. constraint (5) guarantees that the aggregate incoming rate ofeach node is larger than or equal to z ∗ . We show by inductionthat every node can receive innovative contents at rate z ∗ underour content scheduling policy.We start with the node with index . The only incomingneighbor of this node is the source s , which generates newcontents at rate z ∗ . Thus the node with index receivesinnovative contents at rate z ∗ . Suppose the nodes with indexsmaller than i ( i > ) receive innovative contents at rate z ∗ .Note that these nodes can be regarded as “ sources ” becausenew contents are injected into each of them with the rate sameas the source s . Now we check the node with index i + 1 .Because the incoming neighbors of this node are the subsetof the “ sources ”, and this node manages to obtain as manyinnovative contents as possible from its incoming neighbors,we can conclude that the node with index i + 1 can receiveinnovative contents at rate z ∗ .From Theorem 1, we know that the constraints of (4) aresufficient and necessary conditions for any feasible broadcastrate. Thus we get z ∗ = B . So our broadcasting algorithm isthroughput optimal. VI. S IMULATION
We implement our broadcasting algorithm using Python andconduct simulation studies to evaluate the performance of oursolution.
A. Settings
In our simulations, time is chopped into slots of equallength. The topology of the overlay network is shown in Fig.2. We adopt two different settings. In Setting I, the capacityconstraint is on the edge. The edge capacity is Mbps exceptthe incoming edges of the top-left node (filled in black in Fig.2), at Mbps each. In Setting II, the capacity constraint ison the nodes. The node capacity is Mbps except the sourceand the incoming neighbors of the top-left node. The source’scapacity is Mbps. The capacity of each incoming neighborof the top-left node is Mbps. In both settings, given ourcapacity constraints, the broadcast bottleneck is at the networkedge and thus far from the source. It’s easy to check that themaximum broadcast rate under both settings is Mbps. Wechoose the number of nodes as , , , respectively.The utility function is U ( · ) = log( · ) . time slot b r oad c a s t r a t e ( M bp s ) |V|=5 |V|=15 |V|=35 |V|=105 × (a) Broadcasting under Setting I time slot |V|=5 |V|=15 |V|=35 |V|=105 × (b) Broadcasting under Setting IIFig. 3. Simulation results Under Setting I and II, we next evaluate our broadcastingalgorithm.
B. Evaluation of the Proposed Broadcasting Algorithm
We evaluate our broadcasting algorithm proposed in SectionV-B and answer the following questions: 1) does it convergeto the maximum broadcast rate as expected by the theoreticalanalysis? 2) how fast does it converge? 3) what’s the impactof network size on the convergence time (the length of theinterval from the start to where the broadcast rate begins tostay with the optimum)?We show the results under Setting I in Fig. 3(a) and theresults under Setting II in Fig. 3(b). We have the followingobservations. First, our broadcasting algorithm can converge tothe maximum broadcast rate Mbps and is thus optimal underdifferent network capacity models. Second, when the networkgrows, the convergence time increases. This is because thebottleneck (at the network edge) is further from the source asthe number of nodes gets larger. It takes longer for the sourceto learn about the bottleneck and to adjust the broadcast ratecorrespondingly. Third, under Setting I, the convergence timesare about , , , time slots respectively as thenumber of nodes increases; under Setting II, the convergencetimes are , , , time slots respectively. Wecan see that the convergence time of our algorithm growslinearly with the network size under both settings. That meansour algorithm is suitable to be implemented in large-scale sys-tems. It might be an interesting future direction to theoreticallyanalyze the convergence behavior of our algorithm. Forth, theconvergence under Setting II is longer than that under SettingI. The reason is that, different from Setting I, each node needsto allocate its upload capacity among its neighbors every timeslot under Setting II. R EFERENCES[1] J. Edmonds, “Edge-disjoint branchings,”
Combinatorial Algorithms, R.Rustin, ed. , 1973.[2] S. Sengupta, S. Liu, M. Chen, M. Chiang, J. Li, and P. A. Chou, “Peer-to-peer streaming capacity,”
IEEE Trans. Information Theory , 2011.[3] N. Garg and J. Konemann, “Faster and simpler algorithms for multi-commodity flow and other fractional packing problems,” in
IEEE Symp.Foundations of Computer Science , 1998.[4] T. Ho and H. Viswanathan, “Dynamic algorithms for multicast withintra-session network coding,”
IEEE Trans. Information Theory , 2005.[5] S. Zhang, Z. Shao, and M. Chen, “Optimal distributed p2p streamingunder node degree bounds,” in
Proc. IEEE ICNP , 2010.[6] P. Chou, Y. Wu, and K. Jain, “Practical network coding,” in
Proc.Allerton Conference , 2003.7] L. Tassiulas and A. Ephremides, “Stability properties of constrainedqueueing systems and scheduling policies for maximum throughput inmultihop radio networks,”
IEEE Trans. Automatic Control , 1992.[8] L. Massoulie, A. Twigg, G. Gkantsidis, and P. Rodriguez, “RandomizedDecentralized Broadcasting Algorithms,” in
Proc. IEEE INFOCOM ,2007.[9] S. Liu, M. Chen, S. Sengupta, M. Chiang, J. Li, and P. A. Chou, “Peer-to-peer streaming capacity under node degree bound,” in
Proc. IEEEICDCS , 2010.[10] C. Zhao, J. Zhao, X. Lin, and C. Wu, “Capacity of p2p on-demandstreaming with simple, robust and decentralized control,” in
Proc. IEEEINFOCOM , 2013.[11] S. Boyd and L. Vandenberghe,
Convex optimization . Cambridgeuniversity press, 2004.[12] T. Ho, M. M´edard, R. Koetter, D. Karger, M. Effros, J. Shi, andB. Leong, “A random linear network coding approach to multicast,”