Skip to main content
Log in

Multiprovision: a Design Space Exploration tool for multi-tenant resource provisioning in CPU–GPU environments

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

Cloud warehouses are increasingly adopting CPU–GPU collaborative systems to leverage diverse types and levels of parallelism in applications. These environments are shared among multiple clients to achieve maximum resource utilization with energyf efficiency and scalability. While OpenCL simplifies resource provisioning in such heterogeneous systems, ensuring the effective distribution of tasks remains challenging as CPU–GPU available architectures and workload characteristics can vary significantly. This study addresses the challenge of efficiently provisioning resources in OpenCL-based CPU–GPU cloud environments. To tackle this challenge, we introduce MultiProvision, a Design Space Exploration tool for multi-tenant resource provisioning in CPU–GPU environments. MultiProvision facilitates the identification of the most suitable provisioning strategy for a given workload and architecture scenario in a transparent manner. Through comprehensive evaluations encompassing various architecture combinations and workloads, we demonstrate that the choice of the most efficient provisioning strategy depends on the target architecture, workload characteristics, and optimization objectives, such as makespan or energy. We show that the appropriate strategy can achieve remarkable gains of up to 13.15\(\times \) in makespan and 4.52\(\times \) in energy compared to a GPU-only execution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Algorithm 1
Algorithm 2
Algorithm 3
Algorithm 4
Algorithm 5
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Availability of data and materials

The data that support the findings of this study are available from the corresponding authors upon reasonable request.

Notes

  1. The repository is available on GitHub under the following link: https://github.com/MultiProvision/MultiProvision.

References

  1. Campa S, Danelutto M, Goli M, González-Vélez H, Popescu AM, Torquati M (2014) Parallel patterns for heterogeneous CPU/GPU architectures: structured parallelism from cluster to cloud. Future Gener Comput Syst 37:354–366

    Article  Google Scholar 

  2. Ravi VT, Becchi M, Jiang W, Agrawal G, Chakradhar S (2013) Scheduling concurrent applications on a cluster of CPU–GPU nodes. Future Gener Comput Syst 29(8):2262–2271

    Article  Google Scholar 

  3. Khronos® OpenCL Working Group (2021) The OpenCL\(^{{\rm TM}}\) C Specification

  4. Weinman J (2011) Cloud computing is np-complete. In: Proceedings of the technical symposium ITU Telecom World, pp 75–81

  5. Dávila Guzmán MA, Nozal R et al (2019) Cooperative CPU, GPU, and FPGA heterogeneous execution with EngineCL. J Supercomput 75(3):1732–1746

    Article  Google Scholar 

  6. Sun E, Schaa D, Bagley R, Rubin N, Kaeli D (2012) Enabling task-level scheduling on heterogeneous platforms. In: GPGPU-5. ACM Press, pp 84–93

  7. Grewe D, O’Boyle MFP (2011) A static task partitioning approach for heterogeneous systems using OpenCL. In: Knoop J (ed) Compiler construction, lecture notes in computer science, vol 6601. Springer, Berlin, pp 286–305

  8. Wen Y, Wang Z, O’Boyle MFP (2014) Smart multi-task scheduling for OpenCL programs on CPU/GPU heterogeneous platforms. In: HiPC. IEEE, pp 1–10

  9. Riebler H, Vaz G, Kenter T, Plessl C (2019) Transparent acceleration for heterogeneous platforms with compilation to OpenCL. ACM Trans Archit Code Optim 16(2):1–26

    Article  Google Scholar 

  10. Moreń K, Göhringer D (2020) Coopcl: cooperative execution of opencl programs on heterogeneous CPU–GPU platforms. In: 2020 28th Euromicro international conference on parallel, distributed and network-based processing (PDP). IEEE, pp 224–231

  11. Ahmed U, Lin JC-W, Srivastava G, Aleem M (2021) A load balance multi-scheduling model for opencl kernel tasks in an integrated cluster. Soft Comput 25(1):407–420

    Article  Google Scholar 

  12. Knorst T, Jordan MG, Lorenzen AF, Rutzig MB, Beck ACS (2021) Etcg: energy-aware CPU thread throttling for CPU–GPU collaborative environments. In: SBCCI. IEEE, pp 1–6

  13. Kim J, Kim H, Lee JH, Lee J (2011) Achieving a single compute device image in OpenCL for multiple GPUs. In: PPoPP, p 11

  14. Taylor B, Marco VS, Wang Z (2017) Adaptive optimization for OpenCL programs on embedded heterogeneous systems. In: Proceedings of the 18th ACM SIGPLAN/SIGBED. ACM, pp 11–20

  15. Massari G, Caffarri C, Bellasi P, Fornaciari W (2014) Extending a run-time resource management framework to support OpenCL and heterogeneous systems. In: PARMA-DITAM’14. ACM Press, pp 21–26

  16. vikancha MSFT, Azure VM sizes—GPU—Azure Virtual Machines (online). https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-gpu

  17. Amazon EC2 Features—Amazon Web Services (online). https://aws.amazon.com/ec2/features/

  18. Vicenzi JC, Knorst T, Jordan MG, Korol G, Beck ACS, Rutzig MB (2021) Tripp: transparent resource provisioning for multi-tenant CPU–GPU based cloud environments. In: 2021 XI Brazilian symposium on computing systems engineering (SBESC). IEEE, pp 1–8

  19. NVIDIA (2012) Tesla K20 GPU Active Accelerator Board Specification, 3rd ed. NVIDIA Corporation, US. https://www.nvidia.com/content/PDF/kepler/tesla-k20-active-bd-06499-001-v03.pdf

  20. NVIDIA (2015) Tesla K80 GPU Active Accelerator Board Specification, 5th ed. NVIDIA Corporation, US. https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/tesla-product-literature/Tesla-K80-BoardSpec-07317-001-v05.pdf

  21. NVIDIA (2021) NVIDIA GEFORCE GTX\(^{{\rm TM}}\) 1660 Ti 6GB. NVIDIA Corporation. https://www.nvidia.com/pt-br/geforce/gaming-laptops/gtx-1660-ti/

  22. NVIDIA (2018) NVIDIA GEFORCE GTX 1080 Ti 11GB. NVIDIA Corporation. https://www.nvidia.com/pt-br/geforce/products/10series/geforce-gtx-1080-ti/

  23. NVIDIA (2022) NVIDIA GEFORCE GTX 4070 Ti 12GB. NVIDIA Corporation. https://www.nvidia.com/pt-br/geforce/graphics-cards/40-series/rtx-4070-4070ti/

  24. Grauer-Gray S, Xu L, Searles R, Ayalasomayajula S, Cavazos J (2012) Auto-tuning a high-level language targeted to GPU codes. In: InPar. IEEE, pp 1–10 (online). http://ieeexplore.ieee.org/document/6339595/

  25. Stallman RM, Developer Community G (2009) Using the Gnu compiler collection: a Gnu manual for Gcc version 4.3.3. CreateSpace, Scotts Valley

Download references

Acknowledgements

This study was financed in part by the Coordenaşão de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001, São Paulo Research Foundation (FAPESP) Grant #2021/06825-8, FAPERGS, and CNPq.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael G. Jordan.

Ethics declarations

Conflict of interest

The authors have no conflicts of interest to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jordan, M.G., Vicenzi, J.C., Knorst, T. et al. Multiprovision: a Design Space Exploration tool for multi-tenant resource provisioning in CPU–GPU environments. Des Autom Embed Syst 27, 241–273 (2023). https://doi.org/10.1007/s10617-023-09279-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-023-09279-3

Keywords

Navigation