{
  "slug": "k-of-n-completion",
  "term": "k-of-n completion",
  "aliases": [
    "k out of n completion"
  ],
  "definition": "A k-of-n completion rule finishes a logical operation after any k of n eligible component responses have completed.",
  "note": "The collection time is the kth ordered response time, measured from a shared request origin, when any eligible subset of size k suffices. A coded read needs distinct valid fragments from one object generation and sufficient decoding rank; receiving k arbitrary messages is not enough. Metadata lookup and decoding may add time. [ec-cache] The linked exact example holds per-response late probability at 10% but changes the chance of a late two-of-three completion from 0% to 2.8% to 10% by changing the joint states. These are specified distributions, not fleet observations. [example]",
  "related": [
    "tail-latency",
    "erasure-coding",
    "fork-early-cancel",
    "hedged-request"
  ],
  "citations": [
    {
      "id": "ec-cache",
      "title": "Rashmi et al., EC-Cache, OSDI 2016; sections 2.2, 4.3 and 4.4",
      "url": "https://www.usenix.org/system/files/conference/osdi16/osdi16-rashmi.pdf",
      "accessed": "2026-10-20"
    },
    {
      "id": "example",
      "title": "Hesela: k-of-n response collection and exact joint-state examples",
      "url": "https://hesela.com/analyses/storage-tail-slowdowns-raid-fanout/#kofn-completion",
      "accessed": "2026-10-20"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-20"
}
