High-performance software implementations of SCAN decoder for polar codes

This paper presents the first optimized software implementation of a SCAN decoder for Polar codes. Unlike SC and SC-List decoding algorithms, the SCAN decoding algorithm provides soft outputs (useful for, e.g., parallel concatenated decoders Zhang et al. IEEE Trans Commun 64(2):456–466 2016). Despite the strong data dependencies in the SCAN decoding, two highly parallel software implementations are devised for x86 processor target. Different parallelization strategies, algorithmic improvements, and source code optimizations were applied in order to enhance the throughput of the decoders. The impact of the parallelization approach, the code rate, and the code length on the throughput and the latency is investigated. Extensive experimentations demonstrate that the proposed software polar decoder can exceed 600 Mb/s on a single core and reaches multi-Gb/s when using four cores simultaneously. These decoders can then achieve real-time performance required in many applications such as software defined radio or cloud-RAN systems where network physical layer is implemented in software.

[1]  Nitin Chandrachoodan,et al.  A GPU implementation of belief propagation decoder for polar codes , 2012, 2012 Conference Record of the Forty Sixth Asilomar Conference on Signals, Systems and Computers (ASILOMAR).

[2]  Bertrand Le Gal,et al.  High-Throughput Multi-Core LDPC Decoders Based on x86 Processor , 2016, IEEE Transactions on Parallel and Distributed Systems.

[3]  E. Arkan,et al.  A performance comparison of polar codes and Reed-Muller codes , 2008, IEEE Communications Letters.

[4]  Vítor Manuel Mendes da Silva,et al.  Optimized Fast Walsh-Hadamard Transform on GPUs for non-binary LDPC decoding , 2014, Parallel Comput..

[5]  John R. Barry,et al.  A low-complexity soft-output decoder for polar codes , 2013, 2013 IEEE Global Communications Conference (GLOBECOM).

[6]  Shengmei Zhao,et al.  Concatenated polar-coded multilevel modulation , 2015, 2015 10th International Conference on Communications and Networking in China (ChinaCom).

[7]  Alexander Vardy,et al.  Fast List Decoders for Polar Codes , 2015, IEEE Journal on Selected Areas in Communications.

[8]  Alexander Vardy,et al.  Increasing the speed of polar list decoders , 2014, 2014 IEEE Workshop on Signal Processing Systems (SiPS).

[9]  Paul H. Siegel,et al.  Enhanced belief propagation decoding of polar codes through concatenation , 2014, 2014 IEEE International Symposium on Information Theory.

[10]  Ubaid U. Fayyaz,et al.  Polar code design and decoding for magnetic recording , 2014 .

[11]  Frank R. Kschischang,et al.  A Simplified Successive-Cancellation Decoder for Polar Codes , 2011, IEEE Communications Letters.

[12]  Alexander Vardy,et al.  How to Construct Polar Codes , 2011, IEEE Transactions on Information Theory.

[13]  Eugene Grayver Implementing Software Defined Radio , 2013 .

[14]  Yu-Chih Huang,et al.  Interleaved Concatenations of Polar Codes With BCH and Convolutional Codes , 2016, IEEE Journal on Selected Areas in Communications.

[15]  Erdal Arikan,et al.  Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels , 2008, IEEE Transactions on Information Theory.

[16]  Christophe Jégo,et al.  Hardware implementation of a soft cancellation decoder for polar codes , 2015, 2015 Conference on Design and Architectures for Signal and Image Processing (DASIP).

[17]  Joseph R. Cavallaro,et al.  Implementation of a High Throughput 3GPP Turbo Decoder on GPU , 2011, J. Signal Process. Syst..

[18]  Xiaopeng Jiao,et al.  Enhanced belief propagation decoding of polar codes by adapting the parity-check matrix , 2017, EURASIP J. Wirel. Commun. Netw..

[19]  Aijun Liu,et al.  Practical Design and Decoding of Parallel Concatenated Structure for Systematic Polar Codes , 2016, IEEE Transactions on Communications.

[20]  Bertrand Le Gal,et al.  Software polar decoder on an embedded processor , 2014, 2014 IEEE Workshop on Signal Processing Systems (SiPS).

[21]  Zhongfeng Wang,et al.  A Stage-Combined Belief Propagation Decoder for Polar Codes , 2018, J. Signal Process. Syst..

[22]  Warren J. Gross,et al.  Low-Latency Software Polar Decoders , 2015, J. Signal Process. Syst..

[23]  Aijun Liu,et al.  Symbol-Based Belief Propagation Decoder for Multilevel Polar Coded Modulation , 2017, IEEE Communications Letters.

[24]  Dongsheng Wu,et al.  Concatenated polar codes based on selective polarization , 2015, 2015 12th International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP).

[25]  Rongke Liu,et al.  High Throughput Pipeline Decoder for LDPC Convolutional Codes on GPU , 2015, IEEE Communications Letters.

[26]  Warren J. Gross,et al.  A Fast Software Polar Decoder , 2013, ArXiv.

[27]  Warren J. Gross,et al.  Fast software polar decoders , 2014, 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[28]  Alexander Vardy,et al.  Hardware architectures for successive cancellation decoding of polar codes , 2010, 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[29]  Alexander Vardy,et al.  List Decoding of Polar Codes , 2015, IEEE Transactions on Information Theory.

[30]  Xiaohu You,et al.  Low-latency software successive cancellation list polar decoder using stage-located copy , 2016, 2016 IEEE International Conference on Digital Signal Processing (DSP).

[31]  Alexander Vardy,et al.  Flexible and Low-Complexity Encoding and Decoding of Systematic Polar Codes , 2016, IEEE Transactions on Communications.

[32]  Warren J. Gross,et al.  Autogenerating software polar decoders , 2014, 2014 IEEE Global Conference on Signal and Information Processing (GlobalSIP).

[33]  Bertrand Le Gal,et al.  Multi-Gb/s Software Decoding of Polar Codes , 2015, IEEE Transactions on Signal Processing.

[34]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[35]  Alexander Vardy,et al.  Unrolled Polar Decoders, Part II: Fast List Decoders , 2015, ArXiv.

[36]  John R. Barry,et al.  Polar codes for partial response channels , 2013, 2013 IEEE International Conference on Communications (ICC).

[37]  Michael S. Berger,et al.  Cloud RAN for Mobile Networks—A Technology Overview , 2015, IEEE Communications Surveys & Tutorials.

[38]  Zhiyuan Yan,et al.  Reduced complexity belief propagation decoders for polar codes , 2015, 2015 IEEE Workshop on Signal Processing Systems (SiPS).