{
  "slug": "epoch-persistency",
  "term": "Epoch persistency",
  "aliases": [
    "persist epoch"
  ],
  "definition": "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.",
  "note": "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. [pelley14] Later treatments distinguish explicit writeback and persistence primitives. [han21]",
  "status": "research",
  "advantages": [],
  "limitations": [],
  "related": [
    "memory-persistency",
    "strict-persistency",
    "strand-persistency",
    "persistence-ordering",
    "crash-consistency"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-19",
  "citations": [
    {
      "id": "pelley14",
      "title": "Pelley, Chen and Wenisch. Memory Persistency. ISCA 2014, pp. 265-276; sections 4-5 and 7-8, Table 1.",
      "url": "https://courses.grainger.illinois.edu/ece598ms/fa2019/papers/paper61.pdf",
      "accessed": "2026-10-19"
    },
    {
      "id": "han21",
      "title": "Han and Kimura. Durable Queue Implementations Built on a Formally Defined Strand Persistency Model. JIP 29 (2021), pp. 823-838, sections 2-3.",
      "url": "https://www.jstage.jst.go.jp/article/ipsjjip/29/0/29_823/_pdf/-char/en",
      "accessed": "2026-10-19"
    },
    {
      "id": "retrospective",
      "title": "Steven Pelley, Peter M. Chen and Thomas F. Wenisch. RETROSPECTIVE: Memory Persistency. ISCA retrospective, 2023; sections I-II.",
      "url": "https://bpb-us-w2.wpmucdn.com/sites.coecis.cornell.edu/dist/7/587/files/2023/06/Pelley_2014_Memory.pdf",
      "accessed": "2026-10-19"
    },
    {
      "id": "hesela-pmem",
      "title": "Hesela. Persistent memory: DAX is not a durable commit.",
      "url": "https://hesela.com/analyses/pmem-persistence-domains-dax/#persistency-models",
      "accessed": "2026-10-19"
    }
  ]
}
