Home > Published Issues > 2009 > Volume 4, No. 11, December 2009 >

Accelerating Network Coding on Many-core GPUs and Multi-core CPUs

Xiaowen Chu1,Kaiyong Zhao1, and Mea Wang2
1. Department of Computer Science, Hong Kong Baptist University, Hong Kong, China
2. Department of Computer Science, University of Calgary, Calgary, Canada

Abstract— Network coding has recently been widely applied in various distributed systems for throughput improvement and/or resilience to network dynamics. However, the computational overhead introduced by network coding operations is not negligible and has become the obstacle for practical deployment of network coding. In this paper, we exploit the computing power of commodity many-core Graphic Processing Units (GPUs) and multi-core CPUs to accelerate the network coding operations. We propose a set of parallel algorithms that maximize the parallelism of the encoding and decoding processes and fully utilize the power of GPUs. This paper also shares our optimization design choices and our workarounds to the challenges encountered in working with GPUs. With our implementation of the algorithms, we are able to achieve significant speedup over existing solutions on CPUs.

Index Terms— Network coding; GPU computing

Cite:Xiaowen Chu ,  Kaiyong Zhao and Mea Wang, "Accelerating Network Coding on Many-core GPUs and Multi-core CPUs," Journal of Communications, vol. 4, no.11, pp.902-909 , 2009. Doi: 10.4304/jcm.4.11.902-909