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

Andrey Zagrebin commented on FLINK-14936:
-----------------------------------------

Thanks for the feedback [~zhuzh] 
Yes, you are right we should make it reusable for other components. I just did 
not want to add one more concern to MemoryManager directly. That is why I 
mentioned having a static utility method, likeĀ 
_MemoryManagerUtils#computeMemorySize(fraction, memoryType, memoryManager)._
Another idea would be to create a wrapping 
_LimittingMemoryManager(MemoryManager, fraction/smallerSize)_ which would limit 
the size of the original MemoryManager to the fraction or new smaller size. 
This wrapper would be then like a memory manager per operator or other 
component with the same API and its #_getMemorySizeByType_ and #_getMemorySize_ 
would do the job.

> Introduce MemoryManager#computeMemorySize to calculate managed memory from a 
> fraction
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-14936
>                 URL: https://issues.apache.org/jira/browse/FLINK-14936
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Coordination
>    Affects Versions: 1.10.0
>            Reporter: Zhu Zhu
>            Priority: Major
>
> A MemoryManager#computeMemorySize(double fraction) is needed to calculate 
> managed memory bytes from a fraction.
> It can be helpful for operators to get the memory size it can reserve and for 
> further #reserveMemory. (Similar to #computeNumberOfPages).
> Here are two cases that may need this method in near future:
> 1. [Python operator memory 
> management|https://lists.apache.org/thread.html/dd4dedeb9354c2ee559cd2f15629c719853915b5efb31a0eafee9361@%3Cdev.flink.apache.org%3E]
> 2. [Statebackend memory 
> management|https://issues.apache.org/jira/browse/FLINK-14883]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to