[ 
https://issues.apache.org/jira/browse/FLINK-9253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454527#comment-16454527
 ] 

ASF GitHub Bot commented on FLINK-9253:
---------------------------------------

GitHub user NicoK opened a pull request:

    https://github.com/apache/flink/pull/5923

    [FLINK-9253][network] make the maximum floating buffers count channel-type 
independent

    ## What is the purpose of the change
    
    The credit-based flow control path assigns exclusive buffers only to remote 
channels (which makes sense since local channels don't use any own buffers). 
However, this is a bit intransparent with respect to how much data may be in 
buffers since this depends on the actual schedule of the job and not the job 
graph.
    
    By adapting the floating buffers to use a maximum of `numberOfInputChannels 
* networkBuffersPerChannel + extraNetworkBuffersPerGate - #exclusiveBuffers`, 
we would be channel-type agnostic and keep the old behaviour of using at most 
`numberOfInputChannels * networkBuffersPerChannel + extraNetworkBuffersPerGate` 
buffers in total.
    
    ## Brief change log
    
    - change the floating buffer pool to use the remaining number of buffers 
from a total maximum of `numberOfInputChannels * networkBuffersPerChannel + 
extraNetworkBuffersPerGate` per channel
    
    ## Verifying this change
    
    This change is already covered by existing tests, such as 
`NetworkEnvironmentTest`.
    
    ## Does this pull request potentially affect one of the following parts:
    
      - Dependencies (does it add or upgrade a dependency): **no**
      - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: **no**
      - The serializers: **no**
      - The runtime per-record code paths (performance sensitive): **no** 
(well, kind of, but not per record)
      - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: **no**
      - The S3 file system connector: **no**
    
    ## Documentation
    
      - Does this pull request introduce a new feature? **no**
      - If yes, how is the feature documented? **not applicable**


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/NicoK/flink flink-9253

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/5923.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5923
    
----
commit dfd85bc2cb776d00c9fac1c2844b1c4d6b19f568
Author: Nico Kruber <nico@...>
Date:   2018-04-26T16:38:00Z

    [FLINK-9253][network] make the maximum floating buffers count channel-type 
independent
    
    Although with credit-based flow control exclusive buffers are only assigned 
to
    remote input channels, let's keep the overall maximum number of buffers per
    (bounded) input gate at
    numberOfInputChannels * networkBuffersPerChannel + 
extraNetworkBuffersPerGate
    
    This is easier to grasp for the user than a buffer count that depends on the
    deployment.

----


> Make buffer count per InputGate always #channels*buffersPerChannel + 
> ExclusiveBuffers
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-9253
>                 URL: https://issues.apache.org/jira/browse/FLINK-9253
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Network
>    Affects Versions: 1.5.0, 1.6.0
>            Reporter: Nico Kruber
>            Assignee: Nico Kruber
>            Priority: Major
>             Fix For: 1.5.0
>
>
> The credit-based flow control path assigns exclusive buffers only to remote 
> channels (which makes sense since local channels don't use any own buffers). 
> However, this is a bit intransparent with respect to how much data may be in 
> buffers since this depends on the actual schedule of the job and not the job 
> graph.
> By adapting the floating buffers to use a maximum of 
> {{#channels*buffersPerChannel + floatingBuffersPerGate - #exclusiveBuffers}}, 
> we would be channel-type agnostic and keep the old behaviour.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to