Publication

Leveraging shared accelerators in kubernetes clusters with rOpenCL

View document

Bibliographic Details
Summary:High-Performance Computing involves exploiting the capabilities of powerful computing resources to achieve high computational performance, efficiency, and scalability. By enabling to process complex tasks and/or large amounts of data efficiently, HPC plays an essential role in multiple domains. Parallelization and distribution of workloads across multiple processing resources is at the core of HPC and has been done via many approaches, including different programmatic models and service frameworks. In recent years, HPC has been coupled with Containerization, as a way to deploy, manage and run workloads in an automated and efficient manner, including those relying on accelerators. The performance of heterogeneous workloads, however, depends on the behavior of the platform scheduler, and of the mechanisms used to share accelerators, being also constraint by the limited number of accelerators that each node may host. This paper describes an approach by which the last limitation may be overcome, using a Kubernetes cluster as a show case. The approach builds on the integration of Kubernetes with rOpenCL, an OpenCL API forwarder for remote execution of OpenCL calls. This combination may also be particularly useful in Edge Computing scenarios, where containerized edge services gain the ability to access, transparently and efficiently, remote (e.g. cloud-based) accelerators. Some preliminary experimental results are presented, demonstrating the feasibility of this integration, and the impact on performance for an OpenCL application.
Main Authors:Alves, Rui
Other Authors:Rufino, José
Subject:Heterogeneous Computing Containerization OpenCL Kubernetes
Year:2024
Country:Portugal
Document type:conference paper
Access type:open access
Associated institution:Universidade Politécnica de Bragança
Language:English
Origin:Biblioteca Digital da UPB
Description
Summary:High-Performance Computing involves exploiting the capabilities of powerful computing resources to achieve high computational performance, efficiency, and scalability. By enabling to process complex tasks and/or large amounts of data efficiently, HPC plays an essential role in multiple domains. Parallelization and distribution of workloads across multiple processing resources is at the core of HPC and has been done via many approaches, including different programmatic models and service frameworks. In recent years, HPC has been coupled with Containerization, as a way to deploy, manage and run workloads in an automated and efficient manner, including those relying on accelerators. The performance of heterogeneous workloads, however, depends on the behavior of the platform scheduler, and of the mechanisms used to share accelerators, being also constraint by the limited number of accelerators that each node may host. This paper describes an approach by which the last limitation may be overcome, using a Kubernetes cluster as a show case. The approach builds on the integration of Kubernetes with rOpenCL, an OpenCL API forwarder for remote execution of OpenCL calls. This combination may also be particularly useful in Edge Computing scenarios, where containerized edge services gain the ability to access, transparently and efficiently, remote (e.g. cloud-based) accelerators. Some preliminary experimental results are presented, demonstrating the feasibility of this integration, and the impact on performance for an OpenCL application.

Funded activities

Loading funded projects...