[ https://issues.apache.org/jira/browse/FLINK-15325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224723#comment-17224723 ]
Zhu Zhu commented on FLINK-15325: --------------------------------- I'd like to resume this discussion because it has been the cause of imbalanced load problem in our latest TPCDS benchmark. It also means this problem can happen in real production scenarios. In cases (e.g. broadcast join with one small input) that there is a small source with parallelism=1, we can see its consumer tasks will be deployed to the same machine of that source task until all the slots on that machine are assigned, while the other machines can have more than 50% available slots unassigned. That source task machine then will have a heavy load and tasks on it will be much slower than tasks on other machines. We tried a local patch to disable input location preferences and 10TB TPCDS benchmark turned out to be ~5% faster (~500s less time v.s. total 9000s). So I think it would be good to have an config option (e.g. jobmanager.enable-input-location-preferences) to enable or disable input location preferences. If it is disabled, {{DefaultPreferredLocationsRetriever#getPreferredLocationsBasedOnInputs()}} should always return an empty set. To be safe, we can keep it "true" by default. And we will actually not completely lost the benefit of input locality because we now have deterministic slot sharing. The input locality of FORWARD connections, which contributes to the major benefits of input locality, will be respected when computing {{ExecutionSlotSharingGroup}} (when the FORWARD edge is PIPELINED). Thus only the input locality across pipelined regions will be ignored. What do you think? [~trohrmann] > Input location preference which affects task distribution may make certain > job performance worse > ------------------------------------------------------------------------------------------------- > > Key: FLINK-15325 > URL: https://issues.apache.org/jira/browse/FLINK-15325 > Project: Flink > Issue Type: Improvement > Components: Runtime / Coordination > Affects Versions: 1.10.0 > Reporter: Zhu Zhu > Priority: Major > Attachments: D58ADB03-7187-46B1-B077-91E5005FD463.png > > > When running TPC-DS jobs in a session cluster, we observed that sometimes > tasks are not evenly distributed in TMs. The root cause turned out to be that > the downstream tasks tend to be TM or host local with its input tasks. This > helps to reduce network shuffle. > However, in certain cases, like the topology presented in the attached image, > jamming the input task's TM and machine with downstream tasks would affect > the performance. In this case, respecting input location preferences is > causing troubles more than bringing benefits. > So I'm wondering whether we should introduce a config so that users can > disable input location preferences? -- This message was sent by Atlassian Jira (v8.3.4#803005)