Epoch persistency
Epoch persistency uses persist barriers to divide a thread's execution into regions whose durable updates are ordered across barriers while permitting reordering within a region.
An epoch is not an all-or-nothing transaction. The original model preserves conflicting-address constraints, assumes sequential consistency and eight-byte atomic persists, and discusses cross-thread persist-epoch races. Do not transfer these assumptions to every implementation called epoch-based. [1] Later treatments distinguish explicit writeback and persistence primitives. [2]
Relations
- related
- Memory persistency, Strict persistency, Strand persistency, Persistence ordering, Crash consistency
Citations
- Pelley, Chen and Wenisch. Memory Persistency. ISCA 2014, pp. 265-276; sections 4-5 and 7-8, Table 1.
- Han and Kimura. Durable Queue Implementations Built on a Formally Defined Strand Persistency Model. JIP 29 (2021), pp. 823-838, sections 2-3.