Network Coding and Reliable Communications Group (Network) Coding in Uncertain Networks Daniel E. Lucani Network Coding and Reliable Communications Group Sources of Uncertainty user rate changes with time, user, other users Rate uncertainty packets are Channel lost cannot Delay react quickly Interference collisions Network Coding and Reliable Communications Group Motivations for Research Which transmissions have greatest impact? Rate uncertainty Channel How to perform efficient rateless transmission? HowCapacity much to talk before improvement stopping to through listen? simple, distributed algorithms? Interference Delay Uncoded rate without additional cost? Network Coding and Reliable Communications Group Network Coding • A new means of conveying information – Throughput gains, robustness against failures and erasures – Routing/traditional network: data can only be forwarded or replicated – Network coding: data is an algebraic entity • In wireless networks – Broadcast advantage – Packet erasures (losses) Routing Network Coding A A B A B B A+B A+B Network Coding and Reliable Communications Group Network Coding • In wireless networks – Broadcast advantage – Packet erasures (losses) p1+ p2 + p3 p2 p3 p1 p1 p1+ p2 + p3 p3 p2 p3 p1 p2 p1+ p2 + p3 Network Coding and Reliable Communications Group On Coding for Delay How much to talk before stopping to listen? Rate uncertainty Channel Joint work with: Muriel Médard Milica Stojanovic David Karger Interference Delay Network Coding and Reliable Communications Group Application: dissemination of information • Time-Division Duplexing or ‘Half-Duplex’ channels – How much should we talk before stopping to listen? • Large latency channels – Satellite and deep space communications • Very long distances (~10,000 km and up) – Underwater acoustic communications • Low propagation speed (~1500 m/s) • Long distances (~km) • Previous work for link/broadcast scenarios – ARQ schemes – FEC schemes: block-based (no feedback) or rateless – Hybrid schemes Network Coding and Reliable Communications Group Cases Link Tx Rx •Mean completion time: close to full duplex (gold standard) •Mean completion energy: close to optimal Tx with M packets Rx N 1-to-all Broadcast Rx 2 Rx 1 •Mean completion time: can be better than scheduling schemes with full duplex capabilities •Optimization: Hard, but have good heuristics Network Coding and Reliable Communications Group Cases all-to-all Broadcast Node 1 M1 packets Node N MN packets Node 3 M3 packets Node 2 M2 packets •Mean completion time: can be better than scheduling schemes with full duplex capabilities •Optimization: hard, but have algorithm+heuristics Network Coding and Reliable Communications Group Description of Scheme: Link • Goal: reliable transmission of a block of data packets Tx Rx Erasure Channel Generates N Mi random linear coded packets Header h bits M data packets .. . ACK i Coded Data C1 … CM Received k coded packets, only M-i independent g bits linear combinations n bits ACK degrees of freedom required to decode (dofs req’d): Not particular data packet .. . Degrees of freedom needed by Rx: Degrees of freedom needed to decode: M i M i Note: Choice of Ni, i determines performance of scheme [ITA’09, Infocom’09, ICC’09] Network Coding and Reliable Communications Group Description of Scheme: Link • Scheme can be modeled as a Markov chain – States: degrees of freedom (dof) required to decode – Transition time ( T ( i )) depends on starting state • We determined moment generating functioni of completion time [ITA’09] M T ,n ( s) e n 1 sT ( n ) 1 Pnn e sT ( n ) Pni MT ,i (s) MT ,0 (s) 1 i 0 • Optimizing N i , i to minimize completion time: – No closed-form expressions – Ni are integer-valued: hard – Exploit recursion, performed off-line Network Coding and Reliable Communications Group Minimizing Completion Time or Energy Full Duplex Network Coding: TDD constraint • Ni, i chosen to minimize Tx Rx – Mean completion time [ITA’09 Infocom’09] – Mean completion energy [ICC’09] Channel ACK ACK Mean Time (s) MeanCompletion Completion Energy 0.8 3 2.5 0.6 2 Time Energy TDD Opt. Energy 1.5 0.4 1 Pe = 0.8 0.2 0.5 0 -4 10 3 ) TDD Opt. Time Full Duplex TDD Opt. Energy TDD Opt. Time Full Duplex 1.15dB Pe = 0.8 -3 10 -2 -2 -1 -1 10 10 Probability Erasure Probability Packet Erasure Packet 0 0 10 e.g: M = 10, round trip time = 250 ms, Rate = 1.5 Mbps 1.1dB Network Coding and Reliable Communications Group Effect of Field Size [GLOBECOM’09] Tx Rx 1 Channel / Network (Packet Losses) Inputs random linear network coded packets (M original packets) –We are interested in j coded packets arrive n ind. linear combinations needed P n ' n , j = j (n,n') –Modeled as a Markov chain q-M q-M+1 M-1 M 1 – q-M q-1 … 1 1 1 – q-2 0 with transition probability matrix 1 – q-1 Shown that each receiver requires in average less than M + 2 coded packets to decode regardless of field size (q) Network Coding and Reliable Communications Group Systematic coding: a free lunch? • Can we use smaller field size (simpler operations) and still perform close to large field size? 0.6 Systematic + RLNC with XOR RLNC with XOR 0.55 Completion Time (s) RLNC Large Field Size (220) – Ans. Yes + reduction in decoding complexity 0.5 • Systematic network coding: 0.45 – First M transmissions are the original packets – All other transmissions: random linear combinations 0.4 0.35 • Decoding complexity down from O(M3) to O(Pe3M3) 0.3 10 -3 -2 -1 10 10 Packet Erasure Probability (Pe) 10 0 – Pe = 0.1 → 1000 times less operations in average Network Coding and Reliable Communications Group Inter-Layer Coding for Multicast Rate uncertainty Channel Joint work with: Muriel Médard MinJi Kim Fang Zhao Shirley Shi Interference Delay Capacity improvement through simple, distributed algorithms? Network Coding and Reliable Communications Group Layered Multicast with Network Coding • Directed acyclic graph, unit capacity links r1 s Base Layer Multicast Network X1 r2 X1 X1 , X 2 , X 3 • n-layer multicast: Refinement layers r3 X1, X2 , X3 – If n = 2, multicast all layers to all but one receiver: achieves mincut with linear codes [Koetter et al ‘03] – Otherwise: min-cut not achievable with linear codes in general • Previous work, e.g. [Wu et. al, ‘08], [Sundaram et. al ‘05] – “Intra-layer” coding and no “inter-layer” coding – Centralized, LP Network Coding and Reliable Communications Group Pushback Algorithm [Infocom’10] • Distributed, random linear network coding • Message passing: two stages • Guarantees decodability of base layer q(v) c(m 1) 100 v 95 % of Happy Nodes q(v) ) c(m 2 c(mq(u) 4) c(m3) 90 u 85 pt2pt Steiner Layered PB min-req PB min-cut 80 75 70 3 4 5 6 7 No. of Receivers (|R|) 8 9 Network Coding and Reliable Communications Group Conclusions • Sources of uncertainty are not restricted to channel limitations/constraints, but also include network topologies and interactions between network nodes • On Coding for Delay: – Tailoring feedback and coding can reduce mean delay for successful in-order transmission of packets – Coding is designed to minimize delay – Have looked at queueing analysis – Currently using these intuitions to improve satellite networks • Inter-layer coding multicast: – Simple, distributed algorithm to determine liner network codes – Benefits in coding (when done appropriately) – Extension: use a modified version to determine uncoded rate that can be guaranteed to users Network Coding and Reliable Communications Group Extra Slides Network Coding and Reliable Communications Group Effect of field size [GLOBECOM’09] 1.6 0.8 • Computation: Smaller field size, simpler operations • How much do we loose in performance? XOR (q=2) 20 1.4 0.75 Mean Completion Time (s) Mean Completion Time (s) 0.7 1.2 0.65 qXOR = 2 (q=2) q = 22 q = 23 q = 230 – Shown that each receiver requires in average less than M + 2 coded packets to decode regardless of field size (q) 0.61 0.55 0.8 0.5 0.6 0.45 M = 30, Difference<0.28dB 0.4 0.4 0.35 0.2 -4 10 • If q large, roughly M M = 20, Difference<0.4dB M = 5, Difference<0.6dB -3 10 -2 -1 10 10 Packet Packet Erasure Erasure Probability 0 10 – If M is large, not much performance degradation Network Coding and Reliable Communications Group Motivations for Research Which transmissions have greatest impact? Rate uncertainty Channel How to perform efficient rateless transmission? HowCapacity much to talk before improvement stopping to through listen? simple, distributed algorithms? Interference Delay Network Coding and Reliable Communications Group Future work: Midterm goals • Simple distributed MAC layer data dissemination protocol • Online network coding in large latency half-duplex channels • Improvement of pushback algorithm: can we send uncoded packets while maintaining rate? • Scaling laws for underwater networks scale frequency Network Coding and Reliable Communications Group Future work: Long term goals • General wireless networks that are challenged by high packet losses and large latency – Special interest in underwater and satellite • Trade-off between cost and rate of sending uncoded packets in network coding • Data dissemination in wireless networks – Theoretical bounds for half-duplex systems – MAC level schemes for fast and efficient dissemination • Voice and video transmission in networks and how to best incorporate network coding and feedback in the network Network Coding and Reliable Communications Group Other Research Topics 1. Queuing analysis for large latency halfduplex scheme [ISIT’09] 2. Underwater acoustic networks Channel models [Oceans’08, JSAC’08] Fundamental limits [JSAC’08, Asilomar’08, Submitted to IT Trans.] Joint work with: Muriel Médard Milica Stojanovic Network Coding and Reliable Communications Group Results • Proposed first simple tractable model relating transmission power, band, capacity [Oceans’08, JSAC’08] • Proposed approximate channel models for transmission power [Oceans’08, JSAC’08] – Convex for practical purposes [ISITA’08, JSAC’08] • Lower bound to transmission power for multicast [ISITA’08, JSAC’08] – Based on network coding subgraph selection problem – Use (approximate) channel models as cost function • Capacity scaling [Asilomar’08, Submitted to IT Trans.] – Proposed upper bounds for transport capacity for the underwater networks for different setups 1 nk exp W0 O n 1/ k , with n exp W O n 1 1/ k 0 Network Coding and Reliable Communications Group Underwater Acoustic Channel • Path loss: A(l, f ) (l lref ) a( f ) k 1 k 2 l • Noise N ( f ) : Parameters ( w, s ) Spherical geometry k = 2 A(l,f)N(f) l Cylindrical geometry k = 1 l f Network Coding and Reliable Communications Group • Power: Underwater Acoustic Channel P(l , C ) S (l , C, f )df B ( l ,C ) where S (l , C, f ) K (l , C ) A(l , f ) N ( f ) , f B(l , C ) • Capacity (water filling principle): K (l , C ) C log 2 df B ( l ,C ) A(l , f ) N ( f ) where B(l , C ) optimum band, K (l , C ) constant fc(l) 100 km B(l , C ) A(l,f)N(f) A(l,f)N(f) K(l,C) 50 km A(l,f)N(f) P B(l,C’) K(l,C’) f 10 km fc(l) f l<<1 km 5 km fc(l) l f Network Coding and Reliable Communications Group Random Linear Network Coding • Generating a random linear network coded packet (CP) CPj C P i i i • Operations over finite field of size q = 2g. P1 C1 + D x A T x x n bits C1 C1 + + A T x x C1 + A x 1 x g bits C1 + 2 x C2 C2 C2 C2 C2 D x P2 Header h bits A x e.g. g = 8 bits, q = 256 Coded Data n bits C1 C2 g bits Network Coding and Reliable Communications Group Throughput • Ni, i chosen to minimize mean completion time for channel conditions T = 0.025 s • e.g: M = 10, Rate = 10 Mbps 10 rt 6 Throughput Metric • Increasing latency, favors network coding TDD scheme (bps) = #bits / E[Time] 10 10 Trt = 0.25 s 5 Trt = 2.5 s 4 • Better performance than Go-back-N (GBN) and Selective Repeat (SR) for TDD GBN TDD Window = 10 SR TDD Window = 10 Network Coding TDD Optimal M = 10 3 10 -3 10 -2 -1 10 10 Packet Erasure Probability 10 0 Network Coding and Reliable Communications Group Energy Per Bit n = # of data bits per packet Fixed bit error probability: n , packet erasure prob. Fixed transmission power Energy per Bit 10-5 10-6 Full Duplex TDD-T TDD-E Packet Erasure Probability <1.4dB 4000 1 10000 20000 30000 Bits per coded packet (n) 100000 10000 20000 30000 Bits per coded packet (n) 100000 0.5 0 4000 Optimizing for time or energy: similar performance in energy Network Coding and Reliable Communications Group Sensitivity 0.65 Errors in estimate of probability of erasure Underestimate of Pe : Better performance at high Pe 0.6 Mean Completion Time (s) Over /Underestimate of Pe : similar results at low Pe Perfect -1dB ErrorEstimate in Estimate 2dB Estimate Perfect -3dBError Error Estimate Estimate -2dB Error Estimate 1dB 3dB Error Error Estimate Estimate 0.55 ±1dB ±2dB ±3dB 0.5 0.45 0.4 <2dB <0.2dB <0.84dB <0.67dB 0.35 -4 10 -3 10 -2 10 Packet Erasure Probability -1 10 Network Coding and Reliable Communications Group Variance of Completion Time 0 10 0.03 Variance (s 2) 0.02 -2 10 Mean Completion Time (s) Variance (s 2) 40 Upper Bound on Variance (s 2) Lower Bound on Variance (s 2) Change inChange NM Change in NMin NM As packet erasure prob. increases, number of coded 0.01 -3 10 packets sent Ni increases 20 -4 10 0 -4 -4 1010 M -1 N Variance is not continuous w.r.t packet erasure prob. 10 Why? 60 -3 -3 10 10 -2 -2 -1 -1 1010 10 10 Packet Erasure Probability (Pe) Packet Erasure Probability 0 0 10 Network Coding and Reliable Communications Group Broadcast: viable scheme M=3 • Number of variables: Reduce to M variables Ni , where i max(i1 , i2 ,..., iN ) max dof = 3 •Optimization: •# of operations depends on # of states, i.e. ~(M+1)N 3,3 3,2 3,1 3,0 2,3 2,2 2,1 2,0 •Develop heuristics to reduce computation •Worst Link •Combined Erasures 1,3 1,2 1,1 1,0 0,3 0,2 0,1 0,0 Network Coding and Reliable Communications Group Description of scheme: two nodes Node 1 Node 2 ACK M2 ACK i1 Erasure Channel Generates N(Mi11,Mi22, 0 ) random linear coded packets Header h bits .. . M1 data packets .. . ACK i1 Generates ) Coded Data N( i1C,M1 2,1… CM random linear coded packets g bits n bits Degrees of freedom needed by Node 2: Degrees of freedom needed to decode: M i11 M i22 .. . .. . M2 data packets Degrees of freedom Degrees of freedom needed by Node 1: needed to decode: M2 M i11 Note: Choice of N(i,j,t), I,j,t determines performance of scheme Network Coding and Reliable Communications Group Description of the scheme • Modeled as Markov chain – # states N (M1+1)N−1(M2 + 1)N−1...(MN + 1)N−1 – N absorbing states • # of variables: large, even for two nodes • Structure: 2,2,1 2,2,0 2,1,1 2,1,0 1,2,1 1,2,0 2,0,0 1,1,1 1,0,1 1,0,0 1,1,0 0,2,1 0,2,0 2,0,1 0,1,1 0,1,0 0,0,1 0,0,0 – Round robin assignment of Tx: Periodicity – Node “sees” the system as a broadcast problem [Netcod’09] with round trip time variable, Absorbing depends on initial state States Network Coding and Reliable Communications Group Algorithm • Step1: Initialize N(i,j,0) = i, N(i,j,1) = j • Step 2: j’ , fix j’ compute N(i,j’,0) i Node 1 N(i,j’,0) Trt + E[ N(i’,j’,1) P(i,j’,0) -> (i’,j’,1) ] Tp Node 2 Dofs needed i’ Fixed value • Step 3: i’ , fix i’ compute N(i’,j,1) j Node 1 Dofs needed j’ N(i’,j,1) Trt + E[ N(i’,j’,0) P(i’,j,1) -> (i’,j’,0) ] Tp Node 2 Fixed, computed in step 2 • Step 4: Converges, then STOP Network Coding and Reliable Communications Group Number of Iterations of Algorithm • M1 = M2 = M • Small number of iterations needed before converging to a solution • For Pe < 10-3: algorithm converges to initialization values 5 M=5 M = 10 M = 15 Number of Iterations (n) 4 3 2 1 0 -4 10 10 -3 -2 10 Packet Erasure Probability 10 -1 Network Coding and Reliable Communications Group Comparison Schemes: Two node case TDD using Round Robin: Node 1 1 2 3 …M1 1 Node 2 3 M1 Channel M2 2 M2… 2 1 Full Duplex using Round Robin: Node 1 1 2 3 …M1 1 2 3 Channel 1 M2 2 1 3 M1 Node 2 2 1 M2… 2 1 Full Duplex using Network Coding: Node 1 Node 2 Channel Network Coding and Reliable Communications Group Greedy algorithm coding horizon for device i coding horizon for device 1 100% 75% 50% backward healing 25% device i forward dissemination device j Network Coding and Reliable Communications Group Breaking ties Break tie: node with the most knowledge Tc(1) K 1 M N M Data Packets, K nodes, transmit to N nodes downstream Break tie: schedule that benefits nodes with less data K 1 Tc(2) 3( M 1) N M Data Packets, K nodes, transmit to N nodes downstream Network Coding and Reliable Communications Group • Objective: minimize dissemination time, arbitrary wireless networks • Assumptions: 2 – Slotted time l1{2}as hypergraph – Network modeled l • Optimal scheme 1{2,3,4} l1{2,3} 4 1 – Involves choosing the sequence of transmissions – Hard problem 3 • Proposed a greedy algorithm – Chooses hyperarcs that maximize impact at each slot • Impact: Avg. # of nodes that benefit from transmission – Breaks ties in favor of transmissions that disseminate information to nodes with small # degrees of freedom Network Coding and Reliable Communications Group Dissemination time gains: losses Pe2 1 M 3 2 Pe1 0 3 Pe1 0 4 0 Pe1 = 0.2, Pe2 = 0.6 (Simulation) 2.8 … … K 0 Initial Number of packets Pe1 = 0.5, Pe2 = 0.6 (Simulation) 2.6 Gain Pe1 Pe2 Pe1 = 0.2, Pe2 = 0.4 (Simulation) 2.4 Pe1 = 0, Pe2 = 1 2.2 Pe1 = 0, Pe2 = 0 •Fixed number of nodes •Overhearing reduces gain, but reduces completion time 2 1.8 •Gain increases in presence of erasures 1.6 1.4 1.2 1 2 4 6 8 Number of Packets (M) 10 12 Network Coding and Reliable Communications Group Broadcast N( M , M ,..., M ) dofs to decode: iM N Rx N M packets iN i1 i2 i2 Rx 2 dofs to decode: M Tx Rx 1 N(i1 ,i2 ,...,iN ) i1 dofs to decode: M •Challenges: •Optimal scheme: (M+1)N-1 variables to optimize N(i1 ,i2 ,...,iN ) , i1 , i2 ,..., iN •Viable scheme: Reduce to M variables Ni , where i max(i1 , i2 ,..., iN ) •Developed heuristics to determine Ni [NetCod’09, GLOBECOM’09] Network Coding and Reliable Communications Group Mean Completion Time (s) (a) Completion Time: Broadcast Broadcast TDD Optimal Broadcast TDD Worst Link Channel Broadcast TDD Combined Erasure Effect 0.6 0.5 Pe max Pei 0.4 i Number of Coded Packets (b) 0.3 10 2 10 10 Worst Link Heuristic: •Compute Ni’s for link -3 10 -2 10 -1 Broadcast TDD Optimal Broadcast TDD Worst Link Channel Broadcast TDD Combined Erasure Effect Pe 1 1 P ei i N5 1 N1 0 10 -3 10 Combined Erasure: •Compute Ni’s for link -2 -1 10 10 Packet Erasure Probability Worst Link Heuristic: Performs close to optimal Network Coding and Reliable Communications Group Comparison Schemes: Broadcast Full Duplex Broadcast using Round Robin: Tx i-th 1 2 3 …M 1 2 3 Channel Rxi 1 3 M 3 ACK TDD Broadcast using Round Robin: Tx 1 2 3 i-th Channel Rxi 9 M ACK Network Coding and Reliable Communications Group Completion Time: Broadcast •Outperforms TDD constrained Round Robin broadcast scheme (optimal, no coding) 1 Optimal Broadcast with Network Coding TDD Broadcast Round-Robin (RR) TDD Broadcast RR Full Duplex (Upper Bound) Broadcast RR Full Duplex (Lower Bound) Mean Completion Time (s) 0.9 0.8 0.7 0.8dB @ Pe = 0.8 •For high erasure probability: Outperforms full duplex Round Robin broadcast 0.6 0.5 0.4 0.3 10 -3 -2 -1 10 10 Packet Erasure Probability 10 0 Pe > 0.3 better than RR full duplex Network Coding and Reliable Communications Group Sharing information in TDD: [Allerton’09] all-to-all broadcast Node 1 M1 packets Node N MN packets Node 3 M3 packets Node 2 M2 packets •Setup: •Broadcast assumption •Round robin assignment of channel •Completion time: Mi original packets of each node i are successfully transmitted to all N-1 nodes and receive ACK Network Coding and Reliable Communications Group Description of the scheme • # of variables: large • Structure: – Round robin assignment of Tx: Periodicity – Node “sees” the system as a broadcast problem with round trip time variable, depends on initial state • Algorithm exploits this structure: – Computes #of coded packets to transmit for broadcast (using heuristics) from each node – Couples the effect of other nodes through the average round trip time – Converges in a small number of iterations Network Coding and Reliable Communications Group Mean Completion Time • M1 = M2 = M TDD Network Coding Full Duplex Network Coding Full Duplex Scheduling (Lower Bound) • At high Pe: Full Duplex Scheduling (Upper Bound) 2.4 2.2 Mean Completion Time (s) 2 – better than no coding with a full duplex channel – ~3dB more than network coding full duplex TDD Scheduling (Upper Bound) TDD Scheduling (Lower Bound) 1.8 1.6 1.4 TDD Scheduling 1.2 1 Full Duplex Scheduling 0.8 0.6 0.4 10 -3 -2 -1 10 10 Packet Erasure Probability 10 0 • At moderate Pe: 1dB away from full duplex Network Coding and Reliable Communications Group Underwater Rateless Transmission How to perform efficient rateless transmission? Rate uncertainty Channel Joint work with: Muriel Médard Milica Stojanovic Interference Delay Network Coding and Reliable Communications Group Underwater Rateless Transmission • Underwater constraints – Large propagation delay, e.g. 1.5 km 1 s – High packet losses – Transmission band • Very limited, typically from ~0Hz to 100 kHz • Bandwidth decreases as distance increases • System design – MAC model: hard to coordinate or perform power control • ALOHA – Use implicit ACK in network coding • Gain information from state of nodes based on their own coded packet transmissions • Reduce power consumption of purely rateless scheme Network Coding and Reliable Communications Group Numerical Results • Node deployed in a square of 1x1 km2 • Schemes transmit power to reach receiver with some SNR • Gaussian signaling 90 ~11 dB Transmission Power ( dB re 1 Pa) R 2 kbps ~3 dB 80 R 1 kbps R 0.2 kbps 70 [WUWNET’07, ISITA’08, JSAC’08] R = 2 kbps R = 1 kbps 60 Network Coding with Implicit ACK Routing link-by-link ACK R = 0.2 kbps 4 6 8 10 Number of Nodes 12 14 16 Network Coding and Reliable Communications Group Coding for Data Dissemination Which transmissions have greatest impact? Rate uncertainty Channel Joint work with: Muriel Médard Milica Stojanovic Frank H. P. Fitzek Interference Delay Network Coding and Reliable Communications Group Sharing information in Half-Duplex [RAWNET’09] Channels •Setup: •Optimal scheme •Involves choosing the sequence of transmissions •Hard problem •Proposed a greedy algorithm •Chooses hyperarcs that maximize impact at each slot •Impact: Avg. # of nodes that benefit from transmission •Breaks ties in favor of transmissions that disseminate information to nodes with small # degrees of freedom Network Coding and Reliable Communications Group Toy example Progressive Base Station: Slots 5M/2 2M M 0 3M/2 M Data Packets Greater Impact (Vanilla): backward healing forward dissemination 2M 3M/2 M/2 0M M Data Packets Network Coding and Reliable Communications Group Dissemination time gains: no losses 227 •Overhearing of N = 2 20 186 •20 packets nodes 16 5 14 12 4 10 Gain = ( 3(M-1) + (K - 1)/N ) / ( M (K-1)/N ) Max Gain = (1/3) (K-1)/N 83 6 42 2 010 Gain = ( 3(M-1) + (K - 1)/N ) / ( M (K-1)/N ) Max Gain = M 200 3000 4000 400 5000 6000 600 7000 8000 800 9000 10000 1000 1000 2000 Number (M) NumberofofPackets Nodes (K)