Return to search

On Testing Persistent-Memory-Based Software

Leveraging Storage Class Memory (SCM) as a universal memory--i.e. as memory and storage at the same time--has deep implications on database architectures. It becomes possible to store a single copy of the data in SCM and directly operate on it at a fine granularity. However, exposing the whole database with direct access to the application dramatically increases the risk of data corruption. In this paper we propose a lightweight on-line testing framework that helps find and debug SCM-related errors that can occur upon software or power failures. Our testing framework simulates failures in critical code paths and achieves fast code coverage by leveraging call stack information to limit duplicate testing. It also partially covers the errors that might arise as a result of reordered memory operations. We show through an experimental evaluation that our testing framework is fast enough to be used with large software systems and discuss its use during the development of our in-house persistent SCM allocator.

Identiferoai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:80638
Date15 September 2022
CreatorsOukid, Ismail, Booss, Daniel, Lespinasse, Adrien, Lehner, Wolfgang
PublisherACM
Source SetsHochschulschriftenserver (HSSS) der SLUB Dresden
LanguageEnglish
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/acceptedVersion, doc-type:conferenceObject, info:eu-repo/semantics/conferenceObject, doc-type:Text
Rightsinfo:eu-repo/semantics/openAccess
Relation978-1-4503-4319-0, 5, 10.1145/2933349.2933354, info:eu-repo/grantAgreement/Deutsche Forschungsgemeinschaft/Sonderforschungsbereiche/164481002//HAEC - Highly Adaptive Energy-Efficient Computing/SFB 912, info:eu-repo/grantAgreement/Deutsche Forschungsgemeinschaft/Exzellenzcluster/194636624//Zentrum für Perspektiven in der Elektronik Dresden/EXC 1056

Page generated in 0.1057 seconds