JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-308  -  Low performance of node/driver when the allocated heap is small
Posted Aug 14, 2014 - updated Aug 15, 2018
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Bug report
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     lolo4j
  • Owned by
    Not owned by anyone
  • Category
    Core
  • Resolution
    RESOLVED
  • Priority
    Normal
  • Reproducability
    Always
  • Severity
    Normal
  • Targetted for
    icon_milestones.png JPPF 4.2.x
Issue description
Running the matrix sample with matrix size 300*300 and one node with 64 MB of heap, I noticed that the completion of one job could take up to 7 seconds, when it normally takes an average of 40 ms when the node has a larger heap (e.g. 128 mb).

By enabling debug logging in the IOHelper class, I could observe that this was due to disk overflow taking place.
Steps to reproduce this issue
run the standard matrix sample with 1 driver and 1 node with -Xmx=64m

==> some of the jobs will be fast (under 50/60 ms) while some will take up to several seconds to complete

#2
Comment posted by
 lolo4j
Aug 14, 20:21
A workaround is to trigger a GC when ever IOHelper.fitsInMemory(int) returns false, then call fitsInMemory() memory again. The GC overhead appears to be much lesser than the disk overflow's.
#5
Comment posted by
 lolo4j
Aug 14, 20:37
fixed in: The GC workaround can be disabled by setting the property "jppf.gc.on.disk.overflow = false" (true by default).