AutoPersist: An Easy-To-Use Java NVM Framework Based on Reachability
Byte-addressable, non-volatile memory (NVM) is emerging as a revolutionary memory technology that provides persistency, near-DRAM performance, and scalable capacity. To facilitate its use, many NVM programming models have been proposed. However, most models require programmers to explicitly specify the data structures or objects that should reside in NVM. Such requirement increases the burden on programmers, complicates software development, and introduces opportunities for correctness and performance bugs.
We believe that requiring programmers to identify the data structures that should reside in NVM is untenable. Instead, programmers should only be required to identify durable roots - the entry points to the persistent data structures at recovery time. The NVM programming framework should then automatically ensure that all the data structures reachable from these roots are in NVM, and stores to these data structures are persistently completed in an intuitive order.
To this end, we present a new NVM programming framework, named AutoPersist, that only requires programmers to identify durable roots. AutoPersist then persists all the data structures that can be reached from the durable roots in an automated and transparent manner. We implement AutoPersist as a thread-safe extension to the Java language and perform experiments with a variety of applications running on Intel Optane DC persistent memory. We demonstrate that AutoPersist requires minimal code modifications, and significantly outperforms expert-marked Java NVM applications.
Mon 24 Jun
|16:00 - 16:20|
Thomas ShullUniversity of Illinois at Urbana-Champaign, Jian HuangUniversity of Illinois at Urbana-Champaign, Josep TorrellasUniversity of Illinois at Urbana-ChampaignMedia Attached
|16:20 - 16:40|
Bobby PowersUniversity of Massachusetts, Amherst, David TenchUniversity of Massachusetts at Amherst, USA, Emery BergerUniversity of Massachusetts, Amherst, Andrew McGregorPre-print Media Attached
|16:40 - 17:00|
Chenxi WangUCLA, Huimin CuiInstitute of Computing Technology, Chinese Academy of Sciences, Ting CaoMicrosoft Research, John ZigmanUniversity of Sydney, Australia, Haris Volos, Onur MutluETH Zurich, Fang LvInstitute of Computing Technology, Chinese Academy of Sciences, Xiaobing FengICT CAS, Harry XuUCLAPre-print Media Attached