{
  "slug": "sequential-consistency",
  "term": "Sequential consistency",
  "aliases": [
    "Sequentially consistent execution"
  ],
  "definition": "Sequential consistency requires one legal sequential order of an execution's operations that preserves each process's program order.",
  "note": "The order must work for the entire claimed scope, not separately for each observer. The client or process boundary must be specified. [lamport-sc]\n\nUnlike linearizability, the common order can reverse real-time precedence between different clients. In a constructed example, x starts at 0; A finishes writing 1 before B starts a read that returns 0. Ordering B's read before A's write explains the result sequentially, but violates real-time precedence. There are no other operations or synchronization in this example. [herlihy-wing]\n\nSequential consistency is not local: separate objects can each admit an order while their combination admits none. Cross-object reasoning requires a compatible common order. [herlihy-wing]\n\nOrdering alone does not specify crash durability or turn several requests into one transaction. Persistence and transaction boundaries require additional contracts. [etcd-guarantees]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "linearizability",
    "serializability",
    "session-guarantees",
    "data-durability"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "lamport-sc",
      "title": "Leslie Lamport. How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs. IEEE TC 28(9), 1979, pp. 690-691.",
      "url": "https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/How-to-Make-a-Multiprocessor-Computer-That-Correctly-Executes-Multiprocess-Programs.pdf",
      "accessed": "2026-11-10"
    },
    {
      "id": "herlihy-wing",
      "title": "Herlihy and Wing. Linearizability. ACM TOPLAS 12(3), 1990, sections 2.1-2.2 and 3.3.",
      "url": "https://www.cs.cmu.edu/~wing/publications/HerlihyWing90.pdf",
      "accessed": "2026-11-10"
    },
    {
      "id": "etcd-guarantees",
      "title": "etcd v3.6 API guarantees: durability, atomicity and strict serializability.",
      "url": "https://etcd.io/docs/v3.6/learning/api_guarantees/",
      "accessed": "2026-11-10"
    },
    {
      "id": "hesela-consistency",
      "title": "Hesela: sequential consistency across two storage keys.",
      "url": "https://hesela.com/analyses/storage-consistency-ordering/#sequential-consistency",
      "accessed": "2026-11-10"
    }
  ],
  "updated": "2026-11-10",
  "provenance": [
    "Definition and scope checked against Lamport 1979 and Herlihy/Wing 1990. Separate durability contract illustrated by etcd documentation.",
    "Worked histories are constructed examples, not observations of a database, processor or storage device."
  ]
}
