Loading [a11y]/accessibility-menu.js
An Efficient Dynamic Analysis Tool for Checking Durable Linearizability | IEEE Conference Publication | IEEE Xplore

An Efficient Dynamic Analysis Tool for Checking Durable Linearizability


Abstract:

Designing efficient and correct durable data structures is indispensable because Non-Volatile Memory (NVM) is positioned as a successor to DRAM due to its energy efficien...Show More

Abstract:

Designing efficient and correct durable data structures is indispensable because Non-Volatile Memory (NVM) is positioned as a successor to DRAM due to its energy efficiency and reliability. The challenge with ensuring correctness for efficient durable data structures is that caches and registers are expected to remain volatile, and the explicit cache line flush and barrier instructions are expensive. As a result cache line flushes and barriers are used sparingly, leading to potential inconsistencies in the recoverable state of the data structure. Crash consistency tools are available to ensure recoverability to a consistent state, but these tools are not able to check correctness of data structure semantics. Furthermore, the formal logic proposed to verify correctness conditions such as durable linearizability involve labor intensive mechanical proofs using a theorem prover. In this paper, we present the first dynamic analysis tool that checks durable linearizability at runtime. Our proposed tool, VSV-D, uses a vector space analysis to achieve a worst-case O(n2) time complexity. We extend the analysis to transactional correctness to enable VSV-D to check durable transactional data structures. Our experimental evaluation applies VSV-D to check the correctness of a large variety of durable data structures including log-free data structures, link-free data structures, Romulus, OneFile, PMDK, and PETRA.
Date of Conference: 27-27 March 2021
Date Added to IEEE Xplore: 08 April 2021
ISBN Information:
Conference Location: Moscow, Russia
References is not available for this document.

1 Introduction

Non-Volatile Memory (NVM), also referred to as persistent memory, has emerged at the forefront of main memory technology by providing high performance persistent storage that is byte addressable with access latency close to DRAM [29]. The promise of resiliency against crash events is highly appealing in data structure design, leading to many durable data structures [7, 12,19,35,44,47,63]. Designing data structures that rely on NVM for recoverability is difficult because caches and registers are expected to remain volatile, which can cause the persisted data to be in an inconsistent state if stores prior to the crash were in the cache but not yet written to persistent memory [19]. Crash Consistency is a property of NVM systems such that data is recoverable to a consistent state following a crash event. While crash consistency ensures recoverability to a state that is consistent with a state before the crash occurred [36], it does not provide any guarantees regarding the correctness of the recovered state with respect to data structure semantics.

References is not available for this document.

Contact IEEE to Subscribe

References

References is not available for this document.