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.
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:80638 |
Date | 15 September 2022 |
Creators | Oukid, Ismail, Booss, Daniel, Lespinasse, Adrien, Lehner, Wolfgang |
Publisher | ACM |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | info:eu-repo/semantics/acceptedVersion, doc-type:conferenceObject, info:eu-repo/semantics/conferenceObject, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Relation | 978-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.0023 seconds