skip to main content
research-article

Design and evaluation of random linear network coding Accelerators on FPGAs

Published:05 September 2013Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ahlswede, R., Cai, N., Li, S. R., and Yeung, R. W. 2000. Network information flow. IEEE Trans. Inf. Theory 46, 4, 1204--1216 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. Chou, P. A. and Wu, Y. 2007. Network coding for the Internet and wireless networks. IEEE Signal Process. Mag. 24, 5, 77--85.Google ScholarGoogle ScholarCross RefCross Ref
  8. Deschamps, J.-P. and Sutter, G. 2006. Hardware implementation of finite-field division. Acta Applicandae Mathematicae 93, 1--3, 119--147.Google ScholarGoogle ScholarCross RefCross Ref
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kim, C. H. and Hong, C. P. 2002. High-speed division architecture for GF(2m). Electron. Lett. 38, 15, 835--836.Google ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kim, S. and Ro, W. W. 2012. Reconfigurable and parallelized network coding decoder for VANETs. Mobile Inf. Syst. 8, 1, 45--59.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Koetter, R. and Médard, M. 2003. An algebraic approach to network coding. IEEE/ACM Trans. Netw. 11, 5, 782--795. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. Li, S.-Y. R., Yeung, R. W., and Cai, N. 2003. Linear network coding. IEEE Trans. Inf. Theory. 49, 2, 371--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lin, S. and Costello Jr., D. 1983. Error Control Coding: Fundamentals and Applications. Prentice Hall, Englewood Cliffs, NJ.Google ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Mastrovito, E. 1991. VLSI architectures for computation in Galois fields. Ph.D. Dissertation, Department of Electrical Engineering, Linkoping University, Sweden.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. Xilinx. 2009a. Block memory generator v.4.3 product specification. http://www.xilinx.com/support/documentation/ip_documentation/blk_mem_gen_ds512.pdf.Google ScholarGoogle Scholar
  34. Xilinx. 2009b. Virtex-5 family overview. http://direct.xilinx.com/bvdocs/publications/ds100.pdf.Google ScholarGoogle Scholar
  35. Xilinx. 2010. ISE design suite software manuals and help. http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_3/manuals.pdf.Google ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. Yeung, R. W. and Zhang, Z. 1999. Distributed source coding for satellite communications. IEEE Trans. Inf. Theory 45, 4, 1111--1120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Yoon, T. and Park, J. 2010. FPGA implementation of network coding decoder. Int. J. Comput. Sci. Netw. Secur. 10, 12, 34--39.Google ScholarGoogle Scholar

Index Terms

  1. Design and evaluation of random linear network coding Accelerators on FPGAs

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!