arrow
返回

Dynamic Resource Provisioning for Iterative Workloads on Apache Spark

delete2023-01-01
delete6
delete
OA
AI
D
Dazhao Cheng *
Yu Wang 封面图
Yu Wang (Yu Wang)
D
Dong Dai
DOI:10.1109/TCC.2021.3108043delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Apache Spark as a popular in-memory data analytic framework has been employed by various applications-such as machine learning, graph computation, and scientific computing, which benefit from the long-running process (e.g., executor) programming model to avoid system I/O overhead. However, existing resource allocation strategies mainly rely on the peak demand, which are normally specified by users. Since the resource usages of long-running applications like iterative computation vary significantly over time, we find that peak demand based resource allocation policies lead to low cloud utilization in production environments. In this article, we present a utilization aware resource provisioning approach for iterative workloads on Apache Spark (i.e., ${iSpark}$iSpark). It can identify the causes of resource underutilization due to an inflexible resource policy, and elastically adjusts the allocated executors over time according to the real-time resource usage. In general, iterative applications require more computation resources at the beginning stage and their demands for resources diminish as more iterations are completed. iSpark aims to timely scale up or scale down the number of executors in order to fully utilize the allocated resources while taking the dominant factor into consideration. It further preempts the underutilized executors and preserves the cached intermediate data to ensure the data consistency. Testbed evaluations show that iSpark averagely improves the resource utilization of individual executors by 35.2% compared to vanilla Spark. At the same time, it increases the cluster utilization from 32.1% to 51.3% and effectively reduces the overall job completion time by 20.8% for a set of representative iterative applications. Furthermore, we have extended iSpark to multi-tenancy cloud environments. Specifically, iSpark characterizes a virtual node based on two real-time measured performance statistics: I/O rate and CPU steal time. Thus, we extend the two-dimensional resource constraints (i.e., CPU and MeM) in iSpark to three-dimensional resource constraints (i.e., CPU, MeM and I/O) in the cloud environment. We consider two representative interference scenarios in the cloud: stable interference and dynamic interference. Experimental results on virtual clusters with varying interferences show that iSpark with cloud extension improves the average job completion time by 68% compared to default Spark resource allocation policies.
Keyword:
Resource management
Task analysis
Cloud computing
Sparks
Dynamic scheduling
Cluster computing
Real-time systems
Resource provisioning
iterative workloads
utilization aware
data consistency
apache spark
moving into cloud

期刊

I
IEEE Transactions on Cloud Computing
IF:
5
论文数:
1.9K
被引数:
4.3K

机构

U
university of north carolina
学者数:
7.4W
论文数: 6.5W
被引数: 93
U
University of North Carolina Charlotte
学者数:
3.0K
论文数: 2.5K
被引数: 2
引用论文

引用论文

err分享
err收藏
err分享
err收藏
Language outcomes after resection of dominant inferior parietal lobule gliomas
err2017-10-01
err0
PREAI
errDerek G. Southwell; Marco Riva; Kesshi Jordan; Eduardo Caverzasi; Jing Li; David W. Perry; Roland G. Henry; Mitchel S. Berger
err分享
err收藏
Fatal Castlemanʼs disease and pulmonary Kaposiʼs sarcoma in an HIV-seropositive woman
errAIDS
IF0
err1995-07-01
err0
PREAI
errM. K. Wynia; B. Shapiro; J. T. Kuvin; P. R. Skolnik
err分享
err收藏
Breast Cancer Surgery in Images
err2017-01-01
err0
errOAAI
errAlexandru Blidaru; Cristian Ioan Bordea; Elena Ichim; Bassam El Houcheimi; Iulia Matei Purge; Aniela Noditi; Ionut Sterie; Mirela Gherghe; Mihaela Radu
err分享
err收藏
学者 查看更多内容