Hardware Acceleration for RLNC: A Case Study Based on the Xtensa Processor with the Tensilica Instruction-Set Extension

Random linear network coding (RLNC) can greatly aid data transmission in lossy wireless networks. However, RLNC requires computationally complex matrix multiplications and inversions in finite fields (Galois fields). These computations are highly demanding for energy-constrained mobile devices. The presented case study evaluates hardware acceleration strategies for RLNC in the context of the Tensilica Xtensa LX5 processor with the tensilica instruction set extension (TIE). More specifically, we develop TIEs for multiply-accumulate (MAC) operations for accelerating matrix multiplications in Galois fields, single instruction multiple data (SIMD) instructions operating on consecutive memory locations, as well as the flexible-length instruction extension (FLIX). We evaluate the number of clock cycles required for RLNC encoding and decoding without and with the MAC, SIMD, and FLIX acceleration strategies. We also evaluate the RLNC encoding and decoding throughput and energy consumption for a range of RLNC generation and code word sizes. We find that for GF ( 2 8 ) and GF ( 2 16 ) RLNC encoding, the SIMD and FLIX acceleration strategies achieve speedups of approximately four hundred fold compared to a benchmark C code implementation without TIE. We also find that the unicore Xtensa LX5 with SIMD has seven to thirty times higher RLNC encoding and decoding throughput than the state-of-the-art ODROID XU3 system-on-a-chip (SoC) operating with a single core; the Xtensa LX5 with FLIX, in turn, increases the throughput by roughly 25% compared to utilizing only SIMD. Furthermore, the Xtensa LX5 with FLIX consumes roughly three orders of magnitude less energy than the ODROID XU3 SoC.

[1]  Omprakash Gnawali,et al.  CodeDrip: Improving data dissemination for wireless sensor networks with network coding , 2017, Ad Hoc Networks.

[2]  Chiraz Massoud,et al.  Design And Implementation of Low Area/Power Elliptic Curve Digital Signature Hardware Core , 2017 .

[3]  Daniel Enrique Lucani,et al.  Integrating Sparsity into Fulcrum Codes: Investigating Throughput, Complexity and Overhead , 2018, 2018 IEEE International Conference on Communications Workshops (ICC Workshops).

[4]  Christos Gkantsidis,et al.  Network coding for large scale content distribution , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[5]  Xiaojun Lin,et al.  Optimal immediately-decodable inter-session network coding (IDNC) schemes for two unicast sessions with hard deadline constraints , 2011, 2011 49th Annual Allerton Conference on Communication, Control, and Computing (Allerton).

[6]  Gabriel E. Arrobo,et al.  Minimizing energy consumption for cooperative network and diversity coded sensor networks , 2014, 2014 Wireless Telecommunications Symposium.

[7]  Enrico Magli,et al.  Band Codes for Energy-Efficient Network Coding With Application to P2P Mobile Streaming , 2014, IEEE Transactions on Multimedia.

[8]  Joon-Sang Park,et al.  Massive Parallelization for Random Linear Network Coding , 2015 .

[9]  Luis Alonso,et al.  A Cloud-Assisted Random Linear Network Coding Medium Access Control Protocol for Healthcare Applications , 2014, Sensors.

[10]  Song Guo,et al.  Segmented Network Coding for Stream-Like Applications in Delay Tolerant Networks , 2011, 2011 IEEE Global Telecommunications Conference - GLOBECOM 2011.

[11]  Yuhuai Peng,et al.  An Efficient Network Coding-Based Fault-Tolerant Mechanism in WBAN for Smart Healthcare Monitoring Systems , 2017 .

[12]  Jason Cong,et al.  Platform choices and design demands for IoT platforms: cost, power, and performance tradeoffs , 2016, IET Cyper-Phys. Syst.: Theory & Appl..

[13]  Dejan Vukobratovic,et al.  Random Linear Network Coding for 5G Mobile Video Delivery , 2018, Inf..

[14]  Morteza Esmaeili,et al.  Multicast Convolutional Network Codes via Local Encoding Kernels , 2017, IEEE Access.

[15]  Thierry Turletti,et al.  Low latency low loss streaming using in-network coding and caching , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.

