of our research focuses on delay sensitive applications.
2.2
Practical Issues in Implementation of Network Coding
In many of the fundamental studies discussed above, it is well researched that NC can utilize the available bandwidth efficiently for transmission of messages. Let us define the throughput for a user as the ratio of the number of messages to the number of transmissions required to deliver all the messages. Then it is well known that NC can improve the average throughput in a network.
However, this theoretical throughput gain of NC comes with some implementation chal- lenges and practical considerations [13, 79, 81], based on the selected field size and generation size and also use of feedback that we now discuss.
The first important issue is concerned with the selected field size q, which can affect the complexity of NC operations as well as the performance of NC. Considering the RLNC method discussed previously, the multicast capacity can be asymptotically achieved only if the selected field sizeqis sufficiently large [3]. However, the field size cannot be selected arbitrarily large as it leads to complex encoding and decoding operations. Hence, a trade-off between the complexity of operations and the performance of NC, which is caused by the choice of q, should be considered in practice.
Another important issue is concerned with the selected generation size, which is the num- ber of messages encoded together. The generation size, similar to the field size, affects both the complexity of operations and the performance of NC [82]. Considering linear NC, the decod- ing at each node requires solving a set of linear equations, which is commonly done through using Gaussian elimination [13]. If we consider that the generation size isM, the complexity of decoding using Gaussian elimination is O(M3). Therefore, while choosing large genera- tion sizes could be beneficial in improving the throughput performance of NC [79], it may not be feasible in practice due to the increased decoding complexity.
The selected generation size, in addition to affecting the complexity of decoding operations and the throughput performance of NC, also affects thedelayperformance of NC as we now explain. Assuming RLNC with the generation size ofM, the receiving nodes require to receive at leastM encoded messages before being able to perform the decoding2. Therefore, ifM is chosen large to increase the throughput gain of NC, it can cause a large delay in delivering the
2
14 Background and Related Work
messages to the nodes. In [10], this is explained as the possibility of having good throughput by delivering one truck with large storage once a year, which is not always desirable. Let us further explain this through the following example.
Example 2.2. Consider a simple system consisting of a sender and a receiver. We assume the generation size is M and the sender is supposed to deliver theseM packets by transmitting Ns = αM RLNC coded packets. As will be explained in Chapter 4 (in particular via (4.1) and (4.5)), an upper-bound for the probability of decoding all the packets in a generation, which is also reflective of mean throughput, can be obtained as
η= Ns ∑ m=M (Ns m)(1−Pe) mPNs−m e (2.1)
where Pe is packet erasure probability for the channel between the sender and the receiver. Considering different values for M andα, the graphs in Fig. 2.2 are obtained. Suppose the sender wants to transmit a block of 40 packets to the receiver. In the first scenario, let us assume α = 1.1, which means the sender can transmit 44 RLNC packets in total. From the results in Fig. 2.2, it can be observed that choosing the generation size asM = 10results in the highest mean throughput. Hence, the sender transmits 11 RLNC packets for each batch of 10 packets. In another scenario, if we assume α = 1.2, it can be observed that choosing the generation size as M = 40 gives the highest mean throughput. However, in this case the receiver has to wait at least 40 time slots, before it can decode anything. As this may not be desirable in some applications, the sender may alleviate this large delay by choosing smaller generation sizes, e.g. transmitting 12 RLNC packets for each batch of 10 packets, but at the expense of degradation in mean throughput. This is known as the trade-off between the throughput and delay performances of RLNC, caused by the generation size.
We note that delay in the context of NC has various notions and definitions [83] and their discussion falls beyond the scope of this thesis. Here we mostly focus on one notion of delay which is the completion time of a generation as we shall explain in the next subsection.
Apart from the trade-offs among the throughput performance, the delay performance and the complexity of NC, which are caused by the field size and the generation size, use of feed- back in NC can also be challenging in practice. As discussed previously, NC methods can in general be categorized into two groups based on whether feedback is used for code construc- tion or not. While using feedback is essential for the feedback-based NC as it allows nodes to
§2.2 Practical Issues in Implementation of Network Coding 15 1 1.1 1.2 1.3 1.4 1.5 0 0.2 0.4 0.6 0.8 1 α η M = 10 M = 20 M = 40
Figure 2.2: The probability of decoding all theM packets in a generation, whenNs = αM RLNC packets are transmitted. Packet erasure probability is assumed asPe=0.1.
encode messages intelligently, even some of the so-called “no-feedback” schemes cannot to- tally go without feedback. For example, in rateless RLNC, receivers need to inform the sender once the decoding of messages from current generation is finished. However, using feedback requires utilization of some of the available bandwidth, which can impact the NC throughput negatively and can also cause delay, specially if the round trip time of the channel is large and/or if the channel is not full duplex. Furthermore, it can lead to increased complexity of intelligent encoding at the sender for the feedback-based NC types.
To address these issues, different NC methods have been proposed over the past decade that have tried to investigate a subset of these issues under different system models. For instance, the XOR-based NC, which was initiated with the COPE architecture [46] and is also used in online NC [47–50] and instantly decodable NC [51–55], in fact tries to reduce the complexity of operations by using NC overF2. Another example is the use of systematicNC (e.g., [11,
30, 47]), where messages are transmitted uncoded (in their original format) once initially, and then coded packets are transmitted in succession. This systematic variation of NC has shown to reduce the decoding complexity and improve the performance of NC. In the rest of this chapter, we discuss some of the important studies, most relevant to our research in this thesis.
16 Background and Related Work