-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[参赛项目] Morphling - Flink 流作业的动态资源预测与快速调整 #9
Comments
autopilot适合于大状态作业吗?因为作业本身恢复就比较慢。另外对于流量比较大的作业,频繁重启也会造成数据处理延迟。如果能针对这些情况调节autopilot灵敏度就好了。后续项目会开源吗? |
Autopilot本身提供的一套Control policy不太能准确的预测出最优的资源分配,主要是Scaling的判断没有有效的利用整个pipeline上下游的信息,因此需要多次scaling来达到最优/稳定的资源分配,我们的模型Morphling可以利用上下游的metrics建模分析预测需要的资源数量,然后调用Scaling机制,这样可以降低Scaling的次数,尽快收敛到最优资源分配。 就Scaling本身而言: 目前这还是一个prototype,我们会在比赛结束之后开源demo的代码。 |
请问这部分代码开源了吗 |
You can refer tohttps://github.com/yancanmao/Morphling. We do not have readme inside, so you may need to read by yourself...Good luck. |
It seems the above link is broken '404 Not Found'. |
Sorry, have created a public repo. |
请问入口在哪里?可以大概介绍下用法么? |
这里有一些大概的用法,我们可能还会继续深入做一些科研项目。。 源码入口我们的源码主要都封装在了Flink-runtime 和 Flink-streaming-java里(目前还是一个prototype),如果是看源码的话,我们有两个入口,Controller是从MorphlingController.java运行的,Metrics是从MetricsManager出发的。 用法用途上,我们expose了几个配置在flink-conf.yaml中,默认情况下,我们的实验是在一个single operator的word count上做的。 系统架构这里有一张我们以前的系统架构图,希望可以提供一定的参考,这里StreamSwitch可以替换成Morphling。 |
show 下代码? |
项目简述
Morphling: Flink 流作业的动态资源预测与快速调整
背景
由于流处理作业是长期执行,并且流数据本身会有数据抖动 -- 输入速率会动态的上升或者下降,静态配置的流作业会比可避免的会出现超负载或者过低负载运行,导致流作业的表现不能达到性能需求(SLO)或者不能有效的利用分配的资源。因此基于当前流数据处理行为能够预测合理的资源并且进行快速动态资源分配是非常重要的。已有的系统比如Ververica的autopilot提供了能够基于CPU utilization或者backpressure并且设置threshold的方式来检测并自动的进行资源分配,虽然这样的方式简单快捷并且工作稳定,但是不能有效的利用已有的流数据处理的信息来预测出合理的资源分配,因此可能需要进行多次动态资源配置来达到合理的流处理状态。并且基于重新部署流作业的机制来实现动态资源分配开销较大耗时较长(资源重申请和状态恢复),从而使得流作业有较长时间处于暂停工作的状态。
目标
我们提议在Flink上实现一个可以根据流数据处理的metrics准确预测资源分配并能快速动态资源分配的流作业控制器,这样的控制器可以动态控制流作业并且让流处理运行更高效并且更加节省资源。
实施方案
我们的项目将主要实现一个可以根据metrics预测资源分配并及通过弹性伸缩部分任务的方式进行高效动态资源分配的流处理控制器,我们将在基于Flink实现以下三个模块:
我们将使用WordCount作为benchmark来测试这样的控制器的使用效果。
成员介绍
团队:SANE
成员:
毛言粲(天池ID: Yancanmao),新加坡国立大学博士三年级学生,研究方向:分布式流数据处理
向海林(天池ID: Hailinx),shopee新加坡研发工程师,工作内容:k8s资源调度
杨依涵 (天池ID:),新加坡国立大学博士二年级学生,研究方向:Linux Kernel任务调度,分布式系统。
The text was updated successfully, but these errors were encountered: