PMEM-spec: persistent memory speculation (strict persistency can trump relaxed persistency)
- 17 April 2021
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
Persistency models define the persist-order that controls the order in which stores update persistent memory (PM). As with memory consistency, the relaxed persistency models provide better performance than the strict ones by relaxing the ordering constraints. To support such relaxed persistency models, previous studies resort to APIs for annotating the persist-order in program and hardware implementations for enforcing the programmer-specified order. However, these approaches to supporting relaxed persistency impose costly burdens on both architects and programmers. In light of this, the goal of this study is to demonstrate that the strict persistency model can outperform the relaxed models with significantly less hardware complexity and programming difficulty. To achieve that, this paper presents PMEM-Spec that speculatively allows any PM accesses without stalling or buffering, detecting their ordering violation (e.g., misspeculation for PM loads and stores). PMEM-Spec treats misspeculation as power failure and thus leverages failure-atomic transactions to recover from misspeculation by aborting and restarting them purposely. Since the ordering violation rarely occurs, PMEM-Spec can accelerate persistent memory accesses without significant misspeculation penalty. Experimental results show that PMEM-Spec outperforms two epoch-based persistency models with Intel X86 ISA and the state-of-the-art hardware support by 27.2% and 10.6%, respectively.Keywords
Funding Information
- NSF (1750503,1814430)
This publication has 21 references indexed in Scilit:
- Hiding the Long Latency of Persist Barriers Using Speculative ExecutionPublished by Association for Computing Machinery (ACM) ,2017
- Atomic In-place Updates for Non-volatile Main Memories with Kamino-TxPublished by Association for Computing Machinery (ACM) ,2017
- An Analysis of Persistent Memory Use with WHISPERPublished by Association for Computing Machinery (ACM) ,2017
- DudeTMPublished by Association for Computing Machinery (ACM) ,2017
- ATOM: Atomic Durability in Non-volatile Memory through Hardware LoggingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2017
- Failure-Atomic Persistent Memory Updates via JUSTDO LoggingPublished by Association for Computing Machinery (ACM) ,2016
- Atomic persistence for SCM with a non-intrusive backend controllerPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2016
- SoftWrAP: A lightweight framework for transactional support of storage class memoryPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2015
- AtlasPublished by Association for Computing Machinery (ACM) ,2014
- Safe compiler-driven transaction checkpointing and recoveryPublished by Association for Computing Machinery (ACM) ,2012