You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Till Rohrmann (Jira)" <ji...@apache.org> on 2019/09/13 13:06:00 UTC

[jira] [Closed] (FLINK-5131) Fine-grained Resource Configuration

     [ https://issues.apache.org/jira/browse/FLINK-5131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Till Rohrmann closed FLINK-5131.
--------------------------------
    Resolution: Duplicate

Superseded by [FLIP-53|https://cwiki.apache.org/confluence/display/FLINK/FLIP-53%3A+Fine+Grained+Operator+Resource+Management]

> Fine-grained Resource Configuration
> -----------------------------------
>
>                 Key: FLINK-5131
>                 URL: https://issues.apache.org/jira/browse/FLINK-5131
>             Project: Flink
>          Issue Type: New Feature
>          Components: API / DataSet, API / DataStream, Runtime / Coordination
>            Reporter: zhijiang
>            Priority: Major
>
> Normally the UDF just creates short-life small objects and these can be recycled quickly by JVM, so most of the memory resource is controlled and managed by *TaskManager* framework.  But for some special cases, the UDF may consume much resource to create long-live big objects, so it is necessary to provide the options for professional users to define the resource usages if needed.
> The basic approach is the following:
>   - Introduce the *ResourceSpec* structure to describe the different resource factors (cpu cores, heap memory, direct memory, native memory, etc) and provide some basic construction methods for resource group.
>   - The *ResourceSpec* can be setted onto the internal transformation in DataStream and base operator in DataSet separately.
>   - The *StateBackend* should provide the method to estimate the memory usage based on hint of state size in *ResourceSpec*.
>   - In job graph generation, the *ResourceSpec* will be aggregated  for chained operators.
>   - When *JobManager* requests slot for submitting task from *ResourceManager*, the *ResourceProfile* will be expanded  to correspond with *ResourceSpec*.
>   - The *ResourceManager* requests resource for container from cluster, it should consider extra framework memory except for slot *ResourceProfile*.
>   - The framework memory is mainly used by *NetworkBufferPool* and *MemoryManager* in *TaskManager*, and it can be configured in job level.
>   - Apart from resource, The JVM options attached with container should be supported and could also be configured in job level.
> This feature will be implemented directly into flip-6 branch.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)