Strand persistency
Strand persistency divides a thread into logical segments that can make independent persistence progress while retaining specified within-strand and conflicting-access ordering constraints.
A new strand relaxes implicit dependencies; it does not erase all obligations on shared addresses. Pelley and colleagues retain strong persist atomicity. [1] Han and Kimura describe a later TSO-based semantics with newStrand, joinStrand and pbarrier primitives. These research interfaces are not portable CPU instructions or equivalent to enabling eADR. [2]
Relations
- related
- Memory persistency, Strict persistency, Epoch persistency, Persistence ordering, Extended Asynchronous DRAM Refresh
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.