Adaptive Resource Allocation for Workflow Containerization on Kubernetes

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Shan, Chenggang, Wu, Chuge, Xia, Yuanqing, Guo, Zehua, Liu, Danyang, Zhang, Jinhui
Format: Preprint
Publié: 2023
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866916080002269184
author Shan, Chenggang
Wu, Chuge
Xia, Yuanqing
Guo, Zehua
Liu, Danyang
Zhang, Jinhui
author_facet Shan, Chenggang
Wu, Chuge
Xia, Yuanqing
Guo, Zehua
Liu, Danyang
Zhang, Jinhui
contents In a cloud-native era, the Kubernetes-based workflow engine enables workflow containerized execution through the inherent abilities of Kubernetes. However, when encountering continuous workflow requests and unexpected resource request spikes, the engine is limited to the current workflow load information for resource allocation, which lacks the agility and predictability of resource allocation, resulting in over and under-provisioning resources. This mechanism seriously hinders workflow execution efficiency and leads to high resource waste. To overcome these drawbacks, we propose an adaptive resource allocation scheme named ARAS for the Kubernetes-based workflow engines. Considering potential future workflow task requests within the current task pod's lifecycle, the ARAS uses a resource scaling strategy to allocate resources in response to high-concurrency workflow scenarios. The ARAS offers resource discovery, resource evaluation, and allocation functionalities and serves as a key component for our tailored workflow engine (KubeAdaptor). By integrating the ARAS into KubeAdaptor for workflow containerized execution, we demonstrate the practical abilities of KubeAdaptor and the advantages of our ARAS. Compared with the baseline algorithm, experimental evaluation under three distinct workflow arrival patterns shows that ARAS gains time-saving of 9.8% to 40.92% in the average total duration of all workflows, time-saving of 26.4% to 79.86% in the average duration of individual workflow, and an increase of 1% to 16% in CPU and memory resource usage rate.
format Preprint
id arxiv_https___arxiv_org_abs_2301_08409
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Adaptive Resource Allocation for Workflow Containerization on Kubernetes
Shan, Chenggang
Wu, Chuge
Xia, Yuanqing
Guo, Zehua
Liu, Danyang
Zhang, Jinhui
Distributed, Parallel, and Cluster Computing
In a cloud-native era, the Kubernetes-based workflow engine enables workflow containerized execution through the inherent abilities of Kubernetes. However, when encountering continuous workflow requests and unexpected resource request spikes, the engine is limited to the current workflow load information for resource allocation, which lacks the agility and predictability of resource allocation, resulting in over and under-provisioning resources. This mechanism seriously hinders workflow execution efficiency and leads to high resource waste. To overcome these drawbacks, we propose an adaptive resource allocation scheme named ARAS for the Kubernetes-based workflow engines. Considering potential future workflow task requests within the current task pod's lifecycle, the ARAS uses a resource scaling strategy to allocate resources in response to high-concurrency workflow scenarios. The ARAS offers resource discovery, resource evaluation, and allocation functionalities and serves as a key component for our tailored workflow engine (KubeAdaptor). By integrating the ARAS into KubeAdaptor for workflow containerized execution, we demonstrate the practical abilities of KubeAdaptor and the advantages of our ARAS. Compared with the baseline algorithm, experimental evaluation under three distinct workflow arrival patterns shows that ARAS gains time-saving of 9.8% to 40.92% in the average total duration of all workflows, time-saving of 26.4% to 79.86% in the average duration of individual workflow, and an increase of 1% to 16% in CPU and memory resource usage rate.
title Adaptive Resource Allocation for Workflow Containerization on Kubernetes
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2301.08409