ECC Applications and Simulation Multicast Methods Using ECC Yossi Cohen & Yitzhak Aviv
Motivation <ul><li>Why look at applications? </li></ul><ul><ul><li>We have already looks at the inner working of the codes...
What is multicast ? <ul><li>When many users need the same info at the same time it is better to duplicate the packets in t...
Taxonomy <ul><li>No Feedback No ECC </li></ul><ul><ul><li>Cyclic UDP  </li></ul></ul><ul><li>ECC without feedback </li></u...
File Multicast Solution Requirements  <ul><li>Reliable  – Guarantee file delivery to all the receivers.  </li></ul><ul><li...
Quality of the solution <ul><li>The solution should have a minimum average time till the file can be in use at the user co...
Why use FEC in multicast? <ul><li>The multicast group interface solved the problem of multiple packets that hold the same ...
Erasure advantage over error <ul><li>In this type of computer communication we don’t consider errors, a packet is either r...
Reed-Solomon Code <ul><li>Block code => cyclic code => BCH code => reed-Solomon code. </li></ul><ul><li>Code  RS(n,k)  is ...
Performance Computation: <ul><li>For error and erasure situation: RS(n,k) can correct ‘r’ errors and ‘s’ erasures if: </li...
Model Conversion <ul><li>p =  ε (1-  δ ) </li></ul><ul><ul><li>=Pr{ error}*Pr{ no-erasure |error} </li></ul></ul><ul><li>λ...
Performance Computation p= ε (1-  δ )   λ =  εδ +(1- ε )  Φ
Burst and Random errors situation <ul><li>= Pr {burst of m errors}. </li></ul><ul><li>= Pr{ not-correct given m errors}. <...
Burst and Random errors situation –cont’ <ul><li>With perfect detection ( δ =1)  d  reduced just by   m, hence: </li></ul>...
Digital Fountain approach  <ul><li>Tornado coding are based on XOR. They are a class of  LDPC codes  introduced in the las...
ECC methods <ul><li>Reed-Solomon on the entire file </li></ul><ul><ul><li>T rec  is minimal since any k packets from a fil...
Simulation and results <ul><li>Simulation were done using backbone multicast traces that were used with proprietary softwa...
Article analysis <ul><ul><li>Major hurdle for RS - Decoding time. However, decoding time is considered cheaper than bandwi...
Future trends <ul><li>More articles for cellular devices multicast  where computing power is more scarce and channels are ...
MFTP - Description <ul><li>Multicast File Transfer Protocol. </li></ul><ul><li>Using hierarchical NACKs to ask for packets...
Simulation and results <ul><li>MFTP and MFTP/EC were simulated using both the NS-2 network simulator & MBone traces. Resul...
Simulation and results <ul><li>With the years a multitude of tools were added to the NS simulator, which include (among ot...
Criticism  <ul><li>If the idea of sending FEC is so good then why isn’t it used from the start : </li></ul><ul><ul><li>Sen...
References <ul><li>[1]  Feasibility Study of Erasure Correction for Multicast File Distribution using the Network Simulato...
Upcoming SlideShare
Loading in …5
×

FEC & File Multicast

2,324 views

Published on

Review on file multicast techniques using Forward Error Correcting codes

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,324
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
57
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • נושא התצוגה שבחרנו הוא הוא אפליקציות מולטקסט להעברת קבצים המשתמשות בקודים מתקני שגיאות
  • FEC & File Multicast

    1. 1. ECC Applications and Simulation Multicast Methods Using ECC Yossi Cohen & Yitzhak Aviv
    2. 2. Motivation <ul><li>Why look at applications? </li></ul><ul><ul><li>We have already looks at the inner working of the codes and the results of small scale simulations. Looking at the application will help us broaden our knowledge and review results of large scale simulations. </li></ul></ul><ul><li>Why look at Multicast file transfer? </li></ul><ul><ul><li>The multicast scheme should be smart enough to compensate not just for the characteristics of a single channel as is the case in classical communication, but for characteristics of many channels that are varying over time. </li></ul></ul><ul><ul><li>Multicast file transfer application are gaining popularity. They are used in many areas from software update to peer-to-peer networking. </li></ul></ul>
    3. 3. What is multicast ? <ul><li>When many users need the same info at the same time it is better to duplicate the packets in the last router rather then send it separately to each user. </li></ul><ul><li>Topics need to be considered: </li></ul><ul><ul><li>Group membership management </li></ul></ul><ul><ul><li>Routing management protocols </li></ul></ul><ul><ul><li>Loss notification </li></ul></ul><ul><ul><li>Loss Handling </li></ul></ul>
    4. 4. Taxonomy <ul><li>No Feedback No ECC </li></ul><ul><ul><li>Cyclic UDP </li></ul></ul><ul><li>ECC without feedback </li></ul><ul><ul><li>Reed-Solomon on the entire file </li></ul></ul><ul><ul><li>Reed-Solomon on Blocks </li></ul></ul><ul><ul><li>tornado coding on the file (Digital fountain approach) </li></ul></ul><ul><li>Feedback without FEC </li></ul><ul><ul><li>MFTP </li></ul></ul><ul><li>Hybrid methods FEC & feedback </li></ul><ul><ul><li>MFTP/EC </li></ul></ul><ul><ul><li>SomeCast </li></ul></ul>Multicast FEC SomeCast SRM RMTP Digital Fountain Cyclic UDP Feedback Hybrid MFTP/EC
    5. 5. File Multicast Solution Requirements <ul><li>Reliable – Guarantee file delivery to all the receivers. </li></ul><ul><li>Efficient – The total number of packets that each client receives and the amount of processing needed to construct the file from these packets should be minimal. </li></ul><ul><li>On-Demand – clients may initiate a download at their discretion. The session may be interrupted several times. </li></ul><ul><li>Versatile – the protocol should tolerate a heterogeneous population of receivers over a variety of connection types: wireless, satellite, wire-line with different packet loss statistics. </li></ul>
    6. 6. Quality of the solution <ul><li>The solution should have a minimum average time till the file can be in use at the user computer: </li></ul><ul><li>There is usually a tradeoff between fast decoding algorithms (such as tornado coding) and the transmission overhead they cause. </li></ul>
    7. 7. Why use FEC in multicast? <ul><li>The multicast group interface solved the problem of multiple packets that hold the same information from originating from the sender. However there is still a problem of too many NACKs or ACKs originating from the receivers. This problem is known as “NACK implosion” </li></ul><ul><li>Several methods exist to solve this problem: </li></ul><ul><ul><li>Creating local point of control that would handle the NACKs. </li></ul></ul><ul><ul><li>Back off NACK timing (SRM for example). </li></ul></ul><ul><ul><li>FEC </li></ul></ul><ul><li>Advantages of FEC </li></ul><ul><ul><li>Enable reliable multicast when there is no back channel. </li></ul></ul><ul><ul><li>No processing overhead in control points. </li></ul></ul><ul><ul><li>Very low ECC reception overhead (In tornado codes ~0.05) </li></ul></ul>
    8. 8. Erasure advantage over error <ul><li>In this type of computer communication we don’t consider errors, a packet is either received correctly or not received – an erasure. Bad packets are removed on lower network layers by comparing them to the CRC. </li></ul><ul><li>Next we will explain the advantages of erasures over errors. </li></ul><ul><li>Block Code: C (n ,k ,d) </li></ul><ul><li>Error correction capability: </li></ul><ul><li>Code Rate: </li></ul><ul><li>“ Singleton Bound” on minimum distance: </li></ul><ul><li>d ≤ n-k+1 </li></ul><ul><li>MDS (maximum distance separable): Code that achieves the Singleton Bound. </li></ul>
    9. 9. Reed-Solomon Code <ul><li>Block code => cyclic code => BCH code => reed-Solomon code. </li></ul><ul><li>Code RS(n,k) is a MDS code: d=n-k+1 </li></ul><ul><li>RS code is over q-ary alphabet, usually: </li></ul><ul><li>where m is the symbol size </li></ul><ul><li>Algebraic code – easy to implement. </li></ul><ul><li>Can decode erasures. </li></ul>
    10. 10. Performance Computation: <ul><li>For error and erasure situation: RS(n,k) can correct ‘r’ errors and ‘s’ erasures if: </li></ul><ul><li>definitions </li></ul><ul><ul><li>- Pr {correct decode} </li></ul></ul><ul><ul><li>- Pr {incorrect decode} </li></ul></ul><ul><ul><li>- Pr {fail to decode} </li></ul></ul><ul><ul><li>- Pr {not correct decode} </li></ul></ul><ul><ul><li>- Pr {symbol error} </li></ul></ul><ul><li>For errors only situation: </li></ul>
    11. 11. Model Conversion <ul><li>p = ε (1- δ ) </li></ul><ul><ul><li>=Pr{ error}*Pr{ no-erasure |error} </li></ul></ul><ul><li>λ = εδ +(1- ε ) Φ </li></ul><ul><ul><li>=Pr{error} * Pr {erasure|error} + Pr{ no-error} * Pr{erasure|no-error} </li></ul></ul><ul><li>definitions </li></ul><ul><ul><li>δ = Pr {detection} </li></ul></ul><ul><ul><li>Φ = Pr {false alarm} </li></ul></ul><ul><ul><li>ε = Pr {symbol error before decoding} </li></ul></ul><ul><ul><li>λ = Pr {erasure} </li></ul></ul>
    12. 12. Performance Computation p= ε (1- δ ) λ = εδ +(1- ε ) Φ
    13. 13. Burst and Random errors situation <ul><li>= Pr {burst of m errors}. </li></ul><ul><li>= Pr{ not-correct given m errors}. </li></ul><ul><li>The m-errors effectively reduce the code’s minimum distance by 2m, hence: </li></ul>
    14. 14. Burst and Random errors situation –cont’ <ul><li>With perfect detection ( δ =1) d reduced just by m, hence: </li></ul><ul><li>We will now see how </li></ul><ul><li>multicast communication </li></ul><ul><li>protocols use this </li></ul><ul><li>advantage. </li></ul>Probability of not correct decoding for error only (blue) and erasure (red) decoding.
    15. 15. Digital Fountain approach <ul><li>Tornado coding are based on XOR. They are a class of LDPC codes introduced in the last lecture. </li></ul><ul><li>Why Tornado? </li></ul><ul><ul><li>Very fast decoding. </li></ul></ul><ul><ul><li>Sometimes one received packet can cause the decoding of a packet that was needed to decode another packet…this creates a whirlwind of decoded packets. Hence the name. </li></ul></ul><ul><li>The method : </li></ul><ul><ul><li>The file is divided to K packets. Unlike Reed-Solomon that can reconstruct the file from any K packets, Tornado codes needs an epsilon more (about 0.05). </li></ul></ul><ul><ul><li>After approximately K + packets a receiver would be able to reconstruct the file. </li></ul></ul>Bipartite graph Bipartite graph Standard loss-resilient code = message = redundancy K + K(1+eps) - Length (k/n) Relatively slow - Very fast + Decoding time High - Very low + Complexity Field - XOR + Operation RS LDPC Tornado
    16. 16. ECC methods <ul><li>Reed-Solomon on the entire file </li></ul><ul><ul><li>T rec is minimal since any k packets from a file of size k are enough to reconstruct the file. However for large files t dec would be the largest </li></ul></ul><ul><li>Reed-Solomon on Blocks. </li></ul><ul><ul><li>In order to decrease t dec the files is divided to blocks and RS-Coding are applied on each block separately. </li></ul></ul><ul><li>tornado coding on the file (Digital fountain approach) </li></ul><ul><ul><li>tornado coding is done on the entire file T rec is slightly larger than that of RS however t dec is much smaller. </li></ul></ul>Wasted packets Epsilon packets
    17. 17. Simulation and results <ul><li>Simulation were done using backbone multicast traces that were used with proprietary software. </li></ul><ul><li>RS Coding the entire file. </li></ul><ul><ul><li>Advantage – any K packets can be used to reconstruct a file with K packets size. </li></ul></ul><ul><ul><li>Disadvantage – very long decoding time. </li></ul></ul><ul><li>Reed – Solomon on blocks </li></ul><ul><ul><li>Advantage –smaller decoding time then previous option </li></ul></ul><ul><ul><li>disadvantage – needs more then k packets to reconstruct a file with this size. </li></ul></ul><ul><li>Comparison chart </li></ul><ul><ul><li>By forcing the same reception time (receiving and decoding) </li></ul></ul>
    18. 18. Article analysis <ul><ul><li>Major hurdle for RS - Decoding time. However, decoding time is considered cheaper than bandwidth (up to a limit). Since computing power is constantly rising (Moor’s law) the differences between tornado and RS would get smaller and smaller. If the tests were made today the results would have been less conclusive. </li></ul></ul>
    19. 19. Future trends <ul><li>More articles for cellular devices multicast where computing power is more scarce and channels are more prone to errors. </li></ul><ul><li>Creating the basis for layered multicast analysis </li></ul><ul><li>In this method the sender transmit the information in different layers each with its own multicast address. Each receivers choose the number of layers it will receive according to its bandwidth. This way enables some measure of congestion control like in TCP. </li></ul><ul><li>This trend is followed by protocols like RMDP and Fine grained layered multicast (by the same authors). </li></ul>
    20. 20. MFTP - Description <ul><li>Multicast File Transfer Protocol. </li></ul><ul><li>Using hierarchical NACKs to ask for packets that were not received. </li></ul><ul><li>After finishing the first transmission round the server resends packets that were not received again in rounds till all receivers received the file. </li></ul><ul><li>MFTP/EC – uses Reed-Muller codes to send the packets that were not received. </li></ul><ul><li>As you would expect MFTP/EC was proven to be a lot better then MFTP.s. </li></ul>
    21. 21. Simulation and results <ul><li>MFTP and MFTP/EC were simulated using both the NS-2 network simulator & MBone traces. Results were roughly the same. </li></ul><ul><li>The NS-2 enables simulations of complex network protocols. Including multicast and wireless. </li></ul><ul><li>NS-2 enables programming of new protocols and behaviors. For example user roaming and power decrease and error increase due to range from bts in wireless simulation. </li></ul>C++ otcl
    22. 22. Simulation and results <ul><li>With the years a multitude of tools were added to the NS simulator, which include (among others): </li></ul><ul><li>NAM – the network animator, which draws the networks and the passing packets. </li></ul><ul><li>Tiers, Inet, gt-ITM – for network topology generation. </li></ul><ul><li>Scenario Generator – for scenario generation. </li></ul>tcl8.0 otcl tclcl ns-2 Event Scheduler Network Component
    23. 23. Criticism <ul><li>If the idea of sending FEC is so good then why isn’t it used from the start : </li></ul><ul><ul><li>Sending the packets as FEC from the start and save the NACK and overhead </li></ul></ul><ul><li>The results were compared to regular MFTP so of course there would be an improvement. </li></ul>
    24. 24. References <ul><li>[1] Feasibility Study of Erasure Correction for Multicast File Distribution using the Network Simulator ns-2 (1998) Christoph Hänle </li></ul><ul><li>[2] RMDP: an FEC-based Reliable Multicast protocol for wireless environments (1998) Luigi Rizzo Lorenzo Vicisano </li></ul><ul><li>[3] A Digital Fountain Approach to Reliable Distribution of Bulk Data / John W. Byers, Michael Luby, Michael Mitzenmacher, Ashutosh Rege Proceedings of ACM Sigcomm '98, Vancouver, Canada, September 1998. </li></ul><ul><li>[4] SomeCast A Paradigm for Real-Time Adaptive Reliable Multicast / Jaehee Yoon, Azer Bestavros, Ibrahim Matta, IEEE Real-Time Technology and Applications Symposium (RTAS) 2000, Washington D.C., Jun. 2000. </li></ul><ul><li>[5] A Literature Review of Recent Developments in Reliable Multicast Error Handling . Elf, Stefan; Parnes, Peter 2001 </li></ul>

    ×