Non-Volatile Memory (NVM) became commercially available in 2018 with Intel's Optane DC Persistent Memory. NVM allows building data structures that retain their contents to provide fast restart. One major issue is that processor caches are volatile andprogram data which reside in these caches are lost during power failure. In addition, the underlying hardware can evict caches out of order independent from the program order unless explicitly specified by the programmer. Both of these conditions can corruptprogram data in NVM leading to a state that is not correct after restart from a power failure. Transactional Memory (TM) has been a popular programming model for implementing durable data management, in particular with Software Transactional Memory (STM) implementations. Hardware implementations of TM are more desirable due to its better overall performance than STM implementations. This work aims to combine hardware transactional memory with Non-volatile memory to create persistent data structures.
News published in Agência FAPESP Newsletter about the scholarship: