• No results found

APPLICATIONS OF RATELESS CODES

N/A
N/A
Protected

Academic year: 2021

Share "APPLICATIONS OF RATELESS CODES"

Copied!
107
0
0

Loading.... (view fulltext now)

Full text

(1)

APPLICATIONS OF RATELESS CODES by

MATTHEW HENRY JOHNSON B.S., United States Air Force Academy, 2005 M.S., University of Colorado Colorado Springs, 2009

A dissertation submitted to the Faculty of the Graduate School of the University of Colorado Colorado Springs

in partial fulfillment of the requirements for the degree of

Doctor of Philosophy

Department of Electrical and Computer Engineering 2020

(2)

This dissertation for the Doctor of Philosophy degree by Matthew Henry Johnson

has been approved for the

Department of Electrical and Computer Engineering by

Willie Harrison, Chair

T.S. Kalkur

Edward Chow

Gregory Plett

Omid Semiari

(3)

iii

Johnson, Matthew Henry (Ph.D., Electrical Engineering)

APPLICATIONS OF RATELESS CODES

Dissertation directed by Professor Willie Harrison

ABSTRACT

This dissertation proposes to use the unique properties of rateless codes to improve existing reliable communication systems having delayed feedback. Presented is a framework for using rateless codes to reduce latencies when feedback is delayed. A method is shown to calculate the packet reassembly latency in a selective repeat and rateless coded system. Another method is described estimating the number of packets sent using rateless codes while reducing latency. Findings show rateless coding can make notable improvements in reducing latency over the selective repeat method.

Furthermore, this dissertation describes a novel strategy using rateless codes and relays to reduce latency. A multi-hop system using rateless codes can avoid the worst case latency of multiple round trip requests. Using rateless coding at the link layer provides advantages to minimize latency.

Finally, this dissertation introduces a rateless physical-layer security scheme based on rateless binning and secret sharing. The scheme targets a maximum allowable probability of intercept (POI) for an eavesdropper and can adapt to a legitimate user’s channel per-formance. Additionally, it operates over the packet erasure wiretap channel (PEWC) and needs only a bound on the eavesdropper’s channel state information (CSI). This dissertation presents the results of the scheme, which operates on commodity Wi-Fi hardware.

(4)

DEDICATION

(5)

v TABLE OF CONTENTS CHAPTER 1 INTRODUCTION 1 1.1 Overview . . . 3 1.2 Contributions . . . 3 2 BACKGROUND 5 2.1 Open Systems Interconnection Model . . . 5

2.1.1 Routing . . . 6

2.1.2 Relays . . . 6

2.2 Channels . . . 7

2.2.1 Channel Capacity . . . 8

2.3 Error Control Scheme . . . 8

2.4 Automatic Repeat Request . . . 9

2.5 Forward Error Correction . . . 9

2.6 Rateless Codes . . . 9

2.6.1 LT Codes . . . 10

2.6.2 Other Rateless Codes . . . 12

2.7 Performance Metrics . . . 12

(6)

3 COMPARISON OF LATENCY WITH SELECTIVE REPEAT AND RATELESS

CODING IN DELAYED FEEDBACK SYSTEMS 14

3.1 Justification . . . 14

3.2 System Model . . . 14

3.2.1 Sequence Examples . . . 17

3.3 Framework for Comparing Latency . . . 18

3.3.1 Selective Repeat System . . . 18

3.3.2 Rateless Coding System . . . 22

3.4 Analysis and Simulation . . . 22

3.5 Conclusions . . . 24

4 THROUGHPUT USING RATELESS CODING WITH RELAYS 28 4.1 Motivation . . . 28

4.1.1 Assumptions . . . 29

4.2 Related Work . . . 29

4.3 System with Relays . . . 30

4.4 Capacity . . . 30

4.4.1 Capacity with Relays . . . 31

4.5 Throughput . . . 33

4.5.1 Sequence Diagrams with Relays . . . 33

4.5.2 Estimating completion times . . . 34

4.5.3 Estimating Code Rate . . . 38

4.5.4 Estimating Throughput . . . 38

4.5.5 Throughput Feedback Bound . . . 39

4.6 Latency with Relays . . . 41

(7)

vii

5 LT LATENCY WITH RELAYS 42

5.1 Motivation . . . 42

5.2 Previous Work . . . 42

5.3 Adding Distributions . . . 43

5.4 LT Latency . . . 44

5.5 Latency with Relays . . . 46

5.6 Strategies for Improving Latency . . . 48

5.7 LT Latency with relays . . . 48

5.8 Outcomes . . . 51 6 SYSTEM SIMULATION 53 6.1 Motivation . . . 53 6.2 Simulation Setup . . . 53 6.2.1 Simulation Limitations . . . 54 6.2.2 Conditions . . . 54

6.3 Simulations with ARQ Packets . . . 55

6.4 Simulations with ARQ Messages . . . 58

6.5 Simulations with Rateless . . . 58

6.6 Comparisons . . . 62

6.7 Conclusions . . . 62

7 A RATELESS APPROACH TO PHYSICAL-LAYER SECURITY 66 7.1 Justification . . . 66

7.2 Background . . . 67

7.2.1 The Wiretap Channel Model . . . 67

7.2.2 Wiretap Codes . . . 69

7.2.3 Sharing Secrets . . . 70

(8)

7.4 A Rateless Framework for Secrecy Coding . . . 71

7.4.1 Binning for Rateless Secrecy Code Constructions . . . 72

7.4.2 Matching Channels in the Wiretap Model . . . 76

7.5 Adaptive Algorithm and Practical Implementation . . . 77

7.5.1 Channel Test Results . . . 79

7.5.2 Extra Considerations . . . 80

7.6 Conclusion . . . 80

8 CONCLUSIONS AND FUTURE WORK 82 8.1 Conclusions . . . 82

8.2 Future Work . . . 83

BIBLIOGRAPHY 85 APPENDIX A EXTENDED SIMULATION RESULTS 89 A.1 ARQ Simulation results . . . 89

A.2 Rateless Simulation results . . . 90

(9)

ix

LIST OF TABLES

Table

4.1 Capacity with three relays with D = 40 and pe/D = 0.0394. Table illustrates

capacity available from each node to each node. . . 32

(a) Capacity with one relay . . . 32

(b) Capacity with three relay . . . 32

4.2 Outstanding packet example . . . 37

5.1 LT latency performance distribution . . . 47

5.2 LT latency performance relay simulation . . . 51

5.3 LT latency performance relay simulation extended . . . 52

(10)

LIST OF FIGURES

Figure

1.1 Example digital communication system. . . 1

2.1 Data flow in a simple routing system. . . 6

2.2 Data flow in a multi-hop system with analog repeaters. . . 7

2.3 Data flow in a multi-hop system with processing repeaters. . . 7

2.4 Graph representation of a belief propagation decoder. . . 12

3.1 Block diagram of example system. . . 15

3.2 Block diagram of system transformed for analysis and simulation. . . 16

3.3 Packets, frames and sub-packet (codeword) hierarchy. . . 16

3.4 Sequence diagram of selective repeat system in normal operation. . . 19

3.5 Sequence diagram of selective repeat system resending the last packet. . . . 19

3.6 Sequence diagram of rateless system sending repair packets. . . 20

3.7 Selective repeat system latency PMF f′ (k; D = 6, pe = 0.3) from the re-ceiver’s perspective. . . 23

3.8 Rateless system latency PMF f (k; D = 6, pe = 0.3) from the receiver’s per-spective. . . 23

3.9 Simulated selective repeat system latency with D = 6 and pe = 0.3 from the receiver’s perspective. . . 25

(11)

xi

3.10 Simulated selective repeat system with speculative repeats latency with D =

6 and pe= 0.3 from the receiver’s perspective. . . 25

3.11 Simulated rateless system latency with D = 6 and pe= 0.3 from the receiver’s perspective. . . 26

3.12 Comparison of all systems with D = 6 and pe = 0.3 from the receiver’s perspective. . . 26

3.13 Comparison of all systems with D = 12 and pe = 0.1 from the receiver’s perspective. . . 27

4.1 Data flow in a simple relay system. . . 30

4.2 Capacity of relays with D = 40 and pe/D = 0.0394. . . 31

(a) Capacity with one relay . . . 31

(b) Capacity with three relays . . . 31

4.3 Sequence diagram of a simple rateless relay. . . 35

4.4 Sequence diagram of a threshold predicting rateless relay. . . 36

4.5 Example negative binomial PMF . . . 36

4.6 Example negative binomial CDF . . . 37

4.7 Expected code rate . . . 38

4.8 Expected throughput fraction with k = 100 . . . 39

4.9 Expected throughput fraction with pe= 0.9 . . . 40

4.10 Expected throughput fraction with pe= 0.1 . . . 40

5.1 Robust soliton distribution decode example. . . 44

5.2 Robust soliton distribution latency . . . 45

5.3 Optimized distribution decode example . . . 46

5.4 Optimized distribution latency . . . 47

5.5 Expanded sequence diagram of a threshold predicting rateless relay. . . 49

(12)

5.7 Relay strategy four with pe= 0.5 . . . 50

6.1 Boxplot of packet ARQ simulation with pe= 0.3 . . . 56

6.2 Buffer depth of packet ARQ simulation with pe= 0.3 . . . 56

6.3 Packet latency in packet ARQ simulation with pe= 0.3 . . . 57

6.4 Boxplot of ARQ messages simulation with pe= 0.3 . . . 59

6.5 Scatter plot ARQ messages simulation with pe= 0.3 . . . 59

6.6 Boxplot of ARQ messages simulation with pe= 0.3 half rate . . . 60

6.7 Scatter plot ARQ messages simulation with pe= 0.3 half rate . . . 60

6.8 Boxplot of rateless simulation, example one . . . 61

6.9 Scatter plot rateless simulation, example one . . . 63

6.10 Boxplot of rateless simulation, example two . . . 63

6.11 Scatter plot rateless simulation, example two . . . 64

6.12 Boxplot of rateless simulation, example three . . . 64

6.13 Scatter plot rateless simulation, example three . . . 65

7.1 Wiretap channel model with authenticated feedback channel. . . 68

7.2 Example of binning where message D is split into n pieces D1, D2, . . . , Dn and each of the pieces Di is split into n′ pieces such that any k1 of them are sufficient to identify the value of Di. . . 72

7.3 Probability of Eve intercepting a message coded with a semi-rateless (k2 = 5 bins split into k1 = 4 pieces each for k = 20) deployment of secrecy coding as a function of the CSI in a PEWC. . . 74

7.4 Probability of Eve intercepting a message coded with the rateless algorithm as a function of the CSI in a PEWC for k1 = 20 and k2 = 1. . . 74

7.5 Probability of Eve intercepting a message as a function of the CSI in a PEWC for k1= 1 and k2= 20. . . 75

(13)

xiii

7.6 Results from (7.6) and (7.7) for matching CSI, i.e., ǫm = ǫw, when k1 = 1

and k2= 10. . . 76

7.7 Target POI contours as a function of total expected transmissions and chan-nel conditions for the adaptive algorithm when ǫm = ǫw. . . 78

(14)

INTRODUCTION

The modern digital age is enabled by error correcting codes. These codes make pos-sible many of the technologies we enjoy on a daily basis: Wi-Fi, cellular data, DVDs, and digital broadcast TV. Codes allow usable communication in otherwise noisy environments. Many types of codes have been developed with different characteristics. A trend in com-munication systems is to use complex sending and receiving hardware to achieve reliability. Sophisticated radio receivers with large block codes achieve great reliability, but data link layer reliability methods and latency are often neglected.

Figure 1.1 illustrates the basic components of a communication system. In fixed rate codes, the ratio or rate of codeword length to message length is constant. Large codewords are necessary for best performance.

Rateless codes, on the other hand, operate much like a fountain, and hence, they are often referred to as fountain codes [6]. The transmitter can produce an infinite number of coded packets per message (like a fountain continually spraying water from its source). Once the receiver collects a sufficient number of them (like a bucket being filled with water), it can

channel

encoder decoder

Sender Receiver

message codewords message

noisy codewords

(15)

2

decode the message correctly. Using rateless codes for error correction solves a fundamental problem in error-control coding; i.e., they operate over channels where the channel state information (CSI) is not known in advance [28]. In addition, rateless codes adapt to the channel [7].

Practical rateless codes were first invented in 2002 by Luby [32], who coined them Luby transform (LT) codes. Variations of rateless codes ensued. For example, Raptor codes [43, 38] use a hybrid approach. Raptor codes are constructed with LT codes as inner codes and low-density parity-check (LDPC) codes [15, 34] as outer codes in a concatenated coding scheme. Practical rateless codes were invented after other high performing codes. Rateless codes are not simple replacements for other codes because of variable data rate. Many communication systems split data into circuits that operate at a fixed data rate. These two issues have, perhaps, prevented the application of rateless codes in many scenarios where the codes can improve performance of the communication system.

Decoding a message is not always successful. Many communication systems have to ensure reliable delivery of messages. Classic approaches to reliability include the many forms of automatic repeat request (ARQ). In an ARQ system, if the receiver finds data is missing or corrupted, it is re-requested from the sender. The term ARQ has expanded to cover many hybrid [36] and combining methods. All of these methods operate at the physical layer. Other works, [45] and [50], look at ARQ strategies with delayed feedback, but without addressing latency. Rateless codes can act as an alternative to ARQ with better latency performance.

Retrofitting the link layer of existing systems rather than the physical layer could be more cost effective than replacement, especially in space communication systems. Reliability from a data-link-layer-only approach is normally performed using a selective repeat strategy, but latency suffers with delayed feedback, particularly the long delays seen in space systems. To reduce latency, this dissertation explores the use of rateless codes. With Rateless codes, it is possible to estimate and send just the right amount of coded packets to prevent the

(16)

receiver from needing to request more. The results in this dissertation show that rateless codes perform much better than the standard data link layer strategy of selective repeat in reducing latency.

This dissertation proposes to use the unique properties of rateless codes to improve existing reliable communication systems having delayed feedback. Using rateless codes instead of other classic techniques for reliability has the potential to keep front end physical hardware less complex by moving the responsibility of reliability into coding at the data link layer. Another benefit to the approach outlined in this dissertation is a lessened reliance on feedback. This is especially important in situations where feedback is delayed or unreliable.

1.1 Overview

The next chapters describe how to apply different aspects of rateless codes. Chapter 2 introduces general background material and notation. Chapter 3 delves into a detailed look of latency with rateless codes. Chapter 4 investigates the impacts of relays to available capacity, throughput potential, and latency. Chapter 5 investigates the internals of LT rateless codes for performance. Chapter 6 explores simulations with system latency and throughput projections. Chapter 7 detours into the realm of rateless coding for secrecy. Finally, Chapter 8 ends with conclusions and thoughts for future work.

1.2 Contributions

The major contributions of this dissertation are intended for two fields. The first involves communication systems with long feedback delays. A prime example of this is satellite communication. Chapter 3 provides a way to calculate the latency reduction benefit using an ideal rateless code with one link. Chapter 5 expands the scope using an optimized LT code and relay. Also explained is novel strategy that uses a relay’s partially decoded packets for improving latency. Chapter 6 uses all of the previous chapters’ latency reduction strategies in a multi-hop relay simulation.

(17)

4

The other contributed field is physical-layer security. Here the example systems are simple wireless devices. Chapter 7 explains a practical physical-layer security scheme that requires minimal information about the eavesdropper’s CSI. Furthermore, the scheme is able to operate on commodity Wi-Fi hardware.

(18)

BACKGROUND

The investigation of rateless codes uses concepts from a number of interrelated fields. This chapter introduces the terminology and concepts used in rateless coding and this dissertation.

2.1 Open Systems Interconnection Model

Because communication systems are generally designed in layers, it is important to understand how all the layers of a system interact. There are many descriptions of layered communication systems, of which the most prevalent is the open systems interconnection (OSI) model [22]. The model is more descriptive than prescriptive but still useful. Assuming for now the system uses internet protocol (IP), there are several observations that one can make. Typically, forward error correction (FEC) codes operate in the data link layer, but no layer is directly responsible for reliable delivery. For example, the link layer in Wi-Fi does reliable delivery, which is not the case with Ethernet. At the transport layer, transmission control protocol (TCP) uses reliable delivery, unlike user datagram protocol (UDP). An example of data flow is shown in Figure 2.1.

Below is a summary of the layers and the terminology used at each layer.

• Physical layer - Converts data symbols into electrical, RF or optical signals. • Data Link layer - “Reliably” transfers data frames on a link.

(19)

6

Application

Transport

Network

Data Link

Physical

Application

Transport

Network

Data Link

Physical

Network

Data Link

Physical

Sender

Router

Receiver

Figure 2.1: Data flow in a simple routing system.

• Transport layer - Provides quality of service functions for segments or datagrams. • Application layer - Creates and consumes user messages.

Some of the terms used in the OSI and IP standards are overloaded with the terms in information theory and coding. This dissertation normally uses the term message when referring to a network packet. The term packet refers to codewords generated from an encoder. In latter simulations, one codeword packet is sent in a data link layer frame. With this terminology, a packet erasure channel is the same as a frame erasure channel. In much of rateless coding literature, the terms “symbols” and “packets” are used interchangeably. This work will specify the context if a network packet or a codeword packet is specified.

2.1.1 Routing

Figure 2.1 shows the general data flow describing information transiting the commu-nication processing layers from one node to the next. One major point of the layers is that routers and repeaters do not need to implement all the layers to deliver messages from one node to another.

2.1.2 Relays

The logical system model in Figure 2.2 depicts data flow through a system with analog repeaters. The topology in Figure 2.2 is common to satellite communication systems,

(20)

Application Transport Network Data Link Physical Application Transport Network Data Link Physical Network Data Link Physical Physical Physical

Sender RepeaterAnalog Router RepeaterAnalog Receiver

Figure 2.2: Data flow in a multi-hop system with analog repeaters.

with the analog repeaters being satellites, and the router being a ground station. Another system model uses processing repeaters, as shown in Figure 2.3. Processing repeaters have to demodulate signals and may also decode them. Both analog repeaters and routers are types of relays. One defining characteristic of satellite communication is the large link delay, approximately 14 second round trip for a geostationary satellite. Factors, such as moving platforms and atmospheric conditions, can significantly change the channel conditions. For example. a vehicle mounted antenna could temporally have all signals blocked by driving under a bridge. Delayed feedback and channel state conditions are key factors in the channel model.

2.2 Channels

In communication theory, channels are the medium and mode through which the communications are taking place. Communication over a channel can be realized by elec-trical signals on a wire, radio waves in air, sound in water, or laser light across space. Real channels can be simplified into theoretical channel models that only interact with the

sig-Application Transport Network Data Link Physical Application Transport Network Data Link Physical Network Data Link Physical Data Link Physical Data Link Physical

Sender ProcessingRepeater Router ProcessingRepeater Receiver

(21)

8

nals in certain ways. For example, the binary symmetric channel (BSC) only “flips” bits independently with a certain probability. Another important channel, the additive white Gaussian noise (AWGN) channel, closely represents many real world channels. The channel state information (CSI) is the properties of the communications channel. The properties can be time varying. For example, CSI can include the bit flip probability or the current noise level.

Of special importance to rateless codes is the binary erasure channel (BEC) and its relative, the packet erasure channel (PEC). Erasure channels have an erasure probability denoted as pe. For example, if a transmitter sends 100 packets through a channel with

pe = 0.3, an average of only 70 will arrive at the receiver. Throughout this work, the

erasure probability with the negative binomial distribution is used to model probability mass functions and cumulative distribution functions of erasure. This can be done because each sent packet is a Bernoulli trial, an independent trial taking on one of two outcomes.

2.2.1 Channel Capacity

Information theory [40] informs us how much capacity is available. Channel capacity can be defined as the maximum mutual information between the sender and receiver [37]. Capacity is the maximum achievable data rate with arbitrarily low error probability. It has been shown [12] the capacity of a BEC is simply 1 − pe.

2.3 Error Control Scheme

The error control scheme is the method or code to use the channel capacity to achieve reliable data throughput. With a given channel a code and a rate R exists to allow error free communications. There are many methods available, and they all have trade-offs in throughput, latency and complexity.

(22)

2.4 Automatic Repeat Request

Automatic repeat request or ARQ is one of the easiest error control schemes to under-stand. If a message is not received, it is requested to be resent. There are several variations used to improve throughput, as waiting on a message to be received adds considerable la-tency. Some systems re-transmit all messages unless acknowledged. Selective repeat allows a system to send several messages before receiving feedback to repeat only some of them.

2.5 Forward Error Correction

With forward error correction, the transmitter adds extra information, coded into the message. This is to avoid the wait for the receiver to find errors in a message and request a re-transmission. This allows the receiver to reconstruct or decode the message, even if errors were added by the noisy channel. A key parameter when discussing forward error correction is the code rate R, given as k/n, with k as the number of input symbols and n as the number of encoded symbols.

2.6 Rateless Codes

Rateless codes were initially described in Chapter 1. There are several factors that make rateless codes different from other FEC codes. For most codes, every input sequence of bits or messages map to just one output sequence of symbols or codeword. Rateless codes map a message to an extremely large number of potential codewords. A rateless encoder splits a message into k number of source source symbols. The source symbols are used with the degree distribution to generate codewords. An ideal rateless decoder needs only a threshold number of k codewords to decode the original message. With rateless codes the transmitter, using feedback from the receiver, can determinate the message decoding progress. Knowing how close the receiver is to threshold can inform the sender how many more packets to send. Rateless codes have error floors and may not always achieve channel

(23)

10

capacity [28].

The first type of rateless codes invented were random linear codes in [12]. These types of linear codes had to be decoded using maximum likelihood (ML) decoding. This is the same as solving systems of linear equations using Gaussian elimination. A ML decoder’s decode time increases, at best, polynomially with k.

2.6.1 LT Codes

In LT codes, the decoding process uses belief propagation (BP). An example of BP is shown in Figure 2.4. Graph representation of a BP decoder depicted works from left to right. Unfilled squares are unknown source symbols, and filled squares are decoded source symbols. Circles are the received codewords, with lines representing the XORed source symbols. The number of connected source symbols is the degree of the codeword. Dashed lines represent the belief propagation. When a received codeword is connected to only one source symbol, it is considered ”degree one” and can solve the unknown source symbol. When a source symbol is solved, all of its remaining connections can be removed. This process is repeated for all received codewords until all source symbols are solved. LT codes have a low decoding cost of k loge k operations. The key to LT codes’ performance is the

degree distribution of the encoder. The first distributions used with LT codes were the soliton and robust soliton. This will be covered more in Chapter 5. Algorithm 1 is the LT encoder. With Algorithm 2 implementing a BP decoder.

Algorithm 1 LT encoding algorithm

1: repeat

2: choose degree d from distribution ρ(d)

3: choose d random packets from source message

4: XOR all chosen packets and send

(24)

Algorithm 2 LT belief propagation decoding algorithm

1: repeat

2: if received packet is degree 1 then

3: add packet to new-decoded list

4: else

5: add packet to pending-decode list

6: end if

7: for packet x in new-decoded list do

8: forpacket y in pending-decode list do

9: if packet x and packet y overlap then

10: replace y with y ⊕ x 11: end if

12: if y is degree 1 then

13: move packet y to new-decoded list

14: end if

15: end for

16: move packet x to decoded list

17: end for

(25)

12

Figure 2.4: Graph representation of a belief propagation decoder working left to right.

2.6.2 Other Rateless Codes

In Chapter 1, other rateless codes were mentioned, such as Raptor codes. Raptor codes work well over erasure channels and other noisy channels, and hence are more popular than LT codes [6, 5]. The most modern class of rateless codes is Raptor [13] codes. They are categorized as concatenated linear fountain codes. The most advanced implementation is RaptorQ [33]. The RaptorQ code has almost a perfect decodability once k codeword packets have been received.

2.7 Performance Metrics

The two main measures of performance in this work will be latency and throughput. Latency is the time delay between message transmission and receipt. Careful attention must be paid in defining when the clock starts and stops. Multiple packets comprise a single message, the clock starts when the first packet leaves the sender/source and ends when the last packet of the message arrives at the receiver/sink.

Throughput is usually measured in bits per second. In this work, throughput is the achieved fraction of channel capacity. This will normalize comparison across channel conditions.

(26)

2.8 Conclusion

The next chapter uses the terminology in this chapter to build an initial use case for rateless codes reducing latency.

(27)

CHAPTER 3

COMPARISON OF LATENCY WITH SELECTIVE REPEAT AND RATELESS CODING IN DELAYED FEEDBACK SYSTEMS

This chapter addresses network packet reassembly latency using selective repeat and rateless coding strategies to achieve reliable data delivery in systems with feedback delay. Much of the material in this chapter has been published in [25].

3.1 Justification

In a general communication system, a sender wants to communicate a message or packet of information to a receiver reliably in the shortest time possible. As a packet makes its way from sender to receiver, its size may exceed the number of bits the link or physical layer can support. Fragmenting the packet’s data to transverse a segment with small frames can be done in many different ways but adds latency. In this chapter, an approach to address these shortcomings with rateless coding is proposed.

3.2 System Model

To structure the problem, consider the generic reliable communication system as shown in Figure 3.1. Starting with Figure 3.1, the system is transformed into Figure 3.2. Retrofitting the system this way, the outer encoder and decoder can treat the rest of the inner system as a packet erasure channel. There are no assumptions on the channel or inner coding. The only constraint is that frames with errors will be erased because of the frame

(28)

 packet sender packet receiver channel inner encoder inner decoder fragmentation / outer encoder reassembly / outer decoder

add frame check sequence

verify frame check sequence

area for modification area unchanged

feedback delay

Figure 3.1: Block diagram of example system.

check. For simulation, the system is simplified to Figure 3.2.

Figure 3.3 describes the overall network packet structure where the original packet split into several sub-packets. These sub-packets will eventually contain code packets. Each sub-packet is bundled into a frame with an identification header and a frame check sequence. The frame check sequence guarantees that only error free sub-packets are passed along to the reassembly/outer decoder block. Rather than attempt to recover information from a frame with a failed frame check sequence, the whole frame is discarded. In contrast, hybrid ARQ systems do not discard frames with errors but need physical layer information about the symbols in order to decode.

The baseline system for analysis uses selective repeat to re-request frames that are erased. In Section 3.4, the measure of performance for the system is the number of channel uses needed in the re-assembling of all necessary frames to reconstruct an original packet. The primary performance metric used in this analysis is called packet reassembly latency. For latency analysis, there will be no delay overhead from computation. The modified system replaces the selective repeat with a rateless encoder and decoder to reconstruct the original network packet.

(29)

16

sender

packet erasure

channel

receiver

feedback delay

Figure 3.2: Block diagram of system transformed for analysis and simulation.

packet frame

id header sub-packet frame check

(30)

In the system model defined here, the sender can transmit only one frame per unit time and does not receive feedback of frame success or failure until the delay has passed. The delay D is expressed in integer units for convenience.

Rateless coding can start by splitting the original information network packet message into several sub-packets, just as would be required with the baseline selective repeat system. With rateless codes, these sub-packets are now the systematic codewords. Systematic code-words are degree one, with each codeword the same as a source symbol. Repair codecode-words are degree two or greater. Repair codewords can be generated and sent as sub-packets as needed. When a sub-packet is erased in a selective repeat system, the receiver requests that specific sub-packet be retransmitted. Delayed feedback causes delays in reconstructing the full packet. With a rateless code, any number of repair sub-packets can be generated and used to reconstruct the message. As long as the total number of systematic and repair sub-packets reaches a threshold, the original packet can be reconstructed. Additionally, by sending repair sub-packets preemptively, the unacknowledged sub-packets do not wait for feedback, and potentially resulting in better latency. With a rateless code, the only feed-back the sender needs is when the receiver has received a threshold number of sub-packets. The rateless coding aims to prevent extra feedback delays when the system is losing frames. A link layer solution allows larger packets to transverse systems reliably with low latency without having to implement the features at a higher level.

3.2.1 Sequence Examples

Figure 3.4 further illustrates the time flow of feedback as a sequence diagram of the baseline selective repeat system. In this example, the sender on the left needs to send sub-packets A to E to reconstruct the original packet. In Figure 3.4, sub-packet B is erased and must be retransmitted, but feedback is delayed two time periods. This means sub-packet B is retransmitted after sub-packet D. The checkmark represents not only when the receiver reconstruct the original packet but also when the sender gets feedback that the receiver has

(31)

18

reconstructed the original packet

The sequence diagram, Figure 3.5, illustrates a situation where the last sub-packet E is erased and must be retransmitted. There is extra delay in reconstructing the original packet, as the receiver must wait for this last sub-packet of information.

The sequence diagram, Figure 3.6, illustrates the same situation as before, with the last packet E erased. However, this system uses a rateless code to generate repair sub-packets Rn for n = 1, 2, . . .. In the rateless system, the feedback message is simplified to

indicate if the received number of sub-packets are at threshold or if more are needed. The repair sub-packets are sent after the last systematic sub-packet E until feedback indicates that the sender has received the threshold number of sub-packets to rebuild the original packet. Observe that in the rateless system, the sender and receiver both finish earlier than a selective repeat system. The drawback of the rateless strategy is that more sub-packets are sent to the receiver. These additional packets consume power and capacity that could have been used for other messages.

3.3 Framework for Comparing Latency

The metric used for measuring performance is packet reassembly latency. This is the time between when the sender transmits the last sub-packet for the first time and when the receiver can reassemble the full packet.

3.3.1 Selective Repeat System

In the baseline selective repeat system, D successful transmissions of sub-packets are needed to reconstruct the end of the full packet. Assuming an independent packet erasure channel, the probability of a frame erasure is pe. Using the negative binomial distribution

from [11], a probability mass function (PMF)

f (n; D, 1 − pe) =

n + D − 1 n



(32)

send A A received send B B not received send C C received send D D received resend B send E E received B received sender receiver

Figure 3.4: Sequence diagram of selective repeat system in normal operation.

send D D received send E E not received resend E E received sender receiver

(33)

20 send D more needed send E more needed send R1 at threshold send R2 at threshold send R3 at threshold sender receiver

(34)

is constructed to find the probability of receiving all D sub-packets while having n erased sub-packets.

The next step is to find a function that outputs total transmission time. The function in (3.1) needs to be reshaped to account for the sub-packets that were not sent because of the feedback delay. The notation Si,j defines a set of all multiset permutations of length i.

A set of send packets will contain Si,j = {r1, r2, . . . ri}, where j is the specific permutation

according to the negative binomial. By definition i = n + D and r is the outcome sequence of the negative binomial trial. Note that ri of every permutation will be a failure in the

negative binomial definition but is actually a successful received transmission. A successful received transmission is represented as y in an r trial sequence. An erased transmission is a success in the negative binomial definition. An erased transmission is represented as ’?’ in an r trial sequence. For the new function

f′ (k; D, 1 − pe) = ∞ X j=0 pC(S′k,j) e (1 − pe)D, (3.2)

k is the total transmission length and S′

is a transformed set S to account for feedback delay. Let C(Si,j) be equal to the number of transmission errors in the permutations of

Si,j. To build S′ from S, each permutation r needs to be processed according to the rules

below. The rules start with r1 and modify the sequence until completed. If the following

rules cannot be met, a blank trial, represented as b, is inserted into the sequence:

(1) An erased transmission (?) must not have successful transmission (y) modulo D trials before itself.

(2) A successful transmission (y) must not have successful transmission (y) modulo D trials before itself.

For example if D = 3 and a trial r sequence length of 5; a trial set is represented as

(35)

22

Example (3.3) is transformed into

S′

9,x= {y, y, ?, b, b, ?, b, b, y}, (3.4)

with a transformed sequence length of 9.

Using the above rules, it is now possible to find S′

and use (3.2) to calculate latency for a selective repeat system. Figure 3.7 shows the results from the receiver’s perspective. The first column with latency of zero is equal to the probability of D sub-packets being received without error. A latency of one represents the probability that only the first of D sub-packets is erased and successfully retransmitted. The latency spike at D represents combinations of 1 to D sub-packets erased and successfully retransmitted. The long tail of latencies represents unlucky sub-packets erased on multiple retransmissions. Note that with the model, the sender will still have to wait D time slots for feedback of success.

3.3.2 Rateless Coding System

The next step is to calculate the packet reassembly latency for the system modified to use rateless coding. Equation (3.1) it can be used directly to calculate latency in a rateless system as only D good sub-packets are needed. The later transformation steps are not needed, as the rateless system sends repair sub-packets after the systematic ones. Figure 3.8 shows the results from the receiver’s perspective. By sending repair sub-packets before receiving feedback of erasures, the receiver is able to reconstruct the missing sub-packets quicker than the selective repeat system. For the same feedback delay, the rateless system reconstructs packets with less latency.

3.4 Analysis and Simulation

To gain insight into how feedback delay impacts packet reassembly time, a parame-terized simulation was built. This simulation allows Monte Carlo experiments to be run on the baseline selective repeat system and the rateless system. Additionally, a modified

(36)

base-Figure 3.7: Selective repeat system latency PMF f′

(k; D = 6, pe = 0.3) from the receiver’s

perspective.

Figure 3.8: Rateless system latency PMF f (k; D = 6, pe = 0.3) from the receiver’s

(37)

24

line system that sends extra unacknowledged sub-packets was programmed. The simulation models only the delay from feedback, not computation of codes.

The primary output of the simulation is a plot describing the probability the receiver will be able to assemble the original packet after receiving the last ordinary, systematic or repair sub-packet. The simulation plots are compared to theory plots from Section 3.3. The plot in Figure 3.9 is the baseline selective repeat system running with a uniform sub-packet erasure of pe and a delay of D. Also of note in this system, no duplicate

sub-packets are received, as the transmitter always waits for feedback. Figure 3.10 shows the modified baseline selective repeat system. It has been modified to send speculative extra unacknowledged sub-packets. This improves the latency at the expense of having multiple identical unacknowledged sub-packets. Figure 3.11 represents the rateless system that sends repair sub-packets until it receives feedback.

For comparison of the methods, a cumulative distribution function (CDF) plot is shown in Figure 3.12. The rateless system clearly outperforms the other two methods. Using different parameters, as shown in Figure 3.13 the rateless method again outperforms selective repeat with no change in strategy. The strength of the rateless coding method is the consistent performance without tuning to channel condition.

3.5 Conclusions

This chapter presented a framework for using rateless codes to reduce latencies when feedback is delayed. A method was shown to calculate the packet reassembly latency in a selective repeat and rateless coded system. The findings are supported with matching simulation results. The findings show rateless coding can make notable improvements in re-ducing latency over the selective repeat method. The next chapter explores the implications of adding relays for latency and throughput.

(38)

Figure 3.9: Simulated selective repeat system latency with D = 6 and pe = 0.3 from the

receiver’s perspective.

Figure 3.10: Simulated selective repeat system with speculative repeats latency with D = 6 and pe= 0.3 from the receiver’s perspective.

(39)

26

Figure 3.11: Simulated rateless system latency with D = 6 and pe= 0.3 from the receiver’s

perspective.

Figure 3.12: Comparison of all systems with D = 6 and pe = 0.3 from the receiver’s

(40)

Figure 3.13: Comparison of all systems with D = 12 and pe = 0.1 from the receiver’s

(41)

CHAPTER 4

THROUGHPUT USING RATELESS CODING WITH RELAYS

In the last chapter, rateless codes showed promise in decreasing latency when recon-structing network packets. This chapter examines some of the bounds on latency, capacity, and throughput using rateless codes with relays.

4.1 Motivation

Rateless codes provide an alternative approach to fixed rate codes for reliable commu-nications. There are limits to what is physically realizable [42] in hardware with fixed rate block codes. Current state-of-the-practice satellite communication systems use near capac-ity achieving codes, such as LDPC or turbo codes. The limiting factor in these systems is the coder complexity. There are limits to the size of the best large block implementations [42] and to how fast software coders can operate [46]. Larger block sizes yield better perfor-mance with increasing complexity. There are clear diminishing returns on perforperfor-mance as block length continues to grow. Many state-of-the-practice systems fail to use proven ARQ strategies [45], thus leaving the reliability to the transport layer.

Rateless codes have been used in the application layer [16], where they are referred to as AL-FEC (application layer FEC). This is different from codes used for error correction in the physical layer, known as PHY-FEC (physical layer FEC). The new application of rateless codes that are being examined here could be referred to as DL-FEC (data link layer FEC), as they operate in the data link layer, decoupled from the other layers.

(42)

4.1.1 Assumptions

The discussions in this chapter only consider a single user sending data packets. This is an attempt to capture underlying behavior at a fundamental level. Considerations for additional users are noted when pertinent.

The coding approaches here are targeted for implementation in the data link layer of a communication system. This is deliberate, as it decouples the approach from a particular physical layer implementation. The rateless approach can leverage the capabilities of the physical layer like multiple-input and multiple-output (MIMO), essentially treating each as an independent channel. As long as there exists some independence in the channels, as packets are sent, these assumptions hold.

To keep the results as general as possible, the equations and simulations use the assumption that one packet is sent and received per frame. This assumption allows for simple scaling for multiplexing strategies, such as time-division multiple access (TDMA) or frequency-division multiple access (FDMA). Note that this is different than the field of network coding, where a node can receive multiple frames at the same time while only broadcasting one.

4.2 Related Work

The work [9] uses rateless coding with one relay in parallel to the sender and receiver. This simulates a MIMO system setup. The results are not applicable to the topology in the system with multiple relays in series. Both this work and [9] use similar definitions for throughput but do not consider latency. All simulation was done with a fading physical channel. Reference [23] shows that for a general rateless system (LT included), having relays in parallel with feedback helps by reducing the number of source symbols used over time.

In [49], the authors attempt to use a sliding window code to minimize latency. This uses a type of random linear network code. Network codes are better in topologies where

(43)

30

Application

Transport

Network

Data Link

Physical

Application

Transport

Network

Data Link

Physical

Data Link

Physical

Sender

Relay

Receiver

Figure 4.1: Data flow in a simple relay system.

relays are listening to more inputs than they can transmit.

Use of selective repeat strategies is not new. Rather, it has been extensively analyzed in satellite communications by [50]. This setup is close to the reference application extended to include multiple relays for the simulation in Chapter 6. The cited work found that as a compromise, the selective repeat system should have a memory buffer twice the size of round trip delay. This achieved good performance but was not quite as ideal as selective repeat. An ideal selective repeat system would need to have a potentially infinite memory buffer. Another example [8] shows how two types of standard satellite modems with fixed rate codes work with physical layer encoding.

4.3 System with Relays

The next few sections investigate the limits of capacity in a relay system. The system setup has one or more relays as shown in Figure 4.1.

4.4 Capacity

A channel has a fundamental maximum achievable throughput, which is the channel capacity. From Chapter 2 the PEC has a capacity of 1 − pe packets per channel use. For

(44)

0 5 10 15 20 25 30 35 40 Distance 0.0 0.2 0.4 0.6 0.8 1.0 Available Capacity From Source From Relay

(a) Capacity with one relay.

0 5 10 15 20 25 30 35 40 Distance 0.0 0.2 0.4 0.6 0.8 1.0

Available Capacity From Source From Relay 1 From Relay 2 From Relay 3

(b) Capacity with three relays.

Figure 4.2: Capacity of relays with D = 40 and pe/D = 0.0394.

Each frame will contain only one code packet The next section explains how throughput changes with relays.

4.4.1 Capacity with Relays

The first step in visualizing how relays impact a given channel’s throughput is to define a channel with a distance D from source to sink. For simplicity, the packets propagate one unit of distance per channel use. The packet erasure rate is defined per unit of distance pe/D. With these parameters, a plot sampling the available capacity along a concatenated

channel can be made. In Figure 4.2 two examples of the capacity curves are plotted. The plots show decreasing capacity further from the transmitter. Note that each relay also has a curve representing capacity of just that relay to sink. Table 4.1 highlights the main points of the example plot. The primary takeaway is that relays add additional throughput to a channel. The total throughput of a channel with relays is limited by the largest packet lost between nodes. With this simple example, relays should be placed so that they have equal packet erasure rates. The challenge is how to use that throughput. The answer is memory buffers and coding.

(45)

32

Relay 1 Sink Source only 0.447 0.200 Relay 1 only n/a 0.247 Total 0.447 0.447

(a) Capacity with one relay.

Relay 1 Relay 2 Relay 3 Sink Source only 0.669 0.447 0.299 0.200 Relay 1 only n/a 0.222 0.148 0.099 Relay 2 only n/a n/a 0.222 0.148 Relay 3 only n/a n/a n/a 0.222 Total 0.669 0.669 0.669 0.669

(b) Capacity with three relays.

Table 4.1: Capacity with three relays with D = 40 and pe/D = 0.0394. Table illustrates

(46)

4.5 Throughput

Throughput is how well the capacity of the channel is used. In the system model, one frame is sent and received per channel use. The actual number of bits per second will depend on the number of bits per frame and the number of frames per second. For the optimum throughput, the receiver should always be receiving new packets. Not sending packets negatively impacts throughput. In addition if, a message has already been decoded, extra packets for that message will negatively impact throughput.

4.5.1 Sequence Diagrams with Relays

Figure 4.3 presents a sequence diagram of a simple rateless relay system. In this example, the rateless encoders send until they get feedback to stop. A network packet arriving at the sender starts the encoding process. The sender uses the network packet as the message input for the rateless encoder. The sender first sends K frames with code packets; this is the green mode. The number of packets needed to decode the message in the system is K = k. A number of packets are erased in the channel causing another R redundant packets to be sent; this is the blue mode. The relay can finally decode the message when K packets are received; this is the relay’s green mode. The relay then sends feedback that the decoding is complete. The sender receives feedback that the decoding is complete in D time units. D packets are sent to the relay that will be unused and wasted; this is the red mode. Important to note is that the relay is also sending packets to the receiver at the same time. During the green mode, the relay can only send packets it has received from the sender. Once the relay has decoded the message, it can send ratelessly to the receiver, the blue mode. The relay will also send D wasted packets waiting for feedback from the receiver.

Waiting for feedback is detrimental to throughput. Figure 4.4 shows the sequence diagram of a rateless relay system that predicts when packets need to stop being transmitted.

(47)

34

The red modes have been removed. The blank modes could be the start of the next message. Estimating when to stop sending is the next challenge.

4.5.2 Estimating completion times

With knowledge of the erasure rate of the channel known or bounded, it is possible to calculate the number of outstanding packets necessary to achieve threshold at a receiver. This is done using the percent point function with the negative binomial distribution. One parameter to be provided is the certainty factor ps or p-value. For example, using the

ps = 95% point of the PMF ensures 95% of the time, no requests for re-transmissions will

be necessary after sending the last frame.

As shown in Chapter 3, K successful transmissions of sub-packets are needed to reach threshold. Using the negative binomial distribution from [11], the probability mass function (PMF) is f (n; K, 1 − pe) = n + K − 1 n  pne(1 − pe)K, (4.1)

which can be used to find the probability of receiving all K sub-packets while having n erased packets. Figure 4.5 is an example PMF with a given n and pe. This is then turned

into the cumulative distribution function (CDF) for use with ps. Figure 4.6 is the CDF

with the ps= {95%, 99%} points shown.

Having a high certainty factor will result in more packets being transmitted, with some being extra. This negatively affects rate. Using the higher confidence numbers will improve latency because requests for extra packets are minimized. A sending system would perform the calculation or consult a table like Table 4.2 before transmitting new packets. With feedback, the number of sub-packets needed to decode will adapt to the number of actual packets lost in the channel.

This calculation is to just ensure the threshold number of packets arrive without the need for additional round trip latency. The system can use changing estimates of eraser probability or CSI. The system will have ratcheting behavior in that if the erasure

(48)
(49)

36

Figure 4.4: Sequence diagram of a threshold predicting rateless relay.

0 5 10 15 20 Failures 0.00 0.02 0.04 0.06 0.08 0.10 0.12 Occurrence

(50)

0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 Failures 0.0 0.2 0.4 0.6 0.8 1.0 Cumulative Occurrence 95% point99% point

Figure 4.6: Example negative binomial CDF with n = 20 and pe= 0.3.

pe= 0.1 pe= 0.3

Outstanding packets needed with ps

n 50% 95% 99% 50% 95% 99% 1 1.0 2.0 2.0 1.0 3.0 4.0 2 2.0 3.0 4.0 3.0 5.0 7.0 3 3.0 5.0 5.0 4.0 7.0 9.0 4 4.0 6.0 7.0 5.0 9.0 11.0 5 5.0 7.0 8.0 7.0 10.0 12.0 10 11.0 13.0 14.0 14.0 19.0 21.0 20 22.0 25.0 27.0 28.0 35.0 38.0 50 55.0 60.0 62.0 71.0 81.0 86.0 80 89.0 94.0 97.0 114.0 126.0 132.0 90 100.0 106.0 109.0 128.0 141.0 147.0 100 111.0 117.0 120.0 143.0 156.0 162.0

Table 4.2: Table illustrates the number of outstanding packets to send at a ps to avoid

an extra round trip request for more packets. Based on the n number of sub-packets the receiver needs to decode.

(51)

38

0.0 0.2 0.4 0.6 0.8 1.0

Channel Packet Erasure Probability 0.0 0.2 0.4 0.6 0.8 1.0

Expected Code Rate ps 50%

ps 95%

ps 99%

ps 99.9%

Figure 4.7: Expected code rate with k = 100.

probabilities improve, the system cannot un-send a packet.

Chapter 5 will investigate the internals of rateless codes. Until now, the assumption has been the ideal rateless decoder recovers messages with any k number of codewords. Real rateless decoders are less than perfect and require more than k number of codewords.

4.5.3 Estimating Code Rate

Using the methods above, the expected code rate is calculated. The interactive note-book is found at the referenced link in Appendix B. In Figure 4.7, the expected code rate of a rateless system closely tracks 1 − pe. Increasing ps decreases the expected code rate.

4.5.4 Estimating Throughput

Maximum throughput is limited to channel capacity. Therefore, by using the code rate, the fraction of channel capacity is calculated. In Figure 4.8 rateless coding is expected to achieve nearly the full capacity at small values of pe. When pe is large, the throughput

falls. This phenomenon stems from the uncertainty in sending large numbers of packets. For example, with k = 100, pe= 0.99, and ps= 99% the expected number of packets erased

(52)

0.0 0.2 0.4 0.6 0.8 1.0 Channel Packet Erasure Probability

0.75 0.80 0.85 0.90 0.95 1.00

Expected Throughput (Fraction of Channel Capacity)

ps 50%

ps 95%

ps 99%

ps 99.9%

Figure 4.8: Expected throughput fraction with k = 100.

is 12360. If the round trip channel feedback delay is less than the time to transmit all the packets, the expected throughput will improve. Also note in Figure 4.8 the pe = 50%

line is optimistically expecting more throughput than capacity. This is an artifact in using discrete packets and rounding up.

The last effect investigated is changing k the threshold number of coded packets. In a practical system, this would be a trade for changing the number of bits per coded packet if the size of the network packets remained the same. In Figures 4.9 and 4.10 the expected throughput changes with k, the rateless threshold value. As k increases, the expected throughput improves. This effect increases with larger values of pe. Note that when pe is

large and k is small, there are sawtooth ripples in the expected throughput. This is, again, due to quantization.

4.5.5 Throughput Feedback Bound

In the above sections, feedback was unused and did not modify the outcomes. Utilised, feedback decreases the number of unacknowledged packets and increases the achieved through-put in a rateless system. In Chapter 3, feedback reduced the effective number of codeword

(53)

40

101 102 103 104

Rateless Threshold Value 0.5 0.6 0.7 0.8 0.9 1.0

Expected Throughput (Fraction of Channel Capacity)

ps 50%

ps 95%

ps 99%

ps 99.9%

Figure 4.9: Expected throughput fraction with pe = 0.9.

101 102 103 104

Rateless Threshold Value 0.70 0.75 0.80 0.85 0.90 0.95 1.00 1.05

Expected Throughput (Fraction of Channel Capacity)

ps 50%

ps 95%

ps 99%

ps 99.9%

(54)

packets outstanding kout to the feedback delay time of D. This means if D < kout, the

frac-tion of the packets kout− D achieves throughput equal to channel capacity. The affected

region is 1/D > (1 − pe). In this region, the expected number of packets to be transmitted

kout > D for all values of k. At maximum, D − 1 packets will be wasted and negatively

impact throughput. The impact of this is incorporated into the simulations in Chapter 6.

4.6 Latency with Relays

Latency was initially visited in Chapter 3. Relays offer two primary ways at decreasing latency. First, if frames are erased in transit, a relay can request re-transmission earlier than the receiver. This chapter investigated the number of packets needed to decode. In many systems with relays, the requests for transmission have to wait because the transport or application layer is handling the ARQ. These layers are not implemented at a relay. The second way a relay can reduce latency is by providing messages to send from memory or creating codewords to transmit. This sends frames to the receiver without requesting from the source. Both ways will be investigated through simulation in Chapter 5.

The act of buffering increases the throughput of the system by using memory to store packets for possible re-transmission. BUffers allow a selective repeat system to achieve capacity, but the memory required would be unbounded. Unbounded memory use can introduce unbounded delay and is also why most systems perform buffer control. This scenario will be investigated in a simulation in Chapter 6.

4.7 Conclusion

In this chapter, a method for estimating the number of packets needed for rateless codes was described. Tradeoffs in capacity for feedback were identified. This is a building block for the simulations in Chapter 6. The next chapter is a deeper look into LT decoding, where the tradeoffs affect latency.

(55)

CHAPTER 5

LT LATENCY WITH RELAYS

This chapter explores the latency of LT codes.

5.1 Motivation

Until this chapter, rateless codes were assumed to have ideal decoding performance. This assumption has been convenient for the analysis so far, but the actual performance will now be investigated. With real rateless decoders, the receiver will need more then k number of codeword packets to recover the original message.

5.2 Previous Work

Ample research abounds regarding the performance of LT encoders and decoders. This chapter will use the standard LT decoders first described by Luby in [32]. The key advantage with LT decoders over a conventional erasure Bose–Chaudhuri–Hocquenghem (BCH) code is that LT codes have constant performance over all erasure values. LT codes are a type of linear code, and like all linear codes, decoding performance is a function of the encoder’s degree distribution. Many degree distributions for LT codes exist. The simulations in the next sections incorporate the best known performing encoder distribution.

Another example [13] is Raptor codes built from LT codes and LDPC codes. Refer-ence [29] used Raptor codes directly on a fading channel with a relay in parallel. Delays were not considered. These systems have considerable complexity, including soft decision

(56)

decoding of Raptor codes. With Raptor codes in [13], an improved encoder and decoder can lead to better performance. The basic theory of concatenated LT codes are well understood but, practical implementations of Raptor-like codes are patent encumbered.

Reference [14] shows improvement to the LT decoding algorithm to improve recovery using the Wiedemann algorithm when the number of symbols is small k < 10. Although the LT BP decoder is a sub-optimal decoder, it is a simple one. The more complex decoders have better performance. In this dissertation, k = 100 has been chosen, as this is a middle ground and would not benefit much from these improvements.

Reference [21] shows that the LT degree distribution can be optimized, and this improves the efficiency of the code. Using their optimization, the authors found an optimized distribution with better properties than the soliton and robust soliton distributions. This distribution is the optimized distribution used later this chapter.

Another reference [18] looked at LT codes with feedback, naming them shifted LT codes. The basic idea is that using feedback, the encoder removes decoded symbols the re-ceiver has already decoded. That knowledge changes the encoding distribution for improved performance. In addition, symbols that are decoded are not resent, improving throughput. The authors also consider feedback congestion in their work. This feedback strategy is incorporated in the simulations of Chapter 6.

Another reference [35] analyzed collective rateless decoding for many receivers in par-allel. The authors showed the contrasts between multiple strategies without using network coding.

5.3 Adding Distributions

In Chapter 4, the base number of packets needed k was fixed and based on CSI, the number of outstanding packets to send and a certainty factor ps. This allowed the

calculation of the number of packets to have outstanding to avoid extra packet requests. This chapter shows the distribution of K necessary to decode. The two distributions are

(57)

44 0 20 40 60 80 100 120 140 Latency 0 20 40 60 80 100 120 140 Number of Packets Decoded Packets Pending Packets

Figure 5.1: Robust soliton distribution decode example.

added together. The new mean and variance for K negatively effects latency for all packets. With the decoding distribution and the channel erasures being independent, the central limit theorem applies, and the variances add. For the best performance, the variances and mean should be as low as possible. The next sections address options for this.

5.4 LT Latency

The first degree distribution to be simulated is the robust soliton distribution de-scribed in [32]. The simulation runs for 5000 trials of received messages. Having no era-sures or delays yields the PMF of latency equivalent to the number of packets K, needed to decode.

Figure 5.1 is a decoding progress example using the robust soliton distribution. The number of packets buffered for decoding builds until there is a solitary wave, a soliton, of decoded packets. The number of decoded packets is k, which is equal to the number of source symbols.

In Figure 5.2 the latency found in each simulation run is plotted in a PMF. The resultant distribution is a curve fitted using the Johnson SU distribution. The fitting results

(58)

100 120 140 160 180 200 220 240 Latency 0.000 0.005 0.010 0.015 0.020 0.025 0.030 Occurrence Johnson SU fit Simulation

(59)

46 0 20 40 60 80 100 Latency 0 20 40 60 80 100 Number of Packets Decoded Packets Pending Packets

Figure 5.3: Optimized distribution decode example.

are summarized in Table 5.1. When Luby first proposed LT codes in [32], he did not prove the soliton and robust soliton distributions to be optimal. Later research discovered ways of optimizing the degree distribution. Using an optimized degree distribution found in [21], the simulation can improve the latency performance relative to the robust soliton distribution. The decoding example using the optimized distribution in Figure 5.3 shows decoded packets growing in smaller waves than the robust soliton distribution. Figure 5.4 shows that the optimized distribution yields better performance with a lower mean and variance, as summarised in Table 5.1. With the optimized encoder, the next step is to investigate the latency performance with relays and feedback delays.

5.5 Latency with Relays

The number of relays influences the final decoding time. One strategy for a relay network is to wait until a message is fully decoded at a relay before sending it to the next relay. The final message latency would be large with this strategy. The faster strategy is to re-transmit every received packet and decode at the same time. The next sections explore this strategy for improving latency.

(60)

100 110 120 130 140 150 160 Latency 0.00 0.01 0.02 0.03 0.04 0.05 0.06 Occurrence Johnson SU fit Simulation

Figure 5.4: Optimized distribution latency fit with 5000 simulation trials.

Method σ2 σ mean skew kurt true 95% est 95%

robust soliton 544.51 23.33 141.90 3.06 21.37 188 180.28 optimized 90.20 9.50 123.65 1.21 3.14 140 139.28

Table 5.1: LT latency performance distribution between robust soliton and optimized. Re-sults were fit to the Johnson SU distribution.

(61)

48

5.6 Strategies for Improving Latency

Recall from Chapter 4 that the sequence diagrams showing throughput improve when the rateless encoder predict when it needs to stop transmitting packets in order to prevent redundant packets from being sent. Expanding the sequence diagram, from Figure 5.5 there is another opportunity to improve latency performance. For the relay node, in the green region, there are instances when the relay has no packets to send. This can occur if more frames are being erased on the receiving link than the sending link. In addition, as demonstrated in Chapter 4, each relay has its own capacity to the receiver.

5.7 LT Latency with relays

Recall from Chapter 4 that relays add additional throughput to a system. There are four strategies for improving latency using the extra available relay throughput. Option zero is the control, or the do-nothing option. Note that these strategies are used when a relay does not have a packet to relay and is in the green region from Figure 5.5.

(0) Transmit nothing or packets for a different message.

(1) Re-transmit a random previously received packet.

(2) Form a packet of degree d from distribution ρ(d) from decoded (degree 1) packets.

(3) Pick a packet of degree d from distribution ρ(d) from buffered packets.

(4) Hybrid of strategies two and three. Form a packet of degree d from distribution ρ(d) from both decoded and buffered packets.

A simulation was programmed to perform the above strategies with a rateless relay setup. Strategies two and three performed worse than random re-transmission. The output of the simulation is a latency distribution. The first of the results used pe = 0.5 on both

(62)
(63)

50 250 275 300 325 350 375 400 425 450 Latency 0.000 0.002 0.004 0.006 0.008 0.010 0.012 0.014 0.016 Occurrence Johnson SU fit Simulation

Figure 5.6: Relay strategy one with pe = 0.5.

250 275 300 325 350 375 400 425 450 Latency 0.000 0.002 0.004 0.006 0.008 0.010 0.012 0.014 0.016 Occurrence Johnson SU fit Simulation

(64)

Strategy σ2 σ mean skew kurt true 95% est 95% true 99% est 99%

(0) 3015.22 54.91 496.88 0.61 0.98 595 587.20 648 624.62

(1) 799.20 28.27 330.83 0.62 1.18 380 377.33 411 396.60

(4) 804.30 28.36 321.99 0.63 1.10 371 368.64 402 387.96

Table 5.2: LT latency performance relay simulation. pe= 0.5 for both links. Results were

fit to the Johnson SU distribution.

links, the source to relay and relay to sink. In addition, there was no channel delay and the optimized distribution ρ(d) was used. The strategies were run in parallel and compared.

The results are shown in the PMFs in Figure 5.6 and Figure 5.7. Note that the latency distribution has a larger variance compared with the results in the earlier section. The spread is the result of the erasures. The channel capacity of both links used in serial would be a function of the combined erasure probability, pe = 0.25. With a message of

k = 100, the expected number of packet transmissions is 400. Using the relay’s extra throughput, effective pe = 0.50, an expected 200 packet transmissions could be achieved.

Note the optimized distribution has a mean of K = 123.57. The results of 5000 rounds of simulation were fitted to the Johnson SU distribution, with parameters listed in Table 5.2.

With pe = 0.50, strategy four is slightly better than method one. Table 5.3 has extended

results with strategy four having a consistently better mean than the other strategies. The amount of latency improvement compared with the throughput loss is a tradeoff for a communication system designer. Referring back to Figure 5.5, these strategies are attempting to shorten the green mode of the receiver by having more packets to send in the green mode of the relay.

5.8 Outcomes

This chapter attempted to find ways to use a relay’s throughput to reduce latency. The strategies found are incorporated into the simulations in Chapter 6. In Chapter 6, simulations using multiple relays in serial will be discussed in order to understand rateless system performance.

(65)

52

pe Strategy σ2 σ mean true 95% est 95%

0.00 (0) 97.39 9.87 123.80 143 140.03 0.00 (1) 97.39 9.87 123.80 143 140.03 0.00 (4) 97.39 9.87 123.80 143 140.03 0.10 (0) 346.91 18.63 138.25 135 168.89 0.10 (1) 292.06 17.09 136.79 134 164.90 0.10 (4) 280.48 16.75 136.28 134 163.83 0.20 (0) 1020.62 31.95 156.75 135 209.30 0.20 (1) 703.38 26.52 151.49 134 195.12 0.20 (4) 642.94 25.36 150.17 134 191.88 0.30 (0) 2642.20 51.40 180.63 135 265.18 0.30 (1) 1435.29 37.89 168.07 134 230.39 0.30 (4) 1314.51 36.26 165.99 134 225.62 0.40 (0) 6755.52 82.19 213.62 135 348.81 0.40 (1) 2781.41 52.74 187.67 134 274.42 0.40 (4) 2515.53 50.16 184.47 134 266.97 0.50 (0) 17365.30 131.78 260.96 135 477.71 0.50 (1) 5355.58 73.18 211.80 134 332.17 0.50 (4) 4873.19 69.81 207.55 134 322.38 0.60 (0) 7065.76 84.06 766.61 913 904.87 0.60 (1) 1361.36 36.90 428.21 495 488.90 0.60 (4) 1702.67 41.26 415.44 482 483.31 0.70 (0) 115755.04 340.23 1079.22 913 1638.85 0.70 (1) 7696.08 87.73 504.81 484 649.11 0.70 (4) 7192.36 84.81 488.46 476 627.96 0.80 (0) 1011050.22 1005.51 1747.67 913 3401.59 0.80 (1) 39043.68 197.59 631.78 484 956.80 0.80 (4) 39837.67 199.59 615.92 476 944.22 0.90 (0) 767571.51 876.11 11745.80 12962 13186.88 0.90 (1) 13295.39 115.31 1856.50 2011 2046.16 0.90 (4) 41905.88 204.71 1805.10 2289 2141.82

References

Related documents

To implement high quality packet based networks, used in for example 5G radio networks, there is a need to be able to measure packet latency.

Number of any storage node to retrieve an original file ( k ) 2 Amount of fragment using to store in each storage node ( ∝ =M/k ) 2 Number of surviving storage node to repair a

Variations and extensions of the lossless coding problem have been considered by Ahlswede and Körner [23], who examine a similar setup case in which the decoder is only interested in

Chapter 5 presents a plugin for extending OpenStack Swift to support using a custom erasure coding scheme, and applying it in a backup storage system using Duplicity.. The design

Therefore, the site manager in sensor host has all functions as site manager in original Sensei-UU testbed, including receiving messages from Vclients and communicating with

Figure 5-8 shows that with 2 % symmetric Poisson distributed packet drops, all three protocols never suffer more than 0.0008 % loss rate. SRT performed the best with three iterations

When real-time applications retrieve data produced by multi-hop sensor networks, end-to-end delay and packet error rate are typical network state variables to take into account

Experiment 1 Mean Delay [ms].. Experiment 2 Mean