{
  "slug": "working-set",
  "term": "Working set",
  "aliases": [
    "workload working set"
  ],
  "definition": "In workload analysis, a working set is the set of distinct data units referenced within a specified recent observation window.",
  "note": "Denning defines a moving window in process execution time and a set of referenced pages; working-set size counts distinct pages, not total references. This process clock excludes periods when the process is suspended; a wall-clock window can expire references during the same pause. The set changes with the observation time and window length. [denning-ws]\n\nFor storage analysis, state the observed layer, unit identity and window rule. A host logical block, a cached translation page and a file object are different units; an entry count becomes a byte footprint only with a stated size model. This is an application of the working-set concept, not a claim about a particular SSD controller. [learned]\n\nThe trace-window set is not necessarily the set currently resident in a cache. Windows uses working set for resident pageable process memory, excluding AWE and large-page allocations; that OS metric must not be substituted for a trace-window measurement. [windows-ws]",
  "status": "research",
  "advantages": [],
  "limitations": [
    {
      "text": "A recent working set is descriptive, not a guarantee of future reuse or a complete prediction of cache hits.",
      "citationIds": [
        "denning-ws",
        "counter-stacks"
      ]
    }
  ],
  "related": [
    "locality-of-reference",
    "reuse-distance",
    "miss-ratio-curve",
    "mapping-cache",
    "page-cache",
    "cache-pollution"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-24",
  "citations": [
    {
      "id": "denning-ws",
      "title": "Peter J. Denning. The Working Set Model for Program Behavior. Communications of the ACM 11(5), May 1968, pp. 323-333, sections 2-3.",
      "url": "https://denninginstitute.com/pjd/PUBS/WSModel_1968.pdf",
      "accessed": "2026-10-24"
    },
    {
      "id": "learned",
      "title": "Wang et al. LearnedFTL: A Learning-Based Page-Level FTL for Reducing Double Reads in Flash-Based SSDs. HPCA 2024, pp. 616-629, sections II-IV.",
      "url": "https://ranger.uta.edu/~jiang/publication/Conferences/2024/HPCA24%28LearnedFTL%29.pdf",
      "accessed": "2026-10-24"
    },
    {
      "id": "windows-ws",
      "title": "Microsoft Learn. Working Set: resident pageable process memory and exclusions.",
      "url": "https://learn.microsoft.com/en-us/windows/win32/memory/working-set",
      "accessed": "2026-10-24"
    },
    {
      "id": "counter-stacks",
      "title": "Wires et al. Characterizing Storage Workloads with Counter Stacks. OSDI 2014, sections 2 and 3.2.",
      "url": "https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-wires.pdf",
      "accessed": "2026-10-24"
    },
    {
      "id": "hesela",
      "title": "Hesela: working-set windows, locality and mapping-cache units.",
      "url": "https://hesela.com/analyses/ssd-mapping-cache-hmb/#working-set",
      "accessed": "2026-10-24"
    }
  ],
  "provenance": [
    "Denning section 3 supplies the process-time window definition; the storage reporting checklist is an editorial application, not an SSD experiment.",
    "LearnedFTL distinguishes mapping entries, translation pages and requested data. Microsoft documents the separate Windows residency meaning.",
    "No publication date is represented as an invention date. No new benchmark or cache-policy implementation."
  ]
}
