Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. We don’t release the non-read slots properly

  2. We need to introduce synchronization after every iteration to prevent early releasing

Fifth Approach - Write broadcast data to one blocking subpartition only

 

This approach writes the broadcast data only to one blocking subpartition. So there is no data redundancy and no unnecessary network traffic. In order to make the broadcast subpartitions blocking we modify the job graph generation accordingly.


blocking.pngImage Added


This approach currently does not work for native iterations (see https://issues.apache.org/jira/browse/FLINK-1713).

In the case of a simple Map().withBroadcastSet() we achieve the following results on the IBM-cluster:

 

suite

name

average_time (ms)

broadcast.ibm-power-1

broadcast.01

6597.33

broadcast.ibm-power-1

broadcast.02

5997

broadcast.ibm-power-1

broadcast.04

6576.66

broadcast.ibm-power-1

broadcast.08

7024.33

broadcast.ibm-power-1

broadcast.16

6933.33

You can see that the run time stays constant, which is exactly what we want. So the next step is to extend iterations to make it work in general.

Compatibility, Deprecation, and Migration Plan

...