{
  "slug": "fork-early-cancel",
  "term": "Fork-early-cancel",
  "aliases": [
    "cancel-on-start redundancy"
  ],
  "definition": "Fork-early-cancel is a redundancy model that cancels excess tasks once k tasks have started service, rather than waiting for k completions.",
  "note": "The retained tasks must still finish. Joshi et al. assume immediate cancellation and select k tasks uniformly if too many start simultaneously. This differs from a concrete tied-request protocol with message delay. [joshi] In Hesela's fixed schedule, retaining two starts discards a later fast task: completion is 100 ms instead of 15 ms with cancellation on completion. This counterexample is not a measured mean or a universal policy ranking. [example]",
  "related": [
    "k-of-n-completion",
    "tied-request",
    "hedged-request",
    "tail-latency"
  ],
  "citations": [
    {
      "id": "joshi",
      "title": "Joshi, Soljanin and Wornell, Efficient Redundancy Techniques (2017), section 2; DOI 10.1145/3055281",
      "url": "https://www.pdl.cmu.edu/PDL-FTP/associated/a12-joshi.pdf",
      "accessed": "2026-10-20"
    },
    {
      "id": "example",
      "title": "Hesela: fixed service starts and cancellation accounting",
      "url": "https://hesela.com/analyses/storage-tail-slowdowns-raid-fanout/#cancel-on-start",
      "accessed": "2026-10-20"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-20"
}
