Rethinking High-Performance Persistent Transactions
Persistent memory is an exciting new technology that bridges the gap between two well-established technologies: main memory, which is fast to access but loses its contents in the event of power loss or hardware failure, and disk, which is slow to access but retains its contents if the power goes off or the hardware fails. To help programmers write correct programs using persistent memory, programming languages provide a construct called persistent transactions, which help ensure that persistent memory can recover to an understandable state after a power or hardware failure. However, existing algorithms for persistent transactions slow programs significantly because they rely on techniques called crash-consistency mechanisms that are inefficient. Associate Professor Mike Bond has been awarded an NSF grant for the project Rethinking High-Performance Persistent Transactions and totals $499, 998.
Using the award, Prof. Bond and his research students will develop two novel crash-consistency mechanisms that overcome the limitations of prior crash-consistency mechanisms. They will apply these new mechanisms to develop new persistent transaction algorithms, and evaluate these algorithms empirically in comparison to prior persistent transaction algorithms, on real-world persistent memory programs and platforms. A key insight of the new crash-consistency mechanisms lies in the novel way they leverage technology called hardware transactional memory that is included in Intel processors. The work aims to contribute efficient crash-consistency mechanisms and persistent transaction algorithms that are more efficient than prior approaches, while influencing future research in this rapidly developing area.
The funded work aims to improve the performance of a key construct for achieving reliable persistent memory programs. This improvement can help make persistent memory widely practical, by achieving both main memory's performance and the disk's retention of contents in the event of failure. Practical persistent memory will improve programmer productivity and make computing systems faster and more reliable. These benefits in turn will impact society across domains that rely on computing, including science, engineering, transportation, and medicine. To increase impact, the implementations resulting from the project will be made publicly available in addition to published research papers. Prof. Bond's research students will be trained in the funded work's topics and methodologies, preparing them for the workforce. Undergraduate and graduate courses taught by Prof. Bond will incorporate the project's research topics. Workshops organized by Prof. Bond and other CSE faculty will expose undergraduate students, especially students who are members of underrepresented groups, to computing research and grad school. These activities will help to educate a diverse workforce of computer scientists trained in the project's topics and research.