1 / 62

Improved Compression-Latency Trade-Off via Delayed-Dictionary Compression

Improved Compression-Latency Trade-Off via Delayed-Dictionary Compression. Raanan Refua Tel Aviv University Under the supervision of Prof. Yossi Matias. Improved Compression-Latency Trade-Off. Improving compression ratio for a given latency constraint

selina
Télécharger la présentation

Improved Compression-Latency Trade-Off via Delayed-Dictionary Compression

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improved Compression-Latency Trade-Off viaDelayed-Dictionary Compression Raanan Refua Tel Aviv University Under the supervision of Prof. Yossi Matias

  2. Improved Compression-Latency Trade-Off • Improving compression ratio for a given latency constraint • Improving latency for a given compression ratio

  3. End-to-End Compression Net 1 Decoder Encoder Y Net 2 X X Lenc Ltx Ldec (Transmission Latency) (Encoding Latency) (Decoding Latency) User Latency

  4. Network Processor Network Processor Network Processor Network Processor Public Network The LAN-to-LAN Framework

  5. Network Processor Network Processor Network Processor IP-Tunnel IP Tunnel 1 Public Network IP Tunnel 2

  6. Network Processor Network Processor VPN over IPSec Public Network

  7. Packet Compression Algorithms Types • Stateless compression (Packet By Packet comp.) • Streaming compression (Continuous comp.) • dependency among packets • “Offline” compression • compress & send

  8. Compression Ratios vs Mode and Packet Sizes Small Packets Improvement

  9. Potential Improvement

  10. Streaming Compression Implementation Decoder Encoder Y X Decoder X Encoder Rx1 Tx1 Rx1 Tx1 Packets Packets [ACKs Data] Dictionary Dictionary ACKs ACKs ACKs Tx2 Rx2 Tx2 Rx2

  11. Encoder Decoder Packets Packets X Y X Dictionary Dictionary Latency in Streaming Compression Large Decoding Latency due to • Packet drops • dominating latency • Packet reordering due to • retransmissions • different paths

  12. Decoding Latency in Streaming 1, 2, 3, 4, 5, 7, 8, 9, 10, 6 • Packet 6 is dropped and retransmitted • Ldec for packet 7 = 4 • Packets 7…10 cannot be decoded until 6 is received. • The phrases of packets 7…10 cannot be added to the dictionary until packet 6 is received.

  13. Actual Decoding Latency of Streaming • Average Ldec for each of 269 Planet-Lab nodes • 26012 packets per node • Total Average Ldec = 62 packets • Ldec=0 for Stateless

  14. Improved Compression & Latency? • We would like • Compression ratio of Streaming • Latency of Stateless

  15. Delayed-Dictionary Compression (DDC) • Contains a sub-method called Basic-DDC (BDDC) • Streaming with enforced delay in the creation of the dictionary • Dictionary does not use the most recent history • Compression ratio is close to Streaming • Decoding Latency is close to Stateless

  16. On-line Dictionary Compression Algorithms Model dictionary parser Pd dictionary D output parser Po Input: T Output: C(T) Encoder - a model for incremental dictionary compression algorithm C. The model enables complete separation between the dictionary parser and the output parser.

  17. On-line Dictionary Compression Algorithms Model dictionary parser Pd dictionary D output decoder Original text: T Compressed text: C(T) Decoder - a model for incremental dictionary decompression C’. The model enables complete separation between the dictionary parser and the output decoder.

  18. On-line Dictionary Compression Algorithms Model Generalization dictionary parser Pd dictionary D(Δ) output parser Po Input: T Output: C(T) D at point t is a function of text up to point t-Δ

  19. On-line Dictionary Compression Algorithms Model Generalization dictionary parser Pd dictionary D(Δ) output decoder Original text: T Compressed text: C(T)

  20. Lempel-Ziv 77 with Delay Pointer Coding position Characters ABABCAADAA... ABCBBBAC… |Window|=W Delay (Δ) Lookahead Buffer

  21. LZ77 with Delay in Terms of Packets Pointer Coding position ABC… ABC… Delay (Δ) Currently Encoded Packet |Window|=W

  22. Basic Delayed-Dictionary Compression (BDDC) in Terms of Packets Currently decoded packet 1………………….1000…………1100……………….. Received by decoder Δ=99 P1100=f(P1…P1000) P1101=f(P1…P1001) … Encoder Decoder Encoding 1100=f(1…1000) Decoding 1100……..1000………..1

  23. BDDC Implementation Header Information: S.N. of the last packet used for encoding Packet is Compressed Y/N (a bit) S.N. of the current packet

  24. BDDC Implementation (cont.) Decoder Encoder Y X Decoder X Encoder Rx1 Tx1 Rx1 Tx1 Packets Packets [ACKs Data] Q Δ Dictionary Dictionary ACKs ACKs ACKs Tx2 Rx2 Tx2 Rx2

  25. Decoding Latency in BDDC (Δ=5) 1, 2, 3, 4, 5, 7, 8, 9, 10, 6 • Packet 6 dropped and retransmitted • Now we can decode packets 7…10 • No decoding latency • The phrases of packets 7…10 still can not be added to the dictionary until packet 6 is received

  26. Effect of Encoding Delay on Compression Quality r Δ

  27. Encoding Delay Vs. Compression Quality Pointer Coding position Characters ABABABADAA... ABABCDAA... ABCDBBBAC… |Window|=W Lookahead Buffer Without delay

  28. Encoding Delay Vs. Compression Quality (cont.) Pointer Coding position Characters ABABBADAA... ABABCDAA... ABCDBBBAC… Delay (Δ) |Window|=W Lookahead Buffer With delay

  29. DDC vs Stateless vs StreamingLarge Packets |header|=20 bytes, |payload|=1500 bytes Concatenation of 18 Calgary-Corpus files

  30. DDC vs Stateless vs StreamingSmall Packets |header|=20 bytes, |payload|=125 bytes Concatenation of 18 Calgary-Corpus files

  31. Effect of Encoding Delay on Decoding Latency Ldec Δ

  32. Effect of Encoding delay on Decoding Latency Currently decoded packet 1………………m…………………………..i1=m+Δ Δ1=Δ Received by the decoder 1………………m……………i2=m+Δ/2 Δ2=Δ/2 Δ1 > Δ2 > Δ3 Ldec1 < Ldec2 < Ldec3 1………………m……i3=m+Δ/4 Δ3=Δ/4

  33. The Compression-Latency Trade-off r Ldec Δ

  34. 1.0 0.5 0 BDDC Av Ldec (packets) DDC Traffic Compression Ratio BDDC Conflict

  35. Trade-off between the Decoding-Latency and the Compression Ratio Compression Ratio Stateless (Δ=∞) Confirmed-Dictionary Compression (ΔConf) DDC (Δ) Streaming (Δ=0) Ldec

  36. DDC algorithms • BDDC - Fixed Delay Algorithm • BDDC - Adaptive Delay Algorithm • Confirmed-Dictionary Compression (CDC) • DDC-min • DDC

  37. DDC Algorithms (cont.) Fixed Delay Algorithm • ∆ is constant • ∆ is proportional to the network propagation delay (requires calibration)

  38. DDC Algorithms (cont.) Adaptive Delay Algorithm • Maintains a delay parameter, depending on • decoding success • changes in p for packet drops

  39. DDC Algorithms (cont.) Confirmed-Dictionary Compression (CDC) Algorithm • The Encoder registers the ACKs • max Δ s.t. ACK received for all packets prior to previous Δ packets • Ensures immediate decoding • Tradeoff in the compression ratio • Does not required a retransmission Currently decoded packet ACKs List 1…………………x……x……x……x……x….. max Δ All packets received by the decoder

  40. DDC Algorithms (cont.) CDC Variant – good for lossy traffic • Choose a large enough Δ • If Packet i was not ACKed • Throw it from the queue • Does not required a retransmission

  41. DDC vs Stateless, Streaming DDC vs Stateless • Saves much larger amounts of Bandwidth • Especially for small packets DDC vs Streaming • Smaller latency • DDC good for latency sensitive applications • Packet drops allowed (up to Δ) for decoding • Packet reordering allowed

  42. DDC-min • Compress in parallel with Stateless and BDDC • Transmit according to min {Stateless,BDDC,Uncompressed} • Use a bit in the header to sign the compression method

  43. DDC = BDDC  Stateless • DBDDC i =D(1…i-Δ-1) • DDDC i = DBDDC i DStateless i DBDDC i = D(1…i-Δ-1) DBDDCi+1 Rollback DDDCi-1 DDDCi+1 DDDCi = DBDDCiDStatelessi

  44. DDDC i DDC Implementation DBDDC i DStateless i First Phrase Number=j+1 Last Phrase Number=j Dictionary Insertion: if (phrase xDBDDC i) & (phrase xDStateless i) add x to DStateless i

  45. Graph Based Dictionaries BDDC DDC  BDDC

  46. $ B G I $ Non Compact Tries O O L G $ O S W G BIG$ L L D H E $ I R BILL$ $ $ N GOOD$ GOSH$ $ G BIGGER$ $ A new phrase BOWLING$

  47. Eager Decoding • Each packet contains data about the history • The Decoder may be able to decode received packets, without all the required history

  48. When to Use DDC? • Latency critical applications • Order is not required by application (preferable) • Packet drops are allowed • use retransmission for dictionary update purposes

  49. Example Applications • VoIP Compression • Raw Video Compression • TFTP (over UDP) • Fast transfer of files • Fast transfer of memory areas

  50. Example Applications (cont.) • SMS Chat from a PC to a Mobile Phone • SMS messages are transferred via the SS7 network • SMS uses “Submit ACK” ICQ Clients Mobile Phone Users PC1 Decoding Latency TCP SS7 SMSC PC2 Encoder Decoder PC3 PC4 User Latency

More Related