Abstract
Network coding is a well-known technique used to enhance network throughput and reliability by applying special coding to data packets. One critical problem in practice, when using the random linear network coding technique, is the high computational overhead. More specifically, using this technique in embedded systems with low computational power might cause serious delays due to the complex Galois field operations and matrix handling. To this end, this article proposes a high-performance decoding logic for random linear network coding using field-programmable gate-array (FPGA) technology. We expect that the inherent reconfigurability of FPGAs will provide sufficient performance as well as programmability to cope with changes in the specification of the coding. The main design motivation was to improve the decoding delay by dividing and parallelizing the entire decoding process. Fast arithmetic operations are achieved by the proposed parallelized GF ALUs, which allow calculations with all the elements of a single row of a matrix to be performed concurrently. To improve the flexibility in the utilization of the FPGA components, two different decoding methods have been designed and compared. The performance of the proposed idea is evaluated by comparing with the performance of the decoding process executed by general-purpose processors through an equivalent software algorithm. Overall, a maximum throughput of 65.98 Mbps is achieved with the proposed FPGA design on an XC5VLX110T Virtex 5 device. In addition, the proposed design provides speedups of up to 13.84 compared to an aggressively parallelized software decoding algorithm run on a quad-core AMD processor. Moreover, the design affords 12 times higher power efficiency in terms of throughput per watt than an ARM Coretex-A9 processor.
- Ahlswede, R., Cai, N., Li, S. R., and Yeung, R. W. 2000. Network Information Flow. IEEE Trans. Information Theory, vol. 46, no. 4. 1204-1216 Google Scholar
Digital Library
- Chachulski, S., Jennings, M., Katti, S., and Katabi, D. 2007. Trading Structure for Randomness in Wireless Opportunistic Routing. In Proceedings of ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, Kyoto, Japan, Aug. 2007. Google Scholar
Digital Library
- Ahlswede, R., Cai, N., Li, S. R., and Yeung, R. W. 2000. Network information flow. IEEE Trans. Inf. Theory 46, 4, 1204--1216 Google Scholar
Digital Library
- Chachulski, S., Jennings, M., Katti, S., and Katabi, D. 2007. Trading structure for randomness in wireless opportunistic routing. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications. Google Scholar
Digital Library
- Chelton, W. N. and Benaissa, M. 2008. Fast elliptic curve cryptography on FPGA. IEEE Trans. Very Large Scale Integ. (VLSI) Syst. 16, 2, 198--205. Google Scholar
Digital Library
- Chou, P. A., Wu, Y., and Jain, K. 2003. Practical network coding. In Proceedings of the 41st Allerton Conference of Communication, Control and Computing (Allerton'03).Google Scholar
- Chou, P. A. and Wu, Y. 2007. Network coding for the Internet and wireless networks. IEEE Signal Process. Mag. 24, 5, 77--85.Google Scholar
Cross Ref
- Deschamps, J.-P. and Sutter, G. 2006. Hardware implementation of finite-field division. Acta Applicandae Mathematicae 93, 1--3, 119--147.Google Scholar
Cross Ref
- Gulati, K. and Khatri, S. P. 2008. Improving FPGA routability using network coding. In Proceedings of the 18th ACM Great Lakes Symposium on VLSI. Google Scholar
Digital Library
- Ho, T., Médard, M., Koetter, R., Karger, D. R., Effros, M., Shi, J., and Leong, B. 2006. A random linear network coding approach to multicast. IEEE Trans. Inf. Theory 52, 10, 4413--4430. Google Scholar
Digital Library
- Itoh, T. and Tsujii, S. 1988. A fast algorithm for computing multiplicative inverses in GF(2m) using normal bases. Inf. Comput. 78, 3, 171--177. Google Scholar
Digital Library
- Katti, S., Katabi, D., Balakrishnan, H., and Médard, M. 2008. Symbol-level network coding for wireless mesh networks. ACM SIGCOMM Comput. Commun. Rev. 38, 4, 401--412. Google Scholar
Digital Library
- Kim, C. H. and Hong, C. P. 2002. High-speed division architecture for GF(2m). Electron. Lett. 38, 15, 835--836.Google Scholar
Cross Ref
- Kim, D., Park, K., and Ro, W. W. 2011. Network coding on heterogeneous multi-core processors for wireless sensor networks. Sensors. 11, 8, 7908--7933.Google Scholar
Cross Ref
- Kim, D., Park, K., and Ro, W. W. 2012. Exploiting SIMD parallelism on dynamically partitioned parallel network coding for P2P systems. Comput. Elect. Eng. March 12, 2012. ISSN 0045-7906. 10.1016/j.compeleceng.2012.02.009. Google Scholar
Digital Library
- Kim, S. and Ro, W. W. 2012. Reconfigurable and parallelized network coding decoder for VANETs. Mobile Inf. Syst. 8, 1, 45--59.Google Scholar
Digital Library
- Kim, S. and Ro, W. W. 2010. FPGA implementation of highly parallelized decoder logic for network coding. In Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays. 284--284. Google Scholar
Digital Library
- Koetter, R. and Médard, M. 2003. An algebraic approach to network coding. IEEE/ACM Trans. Netw. 11, 5, 782--795. Google Scholar
Digital Library
- Lee, S. and Ro. W. W. 2010. Accelerated network coding with dynamic stream decomposition on graphics processing unit. Comput. J. 55, 1, 21--34. Google Scholar
Digital Library
- Li, S.-Y. R., Yeung, R. W., and Cai, N. 2003. Linear network coding. IEEE Trans. Inf. Theory. 49, 2, 371--381. Google Scholar
Digital Library
- Lin, S. and Costello Jr., D. 1983. Error Control Coding: Fundamentals and Applications. Prentice Hall, Englewood Cliffs, NJ.Google Scholar
- Mace, F., Standaert, F. X., and Quisquater, J. J. 2008. FPGA implementation(s) of a scalable encryption algorithm. IEEE Trans. Very Large Scale Integ. (VLSI) Syst. 16, 2, 212--216. Google Scholar
Digital Library
- Mastrovito, E. 1991. VLSI architectures for computation in Galois fields. Ph.D. Dissertation, Department of Electrical Engineering, Linkoping University, Sweden.Google Scholar
- Mehrotra, P., Singhai, M., Pratt, M., Cassada, M., and Hamilton, P. 2004. FPGA implementation of a high speed network interface card for optical burst switched networks. In Proceedings of the ACM/SIGDA 12th International Symposium on FPGA. 255. Google Scholar
Digital Library
- Nagarajan, A., Schulte, M. J., and Ramanathan, P. 2010. Galois field hardware architectures for network coding. In Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS). Google Scholar
Digital Library
- Park, K., Park, J. S., and Ro, W. W. 2009. Efficient parallelized network coding for P2P file sharing applications. In Proceedings of the 4th International Conference on Grid and Pervasive Computing (GPC'09). Google Scholar
Digital Library
- Park, K., Park, J. S., and Ro, W. W. 2010. On improving parallelized network coding with dynamic partitioning. IEEE Trans. Parallel Distrib. Syst. 21, 11, 1547--1560. Google Scholar
Digital Library
- Pedersen, M. V. F., Fitzek, H. P., and Larsen, T. 2008. Implementation and performance evaluation of network coding for cooperative mobile devices. In Proceedings of the IEEE International Conference on Communications Workshops (ICC'08).Google Scholar
- Shojania, H. and Li, B. 2007. Parallelized progressive network coding with hardware acceleration. In Proceedings of the IEEE International Workshop on Quality of Service. 47--55.Google Scholar
- Shojania, H., Li, B., and Wang, X. 2009a. Nuclei: GPU-accelerated many-core network coding. In Proceedings of the IEEE International Conference on Computer Communications (INFOCOM'09). 459--467.Google Scholar
- Shojania, H. and Li, B. 2009b. Pushing the envelope: Extreme network coding on the GPU. In Proceedings of the 29th International Conference on Distributed Computing Systems (ICDCS'09). 22--26. Google Scholar
Digital Library
- Shojania, H. and Li, B. 2009c. Random network coding on the iPhone: Fact or fiction? In Proceedings of the 18th International Workshop on Network and Operating Systems Support for Digital Audio and Video. 37--42. Google Scholar
Digital Library
- Xilinx. 2009a. Block memory generator v.4.3 product specification. http://www.xilinx.com/support/documentation/ip_documentation/blk_mem_gen_ds512.pdf.Google Scholar
- Xilinx. 2009b. Virtex-5 family overview. http://direct.xilinx.com/bvdocs/publications/ds100.pdf.Google Scholar
- Xilinx. 2010. ISE design suite software manuals and help. http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_3/manuals.pdf.Google Scholar
- Yan, Z. and Sarwate, D. V. 2003. New systolic architectures for inversion and division in GF(2m). IEEE Trans. Comput. 52, 11, 1514--1519. Google Scholar
Digital Library
- Yeung, R. W. and Zhang, Z. 1999. Distributed source coding for satellite communications. IEEE Trans. Inf. Theory 45, 4, 1111--1120. Google Scholar
Digital Library
- Yoon, T. and Park, J. 2010. FPGA implementation of network coding decoder. Int. J. Comput. Sci. Netw. Secur. 10, 12, 34--39.Google Scholar
Index Terms
Design and evaluation of random linear network coding Accelerators on FPGAs
Recommendations
FPGA implementation of highly parallelized decoder logic for network coding (abstract only)
FPGA '10: Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arraysDecoding operation is one of the major performance bottlenecks in network coding applications. To address the problem caused by decoding delay, this paper proposes high-performance decoding logic on the field-programmable gate-array (FPGA). A Galois ...
HW/SW co-design for public-key cryptosystems on the 8051 micro-controller
It is a challenge to implement large word length public-key algorithms on embedded systems. Examples are smartcards, RF-ID tags and mobile terminals. This paper presents a HW/SW co-design solution for RSA and Elliptic Curve Cryptography (ECC) over GF(p) ...
An Efficient Parallel Architecture for Convolutional Neural Networks Accelerator on FPGAs
HP3C '22: Proceedings of the 6th International Conference on High Performance Compilation, Computing and CommunicationsConvolutional Neural Networks (CNNs) have been widely used in the field of computer vision. Due to the computational complexity of CNNs, their computational efficiency has become a major concern. Field Programmable Gate Array (FPGA) is an ideal ...






Comments