[
https://issues.apache.org/jira/browse/FLINK-21332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhu Zhu closed FLINK-21332.
---------------------------
Resolution: Fixed
Done via 9951be845e14026b17518373c73e28796e63407d
> 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
> Labels: pull-request-available
> 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)