Supporting allocation of Java object heap on NV-DIMMS
per.liden at oracle.com
Mon Apr 4 11:36:53 UTC 2016
On 2016-04-02 03:13, Kharbas, Kishor wrote:
> Hello all,
> I would like to propose adding a capability in the JVM to allocate
> object heap on new kinds of heterogeneous memories which are exposed
> through a file system. This could be achieved by adding a command line
> option to specify a path in the filesystem which would be used for
> mmap() system call.
> Linux kernel 4.0 onwards supports DAX mode in Ext4 file system 
> which is designed to support new heterogeneous memory devices such as
> Intel’s 3D XPoint memory . DAX mode removes the need for page cache
> and provides a direct mapping of process virtual space to storage space.
> We would like to add a command line option called “FSDirForHeap” which
> will – 1) Enable using a file system as backing store for Java object
> heap 2) Use the provided path to create a temporary file for mmap()
> system call.
The new kinds of memories opens up for some new and interesting
possibilities. However, as long as DRAM is faster (which I assume they
will continue be for at least some time), I have a hard time seeing that
you want to place your whole heap onto the NV-DIMMs. I can see that some
applications might want to place some large subset of their data there
(e.g. an in memory-database), but I'm also guessing that placing the
whole heap there would come with a noticeable impact on performance? Any
thoughts on that?
Do you have any data to share with regards to performance difference on
some relevant workloads? That would help in getting a better
understanding of the feasibility of this mode of operation.
> The description of the feature can be found at
> and the webrev is uploaded at
>  https://www.kernel.org/doc/Documentation/filesystems/dax.txt
>  https://www.kernel.org/doc/Documentation/filesystems/ext4.txt
> Much appreciated!
> Thanks you.
> Kishor Kharbas
More information about the hotspot-gc-dev