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.
- Baseline: Both 30GB and 60GB heap allocated on local dram.
- Test case 1: Both 30GB and 60GB heap allocated on local dram without options
- 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.
- blocks
-
JDK-8202286 Allocation of old generation of Java heap on alternate memory devices
- Resolved