Gabor Gevay created FLINK-3322:
----------------------------------

             Summary: MemoryManager creates too much GC pressure with iterative 
jobs
                 Key: FLINK-3322
                 URL: https://issues.apache.org/jira/browse/FLINK-3322
             Project: Flink
          Issue Type: Bug
          Components: Distributed Runtime
    Affects Versions: 1.0.0
            Reporter: Gabor Gevay


When taskmanager.memory.preallocate is false (the default), released memory 
segments are not added to a pool, but the GC is expected to take care of them. 
This puts too much pressure on the GC with iterative jobs, where the operators 
reallocate all memory at every superstep.

See the following discussion on the mailing list:
http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/Memory-manager-behavior-in-iterative-jobs-tt10066.html

Reproducing the issue:
https://github.com/ggevay/flink/tree/MemoryManager-crazy-gc
The class to start is malom.Solver. If you increase the memory given to the JVM 
from 1 to 50 GB, performance gradually degrades by more than 10 times. (It will 
generate some lookuptables to /tmp on first run for a few minutes.) (I think 
the slowdown might also depend somewhat on taskmanager.memory.fraction, because 
more unused non-managed memory results in rarer GCs.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to