Efficient GF arithmetic for linear network coding using hardware SIMD extensions

A limiting factor for the performance of coded packet networks is the inherent arithmetic complexity of network coding. This is in particular true for high-throughput networks such as IEEE802.11n/ac, but also for lower throughput embedded and mobile systems as well as for alternate applications of network coding such as replication of data in distributed systems. While arithmetic complexity is normally not an issue when operating in GF(2), any higher order fields suffer a severe performance degradation. This paper presents hardware-efficient implementations for GF(2), GF(22), GF(24), and GF(28) using different levels of SIMD extensions offered by the ×86 and ARM processor architectures. The results are compared to scalar implementations without SIMD, showing an increase of up to factor 15 (×86) and 5 (ARM), respectively. The implementation of the finite field arithmetic called libmoepgf is published under GPLv2 at [1].

[1]  Colin Cooper,et al.  On the distribution of rank of a random matrix over a finite field , 2000, Random Struct. Algorithms.

[2]  Baochun Li,et al.  Pushing the Envelope: Extreme Network Coding on the GPU , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

[3]  Daniel Enrique Lucani,et al.  Lean and mean: network coding for commercial devices , 2013, IEEE Wireless Communications.

[4]  Parameswaran Ramanathan,et al.  Galois field hardware architectures for network coding , 2010, 2010 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[5]  Xiaowen Chu,et al.  Practical Random Linear Network Coding on GPUs , 2009, Networking.

[6]  Morten Videbæk Pedersen,et al.  Kodo: An Open and Research Oriented Network Coding Library , 2011, Networking Workshops.

[7]  Won Woo Ro,et al.  Accelerated Network Coding with Dynamic Stream Decomposition on Graphics Processing Unit , 2012, Comput. J..

[8]  K. Jain,et al.  Practical Network Coding , 2003 .

[9]  Ethan L. Miller,et al.  Screaming fast Galois field arithmetic using intel SIMD instructions , 2013, FAST.

[10]  Torben Larsen,et al.  Cautious view on network coding — From theory to practice , 2008, Journal of Communications and Networks.

[11]  Alfred Menezes,et al.  Guide to Elliptic Curve Cryptography , 2004, Springer Professional Computing.

[12]  Kai Feng,et al.  Speeding Up Galois Field Arithmetic on Intel MIC Architecture , 2013, NPC.

[13]  Rudolf Ahlswede,et al.  Network information flow , 2000, IEEE Trans. Inf. Theory.

[14]  Ethan L. Miller,et al.  Optimizing Galois Field Arithmetic for Diverse Processor Architectures and Applications , 2008, 2008 IEEE International Symposium on Modeling, Analysis and Simulation of Computers and Telecommunication Systems.

[15]  Janus Heide,et al.  Network coding over the 232−5 prime field , 2013, 2013 IEEE International Conference on Communications (ICC).

[16]  Xin Wang,et al.  Nuclei: GPU-Accelerated Many-Core Network Coding , 2009, IEEE INFOCOM 2009.

[17]  Frank H. P. Fitzek,et al.  Implementation of Random Linear Network Coding Using NVIDIA's CUDA Toolkit , 2009, GridNets.