[16]  Çetin Kaya Koç,et al.  Mastrovito Multiplier for General Irreducible Polynomials , 1999, IEEE Trans. Computers.

[17]  Kan Yu,et al.  Achieving reliable and efficient transmission by using network coding solution in industrial wireless sensor networks , 2016, 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE).

[18]  Peyman Pahlevani,et al.  On Optimal Policies for Network-Coded Cooperation: Theory and Implementation , 2015, IEEE Journal on Selected Areas in Communications.

[19]  Yasir Saleem,et al.  A survey on network coding: From traditional wireless networks to emerging cognitive radio networks , 2014, J. Netw. Comput. Appl..

[20]  Frank H. P. Fitzek,et al.  Caterpillar RLNC With Feedback (CRLNC-FB): Reducing Delay in Selective Repeat ARQ Through Coding , 2018, IEEE Access.

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

[22]  Seung Jun Baek,et al.  A Highly Parallelized Decoder for Random Network Coding leveraging GPGPU , 2014, Computer/law journal.

[23]  Daniel E. Lucani,et al.  On Goodput and Energy Measurements of Network Coding Schemes in the Raspberry Pi , 2016 .

[24]  Dongkyun Kim,et al.  CANCORE: Context-Aware Network COded REpetition for VANETs , 2017, IEEE Access.

[25]  Gerhard Fettweis,et al.  HW/SW-database-codesign for compressed bitmap index processing , 2016, 2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP).

[26]  Emina Soljanin,et al.  On the Delay-Storage Trade-Off in Content Download from Coded Distributed Storage Systems , 2013, IEEE Journal on Selected Areas in Communications.

[27]  Naixue Xiong,et al.  The Application of Social Characteristic and L1 Optimization in the Error Correction for Network Coding in Wireless Sensor Networks , 2018, Sensors.

[28]  Gerhard Fettweis,et al.  Tomahawk , 2014, ACM Trans. Embed. Comput. Syst..

[29]  Daniel E. Lucani,et al.  Easy as Pi: A Network Coding Raspberry Pi Testbed , 2016 .

[30]  Jörg Widmer,et al.  Informed network coding for minimum decoding delay , 2008, 2008 5th IEEE International Conference on Mobile Ad Hoc and Sensor Systems.

[31]  Lajos Hanzo,et al.  Joint Rate and Power Adaptation for Amplify-and-Forward Two-Way Relaying Relying on Analog Network Coding , 2016, IEEE Access.

[32]  Akashi Satoh,et al.  A Compact Rijndael Hardware Architecture with S-Box Optimization , 2001, ASIACRYPT.

[33]  Gerhard Fettweis,et al.  L2_ISA++: Instruction set architecture extensions for 4G and LTE-advanced MPSoCs , 2014, 2014 International Symposium on System-on-Chip (SoC).

[34]  Won Woo Ro,et al.  Benefits of using parallelized non-progressive network coding , 2013, J. Netw. Comput. Appl..

[35]  Frank H. P. Fitzek,et al.  Network Coding in Heterogeneous Multicore IoT Nodes With DAG Scheduling of Parallel Matrix Block Operations , 2017, IEEE Internet of Things Journal.

[36]  Bo Rong,et al.  Fountain Coded Cooperative Communications for LTE-A Connected Heterogeneous M2M Network , 2016, IEEE Access.

[37]  Zhu Han,et al.  Wireless Distributed Storage in Socially Enabled D2D Communications , 2016, IEEE Access.

[38]  Jaehoon Jeong,et al.  Distributed Systematic Network Coding for Reliable Content Uploading in Wireless Multimedia Sensor Networks , 2018, Sensors.

[39]  Parastoo Sadeghi,et al.  Enabling a Tradeoff between Completion Time and Decoding Delay in Instantly Decodable Network Coded Systems , 2014, IEEE Transactions on Communications.

[40]  Gerhard Fettweis,et al.  HASHI: An Application Specific Instruction Set Extension for Hashing , 2014, ADMS@VLDB.

[41]  Xiang Ji,et al.  ANCR—An Adaptive Network Coding Routing Scheme for WSNs with Different-Success-Rate Links , 2017 .

[42]  Frank H. P. Fitzek,et al.  PACE: Redundancy Engineering in RLNC for Low-Latency Communication , 2017, IEEE Access.

[43]  Anant Sahai,et al.  Network coding for high-reliability low-latency wireless control , 2016, 2016 IEEE Wireless Communications and Networking Conference.

[44]  Devavrat Shah,et al.  Feedback-Based Online Network Coding , 2009, IEEE Transactions on Information Theory.

[45]  Muriel Médard,et al.  Dynamic Rate Adaptation for Improved Throughput and Delay in Wireless Network Coded Broadcast , 2012, IEEE/ACM Transactions on Networking.

[46]  D. Lun,et al.  Methods for Efficient Network Coding , 2006 .

[47]  Anantha Chandrakasan,et al.  Energy-Aware Hardware Implementation of Network Coding , 2011, Networking Workshops.

[48]  Zhong Liu,et al.  An Efficient Vector Memory Unit for SIMD DSP , 2014 .

[49]  Shahrokh Valaee,et al.  An Adaptive Network Coded Retransmission Scheme for Single-Hop Wireless Multicast Broadcast Services , 2011, IEEE/ACM Transactions on Networking.

[50]  Beverly J. Gimmestad The Russian Peasant Multiplication Algorithm: A Generalization , 1991 .

[51]  Peyman Pahlevani,et al.  Novel concepts for device-to-device communication using network coding , 2014, IEEE Communications Magazine.

[52]  Baochun Li,et al.  Random Network Coding in Peer-to-Peer Networks: From Theory to Practice , 2011, Proceedings of the IEEE.

[53]  Christof Paar,et al.  Efficient Algorithms for Elliptic Curve Cryptosystems , 1997, CRYPTO.

[54]  Vahid Shah-Mansouri,et al.  Retransmission scheme for intra-session linear network coding in wireless networks , 2017, Int. J. Adv. Intell. Paradigms.

[55]  Hao Wang,et al.  A Novel Cross-Layer Routing Protocol Based on Network Coding for Underwater Sensor Networks , 2017, Sensors.

[56]  Ricardo E. Gonzalez,et al.  Xtensa: A Configurable and Extensible Processor , 2000, IEEE Micro.

[57]  Parastoo Sadeghi,et al.  From Instantly Decodable to Random Linear Network Coded Broadcast , 2013, IEEE Transactions on Communications.

[58]  Muriel Médard,et al.  Design of FEC for Low Delay in 5G , 2017, IEEE Journal on Selected Areas in Communications.

[59]  Jari Nurmi,et al.  Processor Design: System-On-Chip Computing for ASICs and FPGAs , 2007 .

[60]  Tracey Ho,et al.  A Random Linear Network Coding Approach to Multicast , 2006, IEEE Transactions on Information Theory.

[61]  Qing Chang,et al.  Queueing Characteristics of the Best Effort Network Coding Strategy , 2016, IEEE Access.

[62]  E.E. Swartzlander,et al.  Floating-Point Fused Multiply-Add Architectures , 2007, 2007 Conference Record of the Forty-First Asilomar Conference on Signals, Systems and Computers.

[63]  John R. Gregg Ones and zeros - understanding Boolean algebra, digital circuits, and the logic of sets , 1998 .

[64]  Baochun Li,et al.  Tenor: making coding practical from servers to smartphones , 2010, ACM Multimedia.

[65]  Sherali Zeadally,et al.  QoS-Aware Hierarchical Web Caching Scheme for Online Video Streaming Applications in Internet-Based Vehicular Ad Hoc Networks , 2015, IEEE Transactions on Industrial Electronics.

[66]  Gianluca Francini,et al.  GPGPU Accelerated Deep Object Classification on a Heterogeneous Mobile Platform , 2016 .

[67]  Rahim Tafazolli,et al.  Network Coding Theory: A Survey , 2013, IEEE Communications Surveys & Tutorials.

[68]  Baochun Li,et al.  Parallelized Progressive Network Coding With Hardware Acceleration , 2007, 2007 Fifteenth IEEE International Workshop on Quality of Service.

[69]  Sandra Dominikus,et al.  A Highly Regular and Scalable AES Hardware Architecture , 2003, IEEE Trans. Computers.

[70]  Marton Sipos,et al.  Erasure Coded Storage on a Changing Network: The Untold Story , 2016, 2016 IEEE Global Communications Conference (GLOBECOM).

[71]  Toan Duc Bui,et al.  Efficient data uploading based on network coding in LTE-Advanced heterogeneous networks , 2017, 2017 19th International Conference on Advanced Communication Technology (ICACT).

[72]  Jain-Shing Liu,et al.  Delay and Energy Tradeoff in Energy Harvesting Multi-Hop Wireless Networks With Inter-Session Network Coding and Successive Interference Cancellation , 2017, IEEE Access.

[73]  Shahrokh Valaee,et al.  Completion Delay Minimization for Instantly Decodable Network Codes , 2012, IEEE/ACM Transactions on Networking.

[74]  Muriel Médard,et al.  On Code Parameters and Coding Vector Representation for Practical RLNC , 2011, 2011 IEEE International Conference on Communications (ICC).

[75]  Trieu-Kien Truong,et al.  VLSI Architectures for Computing Multiplications and Inverses in GF(2m) , 1983, IEEE Transactions on Computers.

[76]  Amer Baghdadi,et al.  Design and Prototyping Flow of Flexible and Efficient NISC-Based Architectures for MIMO Turbo Equalization and Demapping , 2016 .

[77]  Mohamed-Slim Alouini,et al.  Instantly Decodable Network Coding: From Centralized to Device-to-Device Communications , 2017, IEEE Communications Surveys & Tutorials.

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

[79]  Jörg Widmer,et al.  Effective Delay Control in Online Network Coding , 2009, IEEE INFOCOM 2009.

[80]  Parastoo Sadeghi,et al.  Delivery time reduction for order-constrained applications using binary network codes , 2016, 2016 IEEE Wireless Communications and Networking Conference.

[81]  Jaroslaw Krygier,et al.  On Applicability of Network Coding Technique for 6LoWPAN-based Sensor Networks , 2018, Sensors.

[82]  Li Shen,et al.  Parallelizing Network Coding Using CUDA , 2011 .

[83]  Lajos Hanzo,et al.  Truncated-ARQ Aided Adaptive Network Coding for Cooperative Two-Way Relaying Networks: Cross-Layer Design and Analysis , 2016, IEEE Access.

[84]  Douglas J. Leith,et al.  Low Delay Random Linear Coding and Scheduling Over Multiple Interfaces , 2015, IEEE Transactions on Mobile Computing.

[85]  Frank H. P. Fitzek,et al.  Caterpillar RLNC (CRLNC): A Practical Finite Sliding Window RLNC Approach , 2017, IEEE Access.

[86]  Jean-Didier Legat,et al.  Efficient Implementation of Rijndael Encryption in Reconfigurable Hardware: Improvements and Design Tradeoffs , 2003, CHES.

[87]  Parastoo Sadeghi,et al.  An Optimal Adaptive Network Coding Scheme for Minimizing Decoding Delay in Broadcast Erasure Channels , 2010, EURASIP J. Wirel. Commun. Netw..

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

[89]  Jianfei Cai,et al.  Online XOR packet coding: Efficient single-hop wireless multicasting with low decoding delay , 2014, Comput. Commun..

[90]  Chen-Khong Tham,et al.  Minimizing Delay for Multicast-Streaming in Wireless Networks with Network Coding , 2009, IEEE INFOCOM 2009.

[91]  Seungmin Rho,et al.  QoE-Enabled Big Video Streaming for Large-Scale Heterogeneous Clients and Networks in Smart Cities , 2016, IEEE Access.

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

[93]  Elisabeth Oswald,et al.  An ASIC Implementation of the AES SBoxes , 2002, CT-RSA.

[94]  Ioannis Lambadaris,et al.  Optimal Control for Network Coding Broadcast , 2016, 2016 IEEE Global Communications Conference (GLOBECOM).

[95]  Muriel Médard,et al.  Multi-Path Low Delay Network Codes , 2016, 2016 IEEE Global Communications Conference (GLOBECOM).

[96]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach (4. ed.) , 2007 .

[97]  Morten Videbæk Pedersen,et al.  On the combination of multi-layer source coding and network coding for wireless networks , 2013, 2013 IEEE 18th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD).

[98]  Peyman Pahlevani,et al.  On the Performance of the Cache Coding Protocol , 2018, Inf..