Working Set
Tools for scaling local LLM deployments: how many concurrent users or
agents a given GPU configuration can keep warm, where KV cache, decode
bandwidth, and prefill compute each become the binding constraint, and which
knob (topology, dtypes, max_num_seqs, prompt caching) buys the most headroom
for agentic coding workloads.
Start with the interactive explorer —
live sliders for the workload, model (Qwen3.8-27B / 35B-A3B /
Mistral-Medium-3.5 / GLM-5.3 / DeepSeek-V4-Flash / Qwen3.8-Flash-Next /
GLM-5.3-Flash), GPU (H200 / B300), weight & KV dtypes, and DP × TP
topology. It answers as a decision tool: a binding-constraint verdict, a
deploy recipe (vLLM flags), the bill (€/GPU-hour and €/kWh sliders:
hardware plus a duty-cycle power model), a sensitivity panel showing which assumption
would flip the decision, the steady-state decode point (how many
sessions are actually decoding at your load, and how fast each one runs —
Little's law, not the all-warm stress test), shareable links that
encode the whole configuration, and a "Test these hypotheses" button
that hands out the configuration on screen as a workingset.toml — feed it to
ws test below and measure the real limits on a live vLLM endpoint.
The workingset package
The model behind the explorer is a Python package (src/workingset/, the
source of truth; the explorer's JS mirrors it). It ships a CLI:
uv run ws init --model Q38FN --gpu B300 --tp 8 --weight-dtype nvfp4 # writes workingset.toml
uv run ws predict workingset.toml # the four ceilings, which one binds, the operating point
uv run ws predict workingset.toml --json # the same as a run record
uv run ws hypotheses # the H-* and what each one needs
uv run ws test workingset.toml --dry-run # the plan, the sampler self-check, no requests
uv run ws test workingset.toml --exclusive --out run.json # measure it
uv run ws report run.json # re-print the verdicts
uv run ws models # model / GPU keys
uv run pytest # self-checks + config round-trips
No checkout needed — the explorer's workingset.toml runs straight from git
(--from carries the package because workingset publishes one console
script, ws):
uvx --from git+https://github.com/T0mSIlver/working-set ws predict workingset.toml
uvx --from git+https://github.com/T0mSIlver/working-set ws test workingset.toml --dry-run
uvx --from git+https://github.com/T0mSIlver/working-set ws test workingset.toml --all --exclusive --out run.json
After the PyPI release the same commands shorten to uvx --from workingset ws ….
Predictions live in no file: ws predict recomputes them from the config every
time, so a config can never carry a number the code did not produce. A harness
.py downloaded from the explorer before the package existed still loads (its
CONFIG block is extracted).
ws test puts the predictions to a live endpoint, one falsifiable hypothesis
at a time. Without --exclusive it runs only the hypotheses that need a
handful of requests (miss TTFT, the inter-token gap distribution, the steady
decode point) and lists the rest as skipped — a hypothesis that has to
generate its own population is never measured against someone else's load.
With --exclusive it drives the geometric load ladder once, and every ceiling
reads from it. --burst N adds the correlated-flush probe (B*).
Contents
-
docs/writeup.md — baseline study: KV-cache capacity and the prompt-caching / offload /
max_num_seqstrade-offs. -
docs/scenarios.md — extended scenario model: multi-GPU topologies, MoE vs dense, subagent workloads, the cost of a cache miss, and cold-spike tolerance.
-
scripts/ — everything is reproducible:
uv run ws selfcheck # the shared model's self-checks (src/workingset/model.py) uv run scripts/scenarios.py # renders the scenario figures uv run scripts/tables.py # regenerates every number in docs/scenarios.md
-
research/ — sourced constants for each model and GPU.
-
interactive/ — the explorer, a dependency-free page mirroring the Python model:
index.htmlholds the markup and styles,src/*.jsthe model and the charts as ES modules (src/main.jsis the entry and lists the layering). Browsers refuse module scripts fromfile://, so serve the folder to open it locally:python3 -m http.server 8000 --directory interactive # then http://localhost:8000
Method, calibration, and caveats are laid out in the docs above.
MIT licensed; see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file workingset-0.1.0.tar.gz.
File metadata
- Download URL: workingset-0.1.0.tar.gz
- Upload date:
- Size: 244.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd46ecfc79086aef8acd144931ff0316f8e61fe55745eb557fd16caecd381b31
|
|
| MD5 |
e475f84fc42f2e1c58e66ab6dc9e0c22
|
|
| BLAKE2b-256 |
27fc11cf0392d269466e67423286ddfe7af761be3982b45f2e976837c8b4e9f4
|
Provenance
The following attestation bundles were made for workingset-0.1.0.tar.gz:
Publisher:
publish.yml on T0mSIlver/working-set
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
workingset-0.1.0.tar.gz -
Subject digest:
bd46ecfc79086aef8acd144931ff0316f8e61fe55745eb557fd16caecd381b31 - Sigstore transparency entry: 2751713219
- Sigstore integration time:
-
Permalink:
T0mSIlver/working-set@934ea2f50273da786726017c5458344c0307a438 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/T0mSIlver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@934ea2f50273da786726017c5458344c0307a438 -
Trigger Event:
push
-
Statement type:
File details
Details for the file workingset-0.1.0-py3-none-any.whl.
File metadata
- Download URL: workingset-0.1.0-py3-none-any.whl
- Upload date:
- Size: 258.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6cb88e41feaed286ce5c0c0530b0fa44961b9c7000ae0c0ffe0476dfc2617f4
|
|
| MD5 |
98b67e58b8f73462d6fc7aaad94a0bb8
|
|
| BLAKE2b-256 |
103ff6d529698a62ab174ce1ec79a1f52cad2dbfd70f098fbafc8cb16c6322d4
|
Provenance
The following attestation bundles were made for workingset-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on T0mSIlver/working-set
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
workingset-0.1.0-py3-none-any.whl -
Subject digest:
d6cb88e41feaed286ce5c0c0530b0fa44961b9c7000ae0c0ffe0476dfc2617f4 - Sigstore transparency entry: 2751713331
- Sigstore integration time:
-
Permalink:
T0mSIlver/working-set@934ea2f50273da786726017c5458344c0307a438 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/T0mSIlver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@934ea2f50273da786726017c5458344c0307a438 -
Trigger Event:
push
-
Statement type: