暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
面向Flink迭代作业的动态资源分配策略-岳晓飞,史岚,赵宇海,季航旭,王国仁.pdf
437
20页
0次
2022-05-19
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software, 2022,33(3):9851004 [doi: 10.13328/j.cnki.jos.006447] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
面向 Flink 迭代作业的动态资源分配策略
岳晓飞
1
,
1
,
赵宇海
1
,
季航旭
1
,
王国仁
2
1
(东北大学 计算机科学与工程学院, 辽宁 沈阳 110169)
2
(北京理工大学 计算机学院, 北京 100081)
通信作者: 赵宇海, E-mail: zhaoyuhai@mail.neu.edu.cn
: 新兴分布式计算框架 Apache Flink 支持在集群上执行大规模的迭代程序, 但其默认的静态资源分配机制
导致无法进行合理的资源配置来使迭代作业按时完成. 针对这一问题, 应该依靠用户来主动表达性能约束而不是
被动地进行资源保留, 故提出了一种基于运行时间预测的动态资源分配策略 RABORP (resource allocation based on
runtime prediction), 来为具有明确运行时限的 Flink 迭代作业制定动态资源分配计划并实施. 其主要思想是: 通过
预测各个迭代超步的运行时间, 然后根据预测结果在迭代作业提交时和超步间的同步屏障处分别进行资源的初始
分配和动态调整, 以保证可使用最小资源, 使迭代作业在用户规定的运行时限内完成. 通过在不同数据集下
行多种典型的 Flink 迭代作业进行了相关对比实验, 实验结果表明, 所建立的运行时间预测模型能够对各个超步
的运行时间进行准确预测, 而且在单作业和多作业场景下, 采用所提出的动态资源分配策略相比于目前最先进算
法在各项性能指标上都有所提升.
关键词: 迭代作业; 运行时间预测; 资源分配; 运行时限; Apac he Flink
中图法分类号: TP311
中文引用格式: 岳晓飞, 史岚, 赵宇海, 季航旭, 王国仁. 面向 Flink 迭代作业的动态资源分配策略. 软件学报, 2022, 33(3):
985–1004. http://www.jos.org.cn/1000-9825/6447.htm
英文引用格式: Yue XF, Shi L, Zhao YH, Ji HX, Wang GR. Dynamic Resource Allocation Strategy for Flink Iterative Jobs. Ruan
Jian Xue Bao/Journal of Software, 2022, 33(3): 9851004 (in Chinese). http://www.jos.org.cn/1000-9825/6447.htm
Dynamic Resource Allocation Strategy for Flink Iterative Jobs
YUE Xiao-Fei
1
, SHI Lan
1
, ZHAO Yu-Hai
1
, JI Hang-Xu
1
, WANG Guo-Ren
2
1
(School of Computer Science and Engineering, Northeastern University, Shenyang 110169, China)
2
(School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, China)
Abstra ct : Apache Flink, an emerging distributed computing framework, supports the execution of large-scale iterative programs on the
cluster, but its default static resource allocation mechanism makes it impossible to carry out reasonable resource allocation to make
iterative jobs complete on time. In response to this problem, that users should be relied on to actively express performance constraints
rather than passively retain resources. RABORP, a dynamic resource allocation strategy based on runtime prediction is proposed to
develop and implement a dynamic resource allocation plan for Flink iterative jobs with clear runtime limits. The main idea is to predict
the runtime of each iteration superstep, and then the initial allocation and dynamic adjustment of resources are performed at the time of
the iterative job submission and the synchronization barrier between the supersteps according to the predicted results, to ensure that the
minimum set of resources can be used to complete the iterative job within the runtime limit specified by the user. A variety of typical
Flink iterative jobs were executed under the dataset to carry out relevant comparative experiments. Experimental results show that the
established runtime prediction model can accurately predict the runtime of each superstep, and compared with the current state-of-the-art
algorithms, the proposed dynamic resource allocation strategy used in single-job and multi-job scenarios has improved various
基金项目: 国家重点研发计划(2018YFB1004402); 国家自然科学基金(61772124)
本文由数据库系统新型技术专题特约编辑李国良教授、于戈教授、杨俊教授和范举教授推荐.
收稿时间: 2021-06-30; 修改时间: 2021-07-31; 采用时间: 2021-09-13; jos 在线出版时间: 2021-10-21
986
软件学报 2022 年第 33 卷第 3
performance indicators.
Key words: iterative job; runtime prediction; resource allocation; runtime limit; Apache Flink
迭代计算通常是机器学习和图处理算法的核心部分
[1,2]
, 即一个或多个步骤被重复执行, 直到满足收敛标
, 在数据挖掘、社交网络等各类应用中起着举足轻重的作用. 随着互联网技术的高速发展, 各种场景下的数
据集规模日益增多, 使得在工业和科学领域上使用 Apache Spark
[3]
Flink
[4]
等分布式计算框架进行分布式迭
代计算已经变得非常普遍
[5]
. 分布式迭代作业在真实生产中通常占据很大比重, 而且往往需要反复执行
[6]
,
们大都需要遵守服务级目标(service level goal, SLO)
[7]
, 需要在严格规定的运行时限内完成, 因为外部应用
常需要及时反馈的分析结果, 例如, Twitter 公司明确要求在 10 分钟内完成对 TB 级日志数据索引的搜索和查
[8]
, 时延太高会违反与用户签订的服务水平协议(service level agreement, SLA)
[9]
. 在大多数情况下, 用户往
往会过度地为作业进行资源供应, 这导致集群整体的资源利用率较低, 而且产生了庞大的运维成本
[10]
, 这种
资源分配不均衡现象对于需要循环执行的迭代作业的影响更大.
Apahce Flink 是一种低延迟、高吞吐的新型分布式计算框架, 相对于其他主流框架, 具有极高的迭代计算
效率
[1113]
, 已经受到学术界和工业界的广泛关注. 虽然 Flink 在迭代计算方面有一定的优越性, 但它并不会将
迭代作业的时限需求作为资源分配的依据, 而是简单地通过用户请求来进行初始资源配置, 该配置在作业开
始后就不再改变
[14]
. 同时, 近年来还没有针对 Flink 迭代作业资源分配优化的有效解决方案, 而且大部分工
[1517]
都专注于对资源调度的优化, 仍具有无法解决目前普遍存在的集群资源浪费现象的局限性. 所以,
何在 Flink 环境下及时优化集群资源供应来使迭代作业按时完成, 是目前亟需解决的问题.
分布式作业的执行行为通常具有可预测
[18]
, 因为除了循环执行的迭代作业外, 其他批处理作业也通常
长时间周期性执行, 它们的特点是每次执行使用相同的算法逻辑来处理不同规模的数据, 而且容易获取执行
过程中的各项统计信息, 所以目前对集群资源分配优化的研究
[1928]
主要依赖于建立机器学习模型进行性能预
, 来为作业选择最佳资源配置, 已取得了一系列有效的研究成果. 但是这些工作普遍存在模型复杂、训练开
销大以及对迭代作业的优化效果较差等问题. 不同于以往的工, 我们认为, 应该依靠用户来主动表达性能
约束而不是被动地进行资源保留, 因此提出了面向 Flink 迭代作业的动态资源分配策略 RABORP, 该策略的核
心目标是: 使用最少的资源来使 Flink 迭代作业在用户期望的时间内完成. 同时, 该策略并不局限于 Flink
, 它能够很轻易地移植在使用整体同步并行模型(bulk synchronous parallel, BSP)构建迭代计算程序的其他
框架上. 本文的主要贡献如下:
提出了面向迭代超步的轻量级运行时间预测模型, 可针对不同的预测目标在参数回归模型和非参数
回归模型之间进行选择.
提出了基于运行时间预测的动态资源分配策略 RABORP, 可根据当前迭代作业剩余超步运行时间的
预测值和用户提出的作业时限要求制定动态资源分配计划并实施.
通过在 Flink on Yarn 框架的基础架构上添加一些必要的组件, 实现了 RABORP 策略的原型系统.
通过在不同数据集上执行多个典型的 Flink 迭代作业来进行对比实验, 说明了所提出的运行时间预测
模型和 RABORP 策略的正确性和性能提升效果.
本文第 1 节对目前与本文研究密切相关的工作进行介绍和总结. 2 节主要介绍 Flink 中的迭代计算模型
以及通信模式等背景知识和与所研究问题相关的定义. 3 节对面向超步的运行时间预测模型的建立和拓展
过程进行说明. 4 节基于运行时间预测来对当前迭代作业的资源进行动态分配来满足用户需求. 5 节在
多种数据集上进行相关对比实验, 对所提出的方法进行评估. 6 节对全文整体的工作进行总结, 并对未来值
得继续深入研究的方向进行展望.
1 相关工作
本节从 2 个方面介绍与研究内容相关的现有工作: (1) 运行时间预测方法; (2) 自动资源分配技术.
of 20
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