[ 
https://issues.apache.org/jira/browse/FLINK-20865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17327425#comment-17327425
 ] 

Flink Jira Bot commented on FLINK-20865:
----------------------------------------

This major issue is unassigned and itself and all of its Sub-Tasks have not 
been updated for 30 days. So, it has been labeled "stale-major". If this ticket 
is indeed "major", please either assign yourself or give an update. Afterwards, 
please remove the label. In 7 days the issue will be deprioritized.

> Prevent potential resource deadlock in fine-grained resource management
> -----------------------------------------------------------------------
>
>                 Key: FLINK-20865
>                 URL: https://issues.apache.org/jira/browse/FLINK-20865
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Coordination
>            Reporter: Yangze Guo
>            Priority: Major
>              Labels: stale-major
>             Fix For: 1.13.0
>
>         Attachments: 屏幕快照 2021-01-06 下午2.32.57.png
>
>
> !屏幕快照 2021-01-06 下午2.32.57.png|width=954,height=288!
> The above figure demonstrates a potential case of deadlock due to scheduling 
> dependency. For the given topology, initially the scheduler will request 4 
> slots, for A, B, C and D. Assuming only 2 slots are available, if both slots 
> are assigned to Pipeline Region 0 (as shown on the left), A and B will first 
> finish execution, then C and D will be executed, and finally E will be 
> executed. However, if in the beginning the 2 slots are assigned to A and C 
> (as shown on the right), then neither of A and C can finish execution due to 
> missing B and D consuming the data they produced.
> Currently, with coarse-grained resource management, the scheduler guarantees 
> to always finish fulfilling requirements of one pipeline region before 
> starting to fulfill requirements of another. That means the deadlock case 
> shown on the right of the above figure can never happen.
> However, there’s no such guarantee in fine-grained resource management. Since 
> resource requirements for SSGs can be different, there’s no control on which 
> requirements will be fulfilled first, when there’s not enough resources to 
> fulfill all the requirements. Therefore, it’s not always possible to fulfill 
> one pipeline region prior to another.
> To solve this problem, we can make the scheduler defer requesting slots for 
> other SSGs before requirements of the current SSG are fulfilled, for 
> fine-grained resource management, at the price of more scheduling time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to