RFR: 8207851 JEP Draft: Support ByteBuffer mapped over non-volatile memory

Viswanathan, Sandhya sandhya.viswanathan at intel.com
Thu Jan 17 00:00:31 UTC 2019

It will be wonderful to have persistent MappedByteBuffer feature proposed by Andrew Dinn in JDK 13. To us it looks to be a seamless extension to the existing API, provides a very good building block for persistent memory support in Java in the current Java paradigm and is directly applicable to a class of workloads. Many Big Data frameworks like Apache HBASE use FileChannel map and MappedByteBuffer as the underlying mechanism and so can use the proposed feature to utilize non-volatile memory. 

We have also reviewed and provided initial feedback to Andrew on the implementation. 

Best Regards,

-----Original Message-----
From: Andrew Dinn [mailto:adinn at redhat.com] 
Sent: Wednesday, January 16, 2019 3:23 AM
To: Alan Bateman <Alan.Bateman at oracle.com>; Brian Goetz <brian.goetz at oracle.com>
Cc: core-libs-dev at openjdk.java.net; hotspot compiler <hotspot-compiler-dev at openjdk.java.net>; Jonathan Halliday <jonathan.halliday at redhat.com>; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>
Subject: Re: RFR: 8207851 JEP Draft: Support ByteBuffer mapped over non-volatile memory

Hi Alan/Brian,

I have finally been able to shelve other commitments and return to this JEP (apologies for the hiatus).


The JEP has been reviewed positively by Stuart Marks (core libs) and Vladimir Kozlov (intrinsics). It has also been warmly welcomed by several potential users in Red Hat and Intel (including, respectively, Jonathan Halliday and Sandya Viswanathan both in cc).

I believe I have addressed all outstanding comments on the JEP per se, including those made by Alan. Is it now possible for one of you to endorse the JEP so it can be submitted?

I am aware that I still need to address a few details in the draft implementation that are not present in the latest webrev. I believe there are two changes requested by Vladimir:

  1. correct the type of cache writeback memory nodes to generic memory
  2. use the JVM to inject a flag setting which enables/disables mapping of persistent buffers

and also one change requested by Alan:

  make method MappedByteBuffer.isPersistent private rather than public

Is there any other impediment to submitting the JEP and proceeding to code review?


Andrew Dinn
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander

More information about the hotspot-compiler-dev mailing list