This paper presents a Graphics Processing Unit (GPU)-based implementation of a Bellman-Ford (BF) routing algorithm using NVIDIA’s Compute Unified Device Architecture (CUDA). In the proposed GPU-based approach, multiple threads run concurrently over numerous streaming processors in the GPU to dynamically update routing information. Instead of computing the individual vertex distances one-by-one, a number of threads concurrently update a larger number of vertex distances, and an individual vertex distance is represented in a single thread. This paper compares the performance of the GPU-based approach to an equivalent CPU implementation while varying the number of vertices. Experimental results show that the proposed GPU-based approach outperforms the equivalent sequential CPU implementation in terms of execution time by exploiting the massive parallelism inherent in the BF routing algorithm. In addition, the reduction in energy consumption (about 99 %) achieved by using the GPU is reflective of the overall merits of deploying GPUs across the entire landscape of IP routing for emerging multimedia communications.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Bellman R (1958) On a routing problem. Q J Appl Math 16:87–90
Bhattacharya A, Wu W, Yang Z (2012) Quality of experience evaluation of voice communication: an affect-based approach. Human-centric Comput Inf Sci 2(7):1–18
Chang KD, Chen CY, Chen JL, Chao HC (2010) Challenges to next generation services in IP multimedia subsystem. J Inf Process Syst 6(2):129–146
Chao J, Huang X, Wang X, Dang Y, Fu X (2011) Exploiting graphic processors for high performance IP lookup in software routers. IEEE INFOCOM, Shanghai, pp 301–305
Chikkagoudar S, Wang K, Li M (2013) GENIE: a software package for gene-gene interaction analysis in genetic association studies using multiple GPU or CPU cores. BMC Res Note (20, 6). [online]: http://www.biomedcentral.com/1756-0500/4/158/figure/F1?highres=y
Choi H, Son D, Kang S, Kim J, Lee H, Kim C (2013) An efficient scheduling scheme using estimated execution time for heterogeneous computing systems. J Supercomput 65(2):886–902
Chorianopoulos K (2013) Collective intelligence within web video. Human-centric Comput Inf Sci 3(10):1–16
Divya Udayan J, Kim HS, Lee J, Kim JI (2013) Fractal based method on hardware acceleration for natural environments. J Converg 4(3):6–12
Dynamic Programming, Set 23, Geeksforgeeks (2013, 27, 7). [online]: http://www.geeksforgeeks.org/dynamic-programming-set-23-bellman-ford-algorithm/
Gong C, Liu J, Chen H, Xie J, Gong Z (2011) Accelerating the Sweep3D for a graphic processor unit. J Inf Process Syst 7(1):63–74
Harvey JP (2009) GPU acceleration of object classification algorithms using NVIDIA CUDA. Master thesis, Rochester Institute of Technology, pp 1–76
Huang J, Ponce S, Park S, Cao Y, Quek F (2008) GPU accelerated computation for robust motion tracking using the CUDA framework. 5th International Conference on Visual Information Engineering, Xian, pp 1–6
Kang K, Dang Y (2011) Scalable packet classification via GPU metaprogramming. Design, Automation and Test in Europe Conference and Exhibition, Grenoble, pp 1–4
Lalami ME, El-Baz D, Boyer V (2011) Multi GPU implementation of the simplex algorithm. IEEE International Conference on High Performance Computing and Communications, Banff, pp 179–186
Luebke D (2008) CUDA: scalable parallel programming for high performance scientific computing. 5th IEEE International Symposium on Biomedical Imaging From Nano to Macro, Paris, pp 836–838
Mu S, Zhang X, Zhang N, Lu J, Deng Y, Zhang S (2010) IP routing processing with graphic processors. IEEE Design, Automation & Test in Europe Conference & Exhibition, Dresden, pp 93–98
Nie DH, Han KP, Lee HS (2009) GPU-based stereo matching algorithm with the strategy of population-based incremental learning. J Inf Process Syst 5(2):105–116
NVIDIA (2013) CUDA programming guide, CUDA driver, toolkit, and SDK code samples (08, 07). [online]: http://www.nvidia.com/object/cuda get.html
Sharma MJ, Leung VCM (2012) IP multimedia subsystem authentication protocol in LTE-heterogeneous networks. Human-centric Comput Inf Sci 2(16):1–19
Shi L, Chen H, Sun J, Li K (2012) VCUDA: GPU-accelerated high-performance computing in virtual machines. IEEE Trans Comput 61(6):1–11
Tian Y, Zhou B, Zhang YT, Chan KW (2011) Investigation on the use of GPGPU for fast sparse matrix factorization. J Int Counc Electr Eng 1(1):116–122
Truong TT, Tran MT, Duong AD (2012) Improvement of the more efficient & secure ID-based remote mutual authentication with key agreement scheme for mobile devices on ECC. J Converg 3(2):1–10
Tsai JC, Yen NY (2013) Cloud-empowered multimedia service: an automatic video storytelling tool. J Converg 4(3):13–19
Zhang Y, Deng Y, Chen Y (2011) Hermes: an integrated CPU/GPU microarchitecture for IP routing. IEEE Design Automation Conference, New York, pp 1044–1049
This work was supported by 2014 Research Funds of Hyundai Heavy Industries for University of Ulsan.
About this article
Cite this article
Uddin, J., Jeong, IK., Kang, M. et al. Accelerating IP routing algorithm using graphics processing unit for high speed multimedia communication. Multimed Tools Appl 75, 15365–15379 (2016). https://doi.org/10.1007/s11042-014-2013-3
- Bellman-Ford algorithm
- IP routing
- Graphics processing unit
- Clustering computing