How to Turn on The Coding in MANETs Chris Ng, Minkyu Kim, Muriel Medard, Wonsik Kim, Una-May O’Reilly, Varun Aggarwal, Chang Wook Ahn, Michelle Effros DAWN Presentation at UCSC October 14, 2008
Introduction Coding improves performance in networks: E.g., increased throughput, achieves multicast capacity. However, coding may lead to increased costs: E.g., node complexity, computation overhead, coding delay. We treat the amount of coding as a parameter to be optimized in the network: I. MANET with network coding: we minimize the number of coding nodes while maintaining multicast capacity. II. Packet erasure channel: we optimize packet coding parameters jointly with physical layer parameters under different delay metrics. 2
Network Coding in MANETs Network coding achieves multicast capacity. Only need a small number of coding nodes in the network: The other nodes only need to perform traditional routing. Either z or w needs to code in the example. Use a genetic algorithm (GA) approach to find the minimum set of coding nodes. 3
Distributed GA Algorithm in MANETs MANETs: Network topology given by an acyclic hypergraph. Hyperarcs to model the wireless broadcast medium. Potential packet loss. Distributed algorithm: No central coordination in MANETs. Algorithm exploits spatial and temporal distribution. Genetic operations done independently at local nodes. 4
Review: Genetic Algorithm (GA) Approach and Centralized Algorithm 5
Distributed GA Algorithm Fitness evaluation is done in three steps: 1) forward (source to sink); 2) backward (sinks to source); 3) fitness calculation (at the source). 6
Temporal Distribution Age-mixed subpopulation management: Replaces worst k - 1 individuals. 7
Simulation Results: Number of Coding Nodes Random topology: 10x10 square. Radius of connectivity: 3. Rate is the multicast capacity. GA population size: 200. Experiment results: Network coding is not needed in most cases. Number of coding nodes necessary is small. Location of coding nodes: flexible. 8
Temporal Distribution and Packet Losses With temporal distribution: k = 5 subpopulations, migration every 5 generations. Faster convergence, standard deviation is significantly reduced. Packet losses: Erasure rates: 1% to 5%. Algorithm finds the optimal solution, but requires more generations. Temporal distribution provides resilience to packet losses. 9 Generations required to find the known optimal solution: With packet erasures: 30 trials of algorithm 50 trials of algorithm
Optimization under Different Packet Delay Metrics
Minimizing Packet Coding Delay Reliable communications over unreliable wireless channels. Physical layer: channel coding. Erasure channel: coding across packets. Fundamental tradeoff in coding. Long coding blocks are more effective in mitigating channel variations. But introduce larger decoding delay. End-to-end performance depends on parameters across networks layers: Delay sensitivity, packet coding strategy, transmission SNR target, power allocation among users. 11
End-to-end Performance Metrics Physical layer link performance: Instantaneous rate and outage probability. Cannot resolve system-level design choices: Higher rate with greater outage probability, or vice versa? To optimize end-to-end performance, need to additionally consider: i.User decoding delay requirements. ii.How and when the transmitter learns about the outage event. iii.Retransmission or coding strategy that recovers the outage data loss. Cross-layer model to jointly optimize packet level and physical layer parameters. 12
Packet Erasure Channel Packet erasure channel with delayed acknowledgment feedback. In-order packet delivery; erasure probability q. ACK/NACK feedback after D time slots. Linear packet coding: Transmitter may combine (encode) source packets to form a coded packet. Coded packet is a linear combination of the source packets. Receiver knows the transmitter’s coding scheme. 13
Packet Delay Cost Function Inter-decoding times: Delay cost function: Normalized p-norm of the expected inter-decoding times: Larger p: more sensitive to delay between decoding times. When p=1; expected completion time: When p=∞; per-packet delay: 14
Block-by-Block Packet Coding Transmitter sends linearly independent coded packets. Over a block size of k packets until receives ACK. Tradeoff between completion time and per-packet delay: Optimize block size k based on delay sensitivity p: 15 Completion Time Per-Packet Delay
Wireless Erasure Channel Fading wireless channel: With additive white Gaussian noise: Packet erasure induced by small-scale channel fading. Shadowing: G can be accurately estimated. Fading: F is a random variable; transmitter knows only its distribution. Transmission outage leads to packet erasure. Transmitter picks SNR target s. Outage/erasure probability: q = Pr{ realized SNR < s }. 16
Wireless Packet Network Multiuser wireless erasure channels: M users in the network: Transmission from each user interferes with one another. 17
Optimal Transmit Power Allocation Need to optimize power allocation among users. Transmit at maximum power is not necessarily optimal due to interference. Power constraint for each user: Interference is treated as noise. Signal to interference-plus-noise ratio (SINR) at receiver i : Outage probability: q i = Pr{ realized S i < target s i }. Power allocation among the users are coupled in the outage probability constraints on the SINRs: 18
Cross-Layer Optimization Minimize global cost function: J(d) jointly convex in d 1,…,d M. Convexity of J(d) penalizes overlong user delays. Independent Rayleigh fading channels: 19
Convex Optimization Problem Minimizing the global cost function can be formulated as a convex optimization problem. Transformation similar to the single-user channel optimization previously considered. We assume The optimization formulation is otherwise valid for all ranges of SINR. 20
Convexity of the Feasibility Regions In a wireless network (when interference is treated as noise), the feasible rate region is not convex. However, the corresponding feasible delay region is convex. Delay performance metrics: Allows joint optimization over physical layer and packet level parameters. 21 Rate RegionDelay Region
Conclusions Coding improves performance, but may lead to increased overheads. Optimize the “amount” coding in a network, performance metrics based on: Multicast capacity, number of coding nodes. Different delay sensitivity of the user applications. When to “turn on” coding: Can be identified through a spatially and temporally distributed algorithm. May depend on other parameters such as feedback, and physical layer operating conditions. 22