Enabling GPU Acceleration with Messaging Middleware

  • Randall E. Duran
  • Li Zhang
  • Tom Hayhurst
Part of the Communications in Computer and Information Science book series (CCIS, volume 253)


Graphics processing units (GPUs) offer great potential for accelerating processing for a wide range of scientific and business applications. However, complexities associated with using GPU technology have limited its use in applications. This paper reviews earlier approaches improving GPU accessibility, and explores how integration with middleware messaging technologies can further improve the accessibility and usability of GPU-enabled platforms. The results of a proof-of-concept integration between an open-source messaging middleware platform and a general-purpose GPU platform using the CUDA framework are presented. Additional applications of this technique are identified and discussed as potential areas for further research.


GPU GPGPU middleware messaging CUDA k-means clustering ZeroMQ stream processing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arora, N., Shringarpure, A., Vuduc, R.W.: Direct N-body Kernels for Multicore Platforms. In: 2009 International Conference on Parallel Processing, pp. 379–387 (2009)Google Scholar
  2. 2.
    Bai, H.T., He, L.L., Ouyang, D.T., Li, Z.T., Li, H.: K-Means on Commodity GPUs with CUDA. In: World Congress Computer Science and Information Engineering, pp. 651–655 (2009)Google Scholar
  3. 3.
    Clive, D.: Speed is the key - Balancing the benefits and costs of GPUs (2010),
  4. 4.
    Daniel, J.A., Samuel, M., Wolfgang, L.: REED: Robust, Efficient Filtering and Event Detection in Sensor Networks. In: 31st VLDB Conference, pp. 769–780 (2005)Google Scholar
  5. 5.
    Duato, J., Peña, A.J., Silla, F., Mayo, R., Quintana-Orti, E.S.: rCUDA: Reducing the number of GPU-based accelerators in high performance clusters. In: 2010 International Conference on High Performance Computing and Simulation (HPCS), pp. 224–231 (2010)Google Scholar
  6. 6.
    Ferreira, J.F., Lobo, J., Dias, J.: Bayesian Real-Time Perception Algorithms on GPU - Real-Time Implementation of Bayesian Models for Multimodal Perception Using CUDA. Journal of Real-Time Image Processing (published online February 26, 2010)Google Scholar
  7. 7.
    Han, T.D., Abdelrahman, T.S.: hiCUDA: High-Level GPGPU Programming. IEEE Transactions on Parallel and Distributed Systems 22(1) (2011)Google Scholar
  8. 8.
    Hartley, T.D.R., Catalyurek, U., Ruiz, A., Igual, F., Mayo, R., Ujaldon, M.: Biomedical image analysis on a cooperative cluster of GPUs and multicores. In: 22nd Annual International Conference on Supercomputing ICS 2008, pp. 15–25 (2008)Google Scholar
  9. 9.
    Hintjens, P.: ØMQ - The Guide, (accessed April 2011)
  10. 10.
    Kadlec, B.J., Dorn, G.A.: Leveraging graphics processing units (GPUs) for real-time seismic interpretation. The Leading Edge (2010)Google Scholar
  11. 11.
    King, G.H., Cai, Z.Y., Lu, Y.Y., Wu, J.J., Shih, H.P., Chang, C.R.: A High-Performance Multi-user Service System for Financial Analytics Based on Web Service and GPU Computation. In: International Symposium on Parallel and Distributed Processing with Applications (ISPA 2010), pp. 327–333 (2010)Google Scholar
  12. 12.
    Li, Y., Zhao, K., Chu, X., Liu, J.: Speeding up K-Means Algorithm by GPUs. In: 2010 IEEE 10th International Conference on Computer and Information Technology (CIT), pp. 115–122 (2010)Google Scholar
  13. 13.
    Ling, C., Benkrid, K., Hamada, T.: A parameterisable and scalable Smith-Waterman algorithm implementation on CUDA-compatible GPUs. In: 2009 IEEE 7th Symposium on Application Specific Processors, pp. 94–100 (2009)Google Scholar
  14. 14.
    Munshi, A.: OpenCL Specification Version 1.0. In: The Khronos Group (2008),
  15. 15.
    NVIDIA Corporation. NVIDIA® CUDATM Architecture. Version 1.1 (April 2009)Google Scholar
  16. 16.
    Preisa, T., Virnaua, P., Paula, W., Schneidera, J.J.: GPU accelerated Monte Carlo simulation of the 2D and 3D Ising modelstar, open. Journal of Computational Physics 228(12), 4468–4477 (2009)CrossRefGoogle Scholar
  17. 17.
    Shi, L., Chen, H., Sun, J.: vCUDA: GPU Accelerated High Performance Computing in Virtual Machines. In: 2009 IEEE International Symposium on Parallel & Distributed Processing (2009)Google Scholar
  18. 18.
    Tsakalozos, K., Tsangaris, M., Delis, A.: Using the Graphics Processor Unit to realize data streaming operations. In: 6th Middleware Doctoral Symposium, pp. 274–291 (2009)Google Scholar
  19. 19.
    Tumeo, A., Villa, O.: Accelerating DNA analysis applications on GPU clusters. In: 2010 IEEE 8th Symposium on Application Specific Processors (SASP), pp. 71–76 (2010)Google Scholar
  20. 20.
    Zechner, M., Granitzer, M.: Accelerating K-Means on the Graphics Processor via CUDA. In: The First International Conference on Intensive Applications and Services, INTENSIVE 2009, pp. 7–15 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Randall E. Duran
    • 1
    • 2
  • Li Zhang
    • 1
    • 2
  • Tom Hayhurst
    • 2
  1. 1.Singapore Management UniversitySingapore
  2. 2.Catena Technologies Pte LtdSingapore

Personalised recommendations