Memory persistency models provide the foundational rules for software engineers to develop applications that take advantage of non-volatile memory (NVM), dictating which (and when) writes to NVM are deemed persistent. Though formalised for Intel-x86 and Arm architectures, these models remain empirically unvalidated on actual machines. Conventional validation methods for memory consistency models fall short as test programs cannot differentiate between volatile cache reads and those from NVM. To address this, we employed a commercial device designed to intercept and log data on a system's memory bus in their order of arrival. We used this device to conduct a campaign using litmus tests---small programs designed to assess specific memory persistency behaviours---aimed at empirically validating Intel-x86 and Arm machine persistency guarantees.
No takes yet. Share an insight, caveat, or question.
Klimis et al. (2024) studied this question.
Synapse has enriched 2 closely related papers on similar clinical questions. Consider them for comparative context: