GPU PaaS Computation Model in Aneka Cloud Computing Environment

Due to the surge in the volume of data generated and rapid advancement in Artificial Intelligence (AI) techniques like machine learning and deep learning, the existing traditional computing models have become inadequate to process an enormous volume of data and the complex application logic for extracting intrinsic information. Computing accelerators such as Graphics processing units (GPUs) have become de facto SIMD computing system for many big data and machine learning applications. On the other hand, the traditional computing model has gradually switched from conventional ownership-based computing to subscription-based cloud computing model. However, the lack of programming models and frameworks to develop cloud-native applications in a seamless manner to utilize both CPU and GPU resources in the cloud has become a bottleneck for rapid application development. To support this application demand for simultaneous heterogeneous resource usage, programming models and new frameworks are needed to manage the underlying resources effectively. Aneka is emerged as a popular PaaS computing model for the development of Cloud applications using multiple programming models like Thread, Task, and MapReduce in a single container .NET platform. Since, Aneka addresses MIMD application development that uses CPU based resources and GPU programming like CUDA is designed for SIMD application development, here, the chapter discusses GPU PaaS computing model for Aneka Clouds for rapid cloud application development for .NET platforms. The popular opensource GPU libraries are utilized and integrated it into the existing Aneka task programming model. The scheduling policies are extended that automatically identify GPU machines and schedule respective tasks accordingly. A case study on image processing is discussed to demonstrate the system, which has been built using PaaS Aneka SDKs and CUDA library.

[1]  Rajkumar Buyya,et al.  Aneka: a Software Platform for .NET based Cloud Computing , 2009, High Performance Computing Workshop.

[2]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[3]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[4]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[5]  Rajkumar Buyya,et al.  Future Generation Computer Systems Deadline-driven Provisioning of Resources for Scientific Applications in Hybrid Clouds with Aneka , 2022 .

[6]  Miao Xin,et al.  An Implementation of GPU Accelerated MapReduce: Using Hadoop with OpenCL for Data- and Compute-Intensive Jobs , 2012, 2012 International Joint Conference on Service Sciences.

[7]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.

[8]  John E. Stone,et al.  OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems , 2010, Computing in Science & Engineering.

[9]  Richard O. Sinnott,et al.  Resource provisioning for data-intensive applications with deadline constraints on hybrid clouds using Aneka , 2018, Future Gener. Comput. Syst..

[10]  Giulio Giunta,et al.  A GPGPU Transparent Virtualization Component for High Performance Computing Clouds , 2010, Euro-Par.

[11]  Hai Jiang,et al.  GPU-in-Hadoop: Enabling MapReduce across distributed heterogeneous platforms , 2014, 2014 IEEE/ACIS 13th International Conference on Computer and Information Science (ICIS).

[12]  Geoffrey C. Fox,et al.  GPU Passthrough Performance: A Comparison of KVM, Xen, VMWare ESXi, and LXC for CUDA and OpenCL Applications , 2014, 2014 IEEE 7th International Conference on Cloud Computing.

[13]  Sayantan Sur,et al.  MVAPICH2-GPU: optimized GPU to GPU communication for InfiniBand clusters , 2011, Computer Science - Research and Development.

[14]  Rubao Lee,et al.  Spark-GPU: An accelerated in-memory data processing engine on clusters , 2016, 2016 IEEE International Conference on Big Data (Big Data).

[15]  Martin Burtscher,et al.  A Scalable Heterogeneous Parallelization Framework for Iterative Local Searches , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[16]  Kenli Li,et al.  vCUDA: GPU-Accelerated High-Performance Computing in Virtual Machines , 2012, IEEE Trans. Computers.

[17]  Federico Silla,et al.  rCUDA: Reducing the number of GPU-based accelerators in high performance clusters , 2010, 2010 International Conference on High Performance Computing & Simulation.

[18]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[19]  Seren Soner,et al.  Integer programming based heterogeneous CPU-GPU cluster schedulers for SLURM resource manager , 2015, J. Comput. Syst. Sci..

[20]  Srihari Cadambi,et al.  Interference-driven resource management for GPU-based heterogeneous clusters , 2012, HPDC '12.

[21]  Rajkumar Buyya,et al.  Mastering Cloud Computing: Foundations and Applications Programming , 2013 .