skip to main content
research-article

Design and evaluation of random linear network coding Accelerators on FPGAs

Published: 05 September 2013 Publication History

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

Cited By

View all
  • (2013)Network coding based bulk data synchronization in mobile ad hoc networksProceedings of the 9th Asian Internet Engineering Conference10.1145/2534142.2534145(17-24)Online publication date: 13-Nov-2013

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 13, Issue 1
August 2013
332 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/2501626
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 05 September 2013
Accepted: 01 March 2012
Revised: 01 December 2011
Received: 01 June 2011
Published in TECS Volume 13, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. FPGA
  2. FPGA implementation
  3. galois field arithmetic
  4. high-performance decoder
  5. network coding
  6. parallel architecture

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Network coding based bulk data synchronization in mobile ad hoc networksProceedings of the 9th Asian Internet Engineering Conference10.1145/2534142.2534145(17-24)Online publication date: 13-Nov-2013

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media