European Wireless 2016
On the Impact of Zero-padding in Network Coding Efficiency with Internet Traffic and Video Traces Maroua Taghouti∗‡ , Daniel E. Lucani† , Morten V. Pedersen† and Ammar Bouallegue‡ ‡ Communications
∗ Tunisia Polytechnic School, University of Carthage, Tunisia † Department of Electronic Systems, Aalborg University, Denmark
Systems Laboratory, National Engineering School of Tunis, University of Tunis El Manar, Tunisia Email:
[email protected], {del , mvp}@es.aau.dk,
[email protected]
Abstract—Random Linear Network Coding (RLNC) theoretical results typically assume that packets have equal sizes while in reality, data traffic presents a random packet size distribution. Conventional wisdom considers zero-padding of original packets as a viable alternative, but its effect can reduce the efficiency of RLNC or other erasure coding techniques. Our goal is to characterize the overhead generated by this zero-padding under real-traffic traces. These include TCP and UDP traces from traffic at core routers from CAIDA and a collection of video traces for different codecs and video resolution compiled by Arizona State University. Our numerical results show the dependence of the zero-padding overhead with the number of packets combined in a generation using RLNC. Surprisingly, medium and large TCP generations are strongly affected with more than 100% of padding overhead. Although all video traces are affected, our results show that higher resolution video has a lower overhead, due in part to the fact that most of the transmitted data packets are of the maximum size of packet in the network.
reasonable, the practical implications can be significant as shown in the work of Pol et al. [5]. The goal of this paper is to investigate the packets size distributions as well as extensively studying the padding overhead that arises when performing generation-based RLNC, narrowing our research to the common and most used transport protocols, namely TCP and UDP, and a variety of video codecs used in a multitude of applications, from the recent 4K video standard to low quality Scalable Video Coding (SVC) standard. Our statistical results show that not only the average overhead can exceed 50% or more in TCP and UDP traffic in the core network, but that the use of large enough generations of packets result in 100% and 200% or more overhead in TCP and UDP traffic, respectively. Thus, we show that the conventional wisdom of using zero-padding as a reasonable practical approach in network coding is not correct under a wide variety of cases. Developing new strategies that intelligently reduce or remove this zero-padding overhead is a must. The remainder is organized as follows. Section II presents the motivation behind this paper as well as the state-of-theart schemes that treat the padding overhead issue. Section III gives an overview of generation based RLNC and the overhead. Section IV presents the numerical results using IP packets from the Center for Applied Internet Data Analysis (CAIDA) [6] and a variety of video traces from Arizona State University Library [7]. Section V provides a discussion about the padding overhead statistical results. The conclusion and future work are cited in Section VI.
I. I NTRODUCTION Cisco Visual Networking Index (VNI) predictions [1] state that by 2019, the Global Internet traffic will be equal to 64 times the volume back in 2005. This requires current and future networks to incorporate novel technologies that can increase network efficiency. One such technique is network coding [2], a disruptive technology for managing data and communication networks, which has been identified as one of the fundamental technologies for 5G networks [3]. Network coding achieves this increased efficiency by proposing a new paradigm: storecompute-and-forward, where the nodes are allowed to process and combine the packets before their transmission to other nodes in the network. Random Linear Network Coding (RLNC) [4] provides a practical and distributed technique to bring about the benefits of network coding. In most implementations, RLNC encoding, recoding and decoding is performed on a set of original packets, called a generation. A coded packet is a linear combination of packets from the generation over a finite field, where the coefficients used for the combination are drawn uniformly at random from elements of the field. RLNC existing approaches assume that original data packets have the same size for ease of theoretical studies. In practise, RLNC approaches rely on zero-padding of shorter data packets to manage differences in packet sizes from the data stream. Although this idea sounds
ISBN 978-3-8007-4221-9
II. M OTIVATION AND RELATED WORK A common assumption in network coding theory is that data packets are of equal size. This is a best case scenario, that allows to isolate the benefits of coding and policies that use it without considering the effect of individual data streams. This section shows the variety of real life packets through CAIDA data and video frame traces. Moreover, already existing solutions to encounter packets heterogeneity are cited. A. Packet Size Distribution a) CAIDA Internet Packets: CAIDA sets anonymized passive traces with real life Internet packets that we consider
72
© VDE VERLAG GMBH, Berlin, Offenbach, Germany
European Wireless 2016
(a) CAIDA IP packets
(b) Videos
Fig. 1: CDF of the traces used for this paper.
To do so, we selected a collection of 5 full video traces from Arizona State University available video library [8], with different encoding/decoding standards [9] and resolutions, detailed in TABLE I.
in our study for this paper. It is known that most Internet traffic is transported via the TCP protocol. But with the adoption of UDP as a transport protocol for new P2P protocols and new streaming applications, it is crucial to study both types of IP traffic. Fig. 1a illustrates the CDF for TCP and UDP protocols using a random CAIDA trace, which contains around 70 × 105 packets, dominated by 77.66% of TCP packets and 21.58% of UDP packets. It shows that the packet size distributions for TCP and UDP are bimodal, with 2 strong modes around 40B and 1500B, but with different proportions for each protocol. According to the TCP distribution, forming a generation is expected to contain packets of sizes 1400B and 1500B with a probability close to 0.65, alongside with random small packets. As for the UDP distribution, the generations are expected to have more small packets with a probability close to 0.5.
Label 4k FHD FHD1 HD CIF
Resolution 4096 × 1744 1920 × 816 1920 × 816 1920 × 1080 352 × 288
Frames 17592 17592 17592 86268 289040
Packets 163921 45388 91551 336345 336345
TABLE I: Detailed description about the video traces collection from Arizona State University online library [8] (with 30 FPS for CIF and 24 FPS for the remaining). Packets refer to the number of packets obtained after frames fragmentation.
b) Video Frames: Mobile video traffic has phenomenally grown. As a result, nearly a million minutes of video content will cross the network every second by 2019, according to the Cisco VNI [1]. Additionally,we have witnessed the increase of video uploads and downloads in visual websites such as Youtube, billions of video calling applications downloads, e.g., Skype and Viber over the Internet. Consumers demands for higher quality and performance of video systems have kept increasing and Cisco VNI predictions state that consumer Internet video traffic will grow to 80% of all consumer Internet traffic in 2019, which was 64% in 2014. Overall, all forms of video including TV, Internet, video on demand and P2P, will be around 90% of the global consumer traffic by 2019. In general, there are two types of video models, which are video conference and full motion video. We are more or less interested in the full motion video types because they display a wide range of scenes with varying activity levels, including background and foreground with scene changes such as in sports broadcast, video surveillance and movies. The overall fluctuation of activities produces a set of Variable Bitrate (VBR) sequences. The varying degree of movement generates frames with different sizes. Therefore, it is interesting to study video data size distributions and their impact on the RLNC padding overhead.
ISBN 978-3-8007-4221-9
Standard H.265 VP9 H.264 SVC SVC
Despite the fact that Ethernet MTU is 1500 bytes, video frames can grow up to more than 10 Kbytes. In order to ensure their transmission, they should be fragmented and packetized according to the MTU. Therefore, an entire frame of high definition video may require 100 IP packets to carry all of the elementary stream packets. Fig. 1b illustrates that video traces have quite different packet size distributions, but have a common strong mode of sizes 1500 bytes, which is predicted since it is the predefined MTU. In addition, videos with higher resolutions, i.e that have larger frames, such as the 4k video trace, tend to have a larger probability of being fragmented into packets of the MTU size. B. Padding Overhead Existing Solutions Practical linear coding schemes add trailing zeros to pad the smallest packets to the size of the largest ones before forming a generation. As far as we are aware, there are only 2 different state-of-the-art approaches that did not resort to the zero-padding technique and considered this solution as a serious problem. The ”Chain and Fragmentation” solution presented in [5] relies on chaining the input packets, forming a bulk data to be fragmented according to a specific parameter
73
© VDE VERLAG GMBH, Berlin, Offenbach, Germany
European Wireless 2016
size. In spite of the drastic zero-padding overhead reduction compared to other schemes, such practise is not desired as it introduces signaling issues and overhead. The idea behind the ”Progressive shortening scheme” [10], is to send coded packets that have exactly the same sizes as the input packets using macro-symbols, which are subsets of the packets, in order to reduce the percentage of padding overhead carried within every coded packet. By nature of this scheme, output macro-symbols’ degree distribution is sorted in a descending fashion, i.e. the first coded macro-symbols of each output packet contain more combined macro-symbols than the last ones. Hence, after receiving a certain number of transmissions, the encoding of the last input macro-symbols can be omitted, because the probability of being decoded ,thanks to the previously sent output packets, is close to one. In such a manner, the receiver will obtain progressively shorter coded packets before the total recovery of data.
/HQJWKRIWKHODUJHVWSDFNHWWR HQFRGH
1XPEHURISDFNHWV
/
3 /
3¶ /
Fig. 2: An example of a generation of 3 packets having initial sizes respectively L/2, L and L/2. Coding with the largest packet in the generation will result in transmitting at least an OG (represented by the black rectangle) that corresponds to 50% of the original data to transmit. In this case we are implicitly sending 1 extra packet.
A. Overhead Linear coding for forward erasure correction (FEC) come at the cost of creating different kinds of overhead that is dependent of the coding approach. In general, there are three sources of overhead, namely the coding coefficients or signaling overhead, linear dependency overhead and padding overhead. The first refers to the size of the encoding vector, which is constituted by the number of coding coefficients. The second depends on the finite field size, when linearly dependent packets are generated, it represents the extra transmissions. The third is created due to the fact that the linear combinations can only be created using entities of the same size. The former 2 types of overhead were covered in lots of studies, and since they are highly controlled by the field size, an appropriate finite field size choice is sufficient to minimize them. Besides, they can be predicted and estimated in advance. However, when it comes to the padding overhead, regardless of the original sizes, the coded packet sizes will correspond to the size of the largest packet of the generation, i.e the amount of the padding overhead will be defined and controlled by the maximum size and will mostly depend on the packets sizes. We calculate the minimum zero-padding overhead carried within every generation regardless of the scheme as follows: −1 N N min{OG } = (Lmax − Li ) × Li , (1)
III. G ENERATION BASED RLNC In order to reduce the complexity that the technique of network coding brought, Chou et al. introduced a practical solution to handle it [11], which consists of performing network coding on sets of packets called generations. The size of these generations depends highly on the type of application, e.g. video streaming and files transmission. Accordingly, employing generation based network coding should not bring delays, overhead and extra computational complexity [12] [13]. We consider the case of a unicast transmission of data packets using generation based RLNC, characterized by Nmax , which is the maximum number of packets allowed to be combined. The generations to transmit are formed by a set of N packets P1 , P2 , ..., PN of sizes L1 , L2 , ..., LN respectively (in bytes for simplicity), N ≤ Nmax , where N is defined by the number of packets in a unidirectional flow. If the flow is larger than Nmax , another generation will be produced. During the encoding process, the sender fills the packets that have smaller sizes than the largest ones inside the generation with trailing zero symbols, called zero-padding overhead, in order to be able to perform RLNC on packet units (see Fig. 2). Coded packets are then generated using random linear combinations of these full size packets obtained by choosing random finite field coefficients. The difference when using generation based RLNC is that the sender usually decides to form the generation after acquiring a prior knowledge of the packets that will be used for generating the coded packets. As a matter of fact, in most cases packets to combine are already in the sender’s buffer, i.e. their sizes are known. Hence the problem of unknown traffic size can be overcome especially if the node dynamically adapts to this size variation. Providing network coded generations with least or no padding overhead can be achieved without traffic size/distribution identification.
ISBN 978-3-8007-4221-9
3¶
i=1
i=1
where Lmax represents the size of the largest packet in the generation, and Li is the size of Pi inside one generation.
IV. N UMERICAL R ESULTS In Section III, we showed that packet sizes follow random distributions and proved that performing generation based RLNC on real life packets comes at the cost of creating padding overhead. To further look into it, in this section we investigate its minimal magnitude using the same aforementioned traces in terms of the generation size.
74
© VDE VERLAG GMBH, Berlin, Offenbach, Germany
European Wireless 2016
)RUHYHU\ELWRI UHDOGDWDPRUH WKDQDQH[WUDELWRI SDGGLQJLVDGGHG
(a) mean
(b) std
Fig. 3: Mean and standard deviation percentage of minimum zero-padding overhead carried for different generation sizes for a set of traces.
size distribution. For small generation sizes in Fig. 5a related to TCP, such for Nmax = 5 and Nmax = 10, we notice an overhead dominated by an extremely random outlier that surpasses 100% of the original packets inside a generation. For higher TCP generation sizes, it can be seen that the percentage of minimum padding overhead rises sharply and surprisingly exceeds the amount of input data to reach a third quartile close to 140% for Nmax = 200. As for the UDP generations, Fig. 5b shows that the more the generations grow in size, the more the padding overhead rises. Nevertheless, a less significant minimal overhead percentage compared to the TCP is observed. For example, the third quartile for large generations never surpasses 70%, and the median is around 20%. Overall, due to the mingled minimum and the 1st quartile in 0%, we cannot conclude about the number of generations that are not susceptible of carrying padding overhead. Consequently, Fig. 4 comes to complement it, and it illustrates the percentage of generations that contain heterogeneous packet sizes function of the maximal generation size. The reason behind this extremely huge padding overhead compared to the original packets is due to the fact that Fig 1a shows as previously explained that around 70% of the TCP distribution is constituted with very large packets (between 1400 and 1500 bytes), whilst the remaining sizes are comparatively smaller. As a result, larger generations have a significantly higher probability of containing packets with extreme sizes. Besides, Fig. 4 also reveals that the overhead presence rises drastically for larger Nmax , e.g. around 85% for Nmax = 200, which explains also the overhead behaviour. Furthermore, it is important to notice that Nmax = 200 encompasses all possible maximum generation sizes that are less or equal to 200, depending mainly on the unidirectional packets’ flow. Many statistical factors demonstrate TCP large generations’ potential of carrying excessively padding overhead. And from
Fig. 3 illustrates the mean and the standard deviation percentage of the zero-padding overhead carried inside a generation compared to the size of the original packets, function of the generation size. We observe that the generations of CIF trace comprise in average a huge min{OG } of size more than the double of the input data. Additionally, TCP generations contain in average half useful data and the other half is trailing data, with a huge std that can rise up to more than 150%. Although higher resolution traces tend to have small overhead compared to other types, around 10% of their generations is zero-padding overhead, for example, for N = 50 we send 5 useless packets. Moreover, Fig. 1b gives also an explanation to the results in Fig. 3. A. IP Packets
Fig. 4: Percentage of generations that have zero-padding overhead for a CAIDA packets trace. Fig. 5 depicts the minimum padding overhead as function of the generation size for the TCP and UDP traces that we consider in this paper. For an optimal and accurate statistical overview of min{OG }, we present the figures as box-plots for every packet
ISBN 978-3-8007-4221-9
75
© VDE VERLAG GMBH, Berlin, Offenbach, Germany
European Wireless 2016
(a) TCP
(b) UDP
Fig. 5: Percentage of minimum zero-padding overhead carried for different generation sizes of a CAIDA packet trace.
(a) VP9 FHD
(b) H.265 4k
Fig. 6: Percentage of minimum zero-padding overhead carried for different generation sizes of 2 video traces.
size is equal to the size of the largest packet in the generation, i.e out of 5 packets there is one useless packet. Also, for N = 200, among the 200 packets transmitted, 10 packets are padded zeros only. Fig. 7 shows the overall percentage of min{OG } of the set of video traces described in Section II, when processed in generations of size N = 100 each. It is not a surprise that videos with higher resolution qualities are the ones with the least overhead. The zero-padding overhead magnitudes are displayed in a sorted fashion similarly to Fig. 1 to show the influence of the CDF variation on the padding overhead. Although video frames are quite large and require a large number of full size packets to carry the frames content, the transmission of the entire video using generation based RLNC comes at the cost of an important amount of zero-padding overhead.
Internet traffic classification point of view, this is due to the fact that the TCP protocol supports a wider range of Internet applications. B. Video Frames Similarly to IP packets, Fig. 6 depicts the minimum padding overhead percentage compared to the size of the initial packets to transmit for a Full HD video trace from VP9 codec and a 4k video trace from H.265. The choice of displaying these traces statistics is due to the fact that so far they are the most known codecs to be adopted and supported by 5G devices. At first glance, we observe in Fig. 6a that the FHD generations comprise more overhead than 4k generations (see Fig. 6b), for the reason that we can easily notice the minimum and the outliers of the former ones. Additionally, Fig. 6a shows that the median of min{OG } percentage is around 20% for any generation size, which means that transmitting FHD videos encoded using VP9 codec in generation based RLNC systems will result in transmitting every generation alongside with 20% of their sizes as trailing symbols. For N = 5, there are implicitly only 4 packets that are useful. The padding overhead
ISBN 978-3-8007-4221-9
V. L ESSONS LEARNT Our results proved that the zero-padding overhead’s weight is of the same order as the data to transmit for most cases. Unlike the claim in [5] that the maximum IP packets overhead
76
© VDE VERLAG GMBH, Berlin, Offenbach, Germany
European Wireless 2016
carried within network coded generations. Assuming that packets have equal sizes can repress the tremendous features gained when using RLNC. Only a reduced number of works have considered this issue and presented some solutions to avoid having this kind of overhead that constitutes more than 50% of the UDP data transmitted. However, a more exhaustive analysis with large video traces and traffic types was missing in the literature. Our paper provided such an in-depth study to show the relevance of this problem in real systems. Future work should focus on policies and mechanisms that can either exploit this zero padding for reducing the overall number of transmissions (i.e., smarter decoders) or contracting it, and studying the eventual challenges. One important aspect that should be taken into account is the delay, especially in the case of video streaming or video-conference that demand a continuous data transmission. Providing encoding and decoding strategies to deal with the heterogeneity of data packets in network coded systems will be the focus of our future work.
Fig. 7: Percentage of minimum padding overhead for a collection of video traces for N = 100. can be as high as 100% of the initial data, we confirmed that it is much higher through our extensive statistical study. As a matter of fact, the authors in [5] did not consider to form the generations according to the flow of packets and the protocol used. Instead, they simply had recourse to encode generation samples with packets of sizes chosen uniformly at random from the CAIDA trace. Furthermore, their conclusion regarding video generations cannot be generalized, since they only considered a short sequence of 320 frames from the H.264 codec. Contrarily, our analysis is more accurate and consistent, because it was based on large traces with real flows and multiple video traces with different qualities. The differences with the analysis results obtained here and in [5] show that the zero-padding overhead is highly connected to the CDFs of packets, which is considered a a major issue. As a matter of fact, TCP traffic in average can have overhead equivalent to 75% of the total data transmitted, i.e., 3 out of 4 bits is overhead. Similar issues are found in other data traces. Additionally, although this type of overhead is usually cancelled at the receiver side due to the fact that the data should not expand and maintain its initial size, linear coding systems still put extra computational effort to process it at the sender and the receiver, without forgetting that it is uselessly transmitted across the channel. Such investment and practise is added to the overall energy consumption and it is a real handicap for the communication systems that intend to become more efficient and cope with the future 5G standard. Finally we note that providing numerical answers to all types of Internet traffic is not feasible [14] some of which were cited in previous sections. However, this work provided a more detailed study of core protocols and increasing popular traffic stream types to show the need for designing traffic-aware coding mechanisms that will not forfeit RLNC’s benefits due to zeropadding overhead. VI.
VII.
This work was financed in part by the TuneSCode project (No. DFF 1335-00125) granted by the Danish Council for Independent Research. R EFERENCES [1] “Cisco visual networking index: Forecast and methodology, 2014-2019 white paper.” [2] R. Ahlswede, N. Cai, S.-Y. R. Li, , and R. W. Yeung, “Network information flow,” IEEE Trans. on Info. Theory, vol. 46, no. 4, 2000. [3] J. Rodriguez, Fundamentals of 5G Mobile Networks. Wiley, 2015. [4] T. Ho, M. M´edard, R. Koetter, D. Karger, M. Effros, J. Shi, and B. Leong, “A Random Linear Network Coding Approach to Multicast,” IEEE Trans. on Info. Theory, vol. 52, no. 10, pp. 4413 –4430, Oct. 2006. [5] P. T. Compta, F. H. P. Fitzek, and D. E. Lucani, “Network coding is the 5g key enabling technology: effects and strategies to manage heterogeneous packet lengths,” Trans. Emerging Telecommunications Technologies, vol. 26, no. 1, pp. 46–55, 2015. [Online]. Available: http://dx.doi.org/10.1002/ett.2899 [6] CAIDA. Packet size distribution comparison between internet links in 1998 and 2008. [7] Arizona state university’s video traces library. [Online]. Available: http://trace.eas.asu.edu/tracemain.html [8] P. Seeling and M. Reisslein, “Video transport evaluation with h.264 video traces,” Communications Surveys Tutorials, IEEE, vol. 14, no. 4, pp. 1142–1165, Fourth 2012. [9] A. Pulipaka, P. Seeling, M. Reisslein, and L. J. Karam, “Traffic and statistical multiplexing characterization of 3-d video representation formats,” Broadcasting, IEEE Transactions on, vol. 59, no. 2, pp. 382–389, 2013. [10] M. Taghouti, D. E. Lucani, M. V. Pedersen, and A. Bouallgue, “Random linear network coding for streams with unequally sized packets: Overhead reduction without zero-padded schemes,” in 23rd International Conference on Telecommunications, (ICT), Thessaloniki, Greece, May 2016. [11] P. A. Chou, Y. Wu, and K. Jain, “Practical network coding,” 2003. [12] J. Heide, M. Pedersen, F. Fitzek, and M. M´edard, “On code parameters and coding vector representation for practical rlnc,” in Proc. of the IEEE International Conference on Communications (ICC’11), june 2011, pp. 1 –5. [13] Y. Li, E. Soljanin, and P. Spasojevic, “Effects of the generation size and overlap on throughput and complexity in randomized linear network coding,” Information Theory, IEEE Transactions on, vol. 57, no. 2, pp. 1111–1123, Feb 2011. [14] A. Callado, C. Kamienski, G. Szab´o, B. P. Ger¨o, J. Kelner, S. Fernandes, and D. Sadok, “A survey on internet traffic identification,” Communications Surveys & Tutorials, IEEE, vol. 11, no. 3, pp. 37–52, 2009.
CONCLUSIONS
Erasure correcting codes, including network coding are well placed to influence current and future network standards. In this paper we highlighted the problem of the padding overhead
ISBN 978-3-8007-4221-9
ACKNOWLEDGEMENT
77
© VDE VERLAG GMBH, Berlin, Offenbach, Germany