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

Zhu Zhu reassigned FLINK-21332:
-------------------------------

    Assignee: Zhilong Hong

> Optimize releasing result partitions in RegionPartitionReleaseStrategy
> ----------------------------------------------------------------------
>
>                 Key: FLINK-21332
>                 URL: https://issues.apache.org/jira/browse/FLINK-21332
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Runtime / Coordination
>            Reporter: Zhilong Hong
>            Assignee: Zhilong Hong
>            Priority: Major
>             Fix For: 1.13.0
>
>
> RegionPartitionReleaseStrategy is responsible for releasing result partitions 
> when all the downstream tasks finish.
> The current implementation is:
> {code:java}
> for each consumed SchedulingResultPartition of current finished 
> SchedulingPipelinedRegion:
>   for each consumer SchedulingPipelinedRegion of the 
> SchedulingResultPartition:
>     if all the regions are finished:
>       release the partitions
> {code}
> The time complexity of releasing a result partition is O(N^2). However, 
> considering that during the entire stage, all the result partitions need to 
> be released, the time complexity is actually O(N^3).
> After the optimization of DefaultSchedulingTopology, the consumed result 
> partitions are grouped. Since the result partitions in one group are 
> isomorphic, we can just cache the finished status of result partition groups 
> and the corresponding pipeline regions.
> The optimized implementation is:
> {code:java}
> for each ConsumedPartitionGroup of current finished SchedulingPipelinedRegion:
>   if all consumer SchedulingPipelinedRegion of the ConsumedPartitionGroup are 
> finished:
>     set the ConsumePartitionGroup to be fully consumed
>     for result partition in the ConsumePartitionGroup:
>       if all the ConsumePartitionGroups it belongs to are fully consumed:
>         release the result partition
> {code}



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

Reply via email to