Loose-Ordering Consistency for persistent memory
- 1 October 2014
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Emerging non-volatile memory (NVM) technologies enable data persistence at the main memory level at access speeds close to DRAM. In such persistent memories, memory writes need to be performed in strict order to satisfy storage consistency requirements and enable correct recovery from system crashes. Unfortunately, adhering to a strict order for writes to persistent memory significantly degrades system performance as it requires flushing dirty data blocks from CPU caches and waiting for their completion at the main memory in the order specified by the program. This paper introduces a new mechanism, called Loose-Ordering Consistency (LOC), that satisfies the ordering requirements of persistent memory writes at significantly lower performance degradation than state-of-the-art mechanisms. LOC consists of two key techniques. First, Eager Commit reduces the commit overhead for writes within a transaction by eliminating the need to perform a persistent commit record write at the end of a transaction. We do so by ensuring that we can determine the status of all committed transactions during recovery by storing necessary metadata information statically with blocks of data written to memory. Second, Speculative Persistence relaxes the ordering of writes between transactions by allowing writes to be speculatively written to persistent memory. A speculative write is made visible to software only after its associated transaction commits. To enable this, our mechanism requires the tracking of committed transaction ID and support for multi-versioning in the CPU cache. Our evaluations show that LOC reduces the average performance overhead of strict write ordering from 66.9% to 34.9% on a variety of workloads.Keywords
This publication has 25 references indexed in Scilit:
- Memory persistencyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- System software for persistent memoryPublished by Association for Computing Machinery (ACM) ,2014
- From ARIES to MARSPublished by Association for Computing Machinery (ACM) ,2013
- LightTx: A lightweight transactional design in flash-based SSDs to support flexible transactionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2013
- Whole-system persistencePublished by Association for Computing Machinery (ACM) ,2012
- The gem5 simulatorACM SIGARCH Computer Architecture News, 2011
- MnemosynePublished by Association for Computing Machinery (ACM) ,2011
- Speculative versioning cachePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- ARIESACM Transactions on Database Systems, 1992
- The Recovery Manager of the System R Database ManagerACM Computing Surveys, 1981