You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Anton Kalashnikov (Jira)" <ji...@apache.org> on 2021/10/29 06:23:00 UTC
[jira] [Updated] (FLINK-24690) Clarification of buffer size
threshold calculation in BufferDebloater
[ https://issues.apache.org/jira/browse/FLINK-24690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Kalashnikov updated FLINK-24690:
--------------------------------------
Issue Type: Improvement (was: Bug)
> Clarification of buffer size threshold calculation in BufferDebloater
> ----------------------------------------------------------------------
>
> Key: FLINK-24690
> URL: https://issues.apache.org/jira/browse/FLINK-24690
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Network
> Affects Versions: 1.14.0
> Reporter: Anton Kalashnikov
> Priority: Major
>
> It looks like that the variable `skipUpdate` in BufferDebloater#recalculateBufferSize is calculated in a not obvious way.
> For example if `taskmanager.network.memory.buffer-debloat.threshold-percentages` is set to 50(means 50%) then it will be something like:
> * 32000 -> 16000(possible)
> * 32000 -> 17000(not possible)
> * 16000 -> 24000(not possible) - but 16000 + 50% = 24000
> * 16000 -> 32000(only this possible)
> This happens because the algorithm takes into account only the largest value. So in example of `16000 -> 24000` it would calculate 50% of 24000 so only transit from 12000 -> 24000 possible.
> In general, this approach is not so bad especially on small values (instead of 256 ->374, the minimum possible transit is 256 -> 512). But we should clarify it somewhere with test or javadoc or both. Also, we can discuss changing this algorithm to a more natural implementation.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)