Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8202956

JEP-JDK-8202286: Performance Plan for partial heap allocation on alternative memory devices

XMLWordPrintable

    • gc

      Performance Requirements

      Allocating a portion of the heap on alternative memory device (NV-DIMM) can be used when the amount of available DRAM memory is insufficient for desired heap size. The performance requirements are the JEP are:

      A. No regression in performance when feature is not in use.
      B. Provide use cases when alternative memory device usage increases the overall performance.
      Goal: more than 10% improvement in benchmark score.

      Performance Experiments

      Our primary target for this JEP is Intel’s NV-DIMM memory. Since the memory is not commercially available yet, we plan to use remote memory on a 2-node machine as a proxy for nv-dimm memory. Remote memory has a higher access latency than local memory; thus this local+remote combination will act as a proxy for fast+slow memory.

      We plan to use HBASE as an application to demonstrate performance improvement. HBase has an on-heap read cache called LRU BlockCache. This JEP makes it possible to use the extra capacity of NV-DIMMs for larger BlockCache.

      Below is a list of experiments that we think we would need to fully validate the JEP and meet the above performance requirements.

      1. Baseline: Both 30GB and 60GB heap allocated on local dram.
      2. Test case 1: Both 30GB and 60GB heap allocated on local dram without options
      3. Test case 2: Both 30GB and 60GB heap with old generation allocated on remote dram.

      Notes

      • Requirement A would be satisfied by delta between Experiment 1 and 2.
      • Delta between experiment 2 and 3 should provide the performance gain for Experiment B.

            Unassigned Unassigned
            kkharbas Kishor Kharbas (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: