Pushing the Envelope: Extreme Network Coding on the GPU

  • Authors:
  • Hassan Shojania;Baochun Li

  • Affiliations:
  • -;-

  • Venue:
  • ICDCS '09 Proceedings of the 2009 29th IEEE International Conference on Distributed Computing Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

While it is well known that network coding achieves optimal flow rates in multicast sessions, its potential for practical use has remained to be a question, due to its high computational complexity. With GPU computing gaining momentum as a result of increased hardware capabilities and improved programmability, we show in this paper how the GPU can be used to improve network coding performance dramatically. Our previous work presented the first attempt in the literature to maximize the performance of network coding by taking advantage of not only multi-core CPUs, but also hundreds of computing cores in commodity off-the-shelf Graphics Processing Units (GPU). This paper represents another step forward, and presents a new array of GPU-based algorithms that improve network encoding by a factor of 2.2, and network decoding by a factor of 2.7 to 27.6 across a range of practical configurations. With just a single NVIDIA GTX 280 GPU, our implementation of GPU-based network encoding outperforms an 8-core Intel Xeon server by a margin of at least 4.3 to 1 in all practical test cases, and over 3000 peers can be served at high-quality video rates if network coding is used in a streaming server. With 128 blocks, for example, coding rates up to 294 MB/second can be achieved with a variety of block sizes.