jabrena / java10-by-example

Java 10, 11 & Beyond
https://jabrena.github.io/java10-by-example/#/
MIT License
2 stars 1 forks source link

JEP 316: Heap Allocation on Alternative Memory Devices #4

Open jabrena opened 6 years ago

jabrena commented 6 years ago

This JEP enables the HotSpot VM to allocate the Java object heap on an alternative memory device, specified by the user. This new feature would, for example, make it possible in a multi-JVM environment to assign lower priority processes to use the NV-DIMM memory, and instead only allocate the higher priority processes to the DRAM.

http://openjdk.java.net/jeps/316 https://en.wikipedia.org/wiki/NVDIMM

Some use cases for this proposal are:

In multi-JVM deployments some JVMs such as daemons, services, etc., have lower priority than others. NV-DIMMs would potentially have higher access latency compared to DRAM. Low-priority processes can use NV-DIMM memory for the heap, allowing high-priority processes to use more DRAM.

Applications such as big data and in-memory databases have an ever-increasing demand for memory. Such applications could use NV-DIMM for the heap since NV-DIMMs would potentially have a larger capacity, at lower cost, compared to DRAM.

NVDIMM A non-volatile dual in-line memory module (NVDIMM) is a type of random-access memory for computers. Non-volatile memory is memory that retains its contents even when electrical power is removed, for example from an unexpected power loss, system crash, or normal shutdown. "Dual in-line" identifies the memory as using the DIMM package. NVDIMMs improve application performance, data security, and system crash recovery time. They enhance solid-state drive (SSD) endurance and reliability.

jabrena commented 6 years ago

https://aboullaite.me/10-new-features-in-java-10/