开发者社区> 问答> 正文

Flink的Slot是如何做到平均划分TM内存的?

Hi All, 在官方文档里面,有介绍说多个Slot之间可以平均划分TM内存。 但是我在Flink的源代码里面并没有找到Slot平均划分TM内存的代码。而且不太明白的是,同一个JVM内,不同Slot平均划分内存的实现原理是什么? 非常感谢!*来自志愿者整理的flink邮件归档

展开
收起
雪哥哥 2021-12-07 16:19:02 1011 0
1 条回答
写回答
取消 提交回答
  • Flink并不能保证TM的资源是严格平分给所有slot的。正如你所言,JVM中不同线程的资源并无严格隔离。所谓的平均划分更多的是调度上的考虑,可以理解为在调度时认为一个slot的资源相当于TM资源的1/n (n为slot数)。

    有一个特例,对于DataSet作业使用到的managed memory,Flink目前是保证了TM的managed memory平均划分给所有slot的。Managed memory由TM上的MemoryManager管理,task在运行期间向MemoryManager申请内存,因此可以控制每个slot中task申请的内存上限。*来自志愿者整理的flink

    2021-12-07 16:43:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载