| Live hardware inventory (21 reachable Macs; 8 aliases unreachable), 1 GbE everywhere, no active Thunderbolt link |
artifacts/environment.json; raw probes in artifacts/private/ (not committed); research/LOG.md 2026-11-01 |
| Network characterization: iperf3 0.945–0.947 Gbit/s between Studios, RTT 0.5–1.0 ms, app-level ping 0.74–1.17 ms |
artifacts/private/netprobe*.txt, benchmarks/raw/gateE/remote_cost_breakdown_m3u96a_m3u96b.txt |
| Prior-art audit: 59 verified works + code audit of colibri/mlx/mlx-lm/llama.cpp at recorded commits; novelty matrix |
research/prior_art.csv, research/RELATED_WORK.md, paper/references.bib |
| Expert registry (per-expert and stacked safetensors layouts; byte ranges; routing semantics) |
titan/registry.py, tests/test_registry_store.py, tests/test_registry_stacked.py (M3U96a) |
SSD tier: pread store, parallel demand reads, expert-contiguous TITAN layout (one read per expert) |
titan/store.py, scripts/convert_layout.py; cold 16-slot decode 8–10 → 18 → 36 tok/s (benchmarks/raw/gateC/cold_nvme_laptop/) |
Slot tables (LRU/LFU), exact execution block over gather_qmm, sync-free fast path, lazy batched installs |
titan/slots.py, titan/moe.py; bit-identical logits vs mlx-lm (OLMoE 64/32/16/8 slots; Qwen3-30B 128/64/32/16): benchmarks/raw/tests/ |
| All-resident parity: 489.1 [488.2, 489.5] vs 495.0 tok/s (laptop); 121.6 vs 121.7 (M3U96a, Qwen3-30B) |
benchmarks/processed/audit.json, benchmarks/raw/gateB/capacity_sweep_laptop/, benchmarks/raw/gateC/qwen3_m3u96a/ |
| Routing traces (18 + 65 prompts OLMoE; 65 prompts Qwen3-30B) and trace-driven simulator |
benchmarks/raw/gateC/traces_*, benchmarks/raw/gateF/traces_qwen3_m3u96a, benchmarks/scripts/simulate_cache.py, benchmarks/processed/gateC/ |
| Predictors (prev-rank, transition depth 1–4 ± confidence threshold, logistic probe depth 1–4, oracle) and async prefetcher |
titan/predictors.py, titan/prefetch.py; probe recall@8 0.761 held-out |
| H1 verdict (not supported on OLMoE / laptop NVMe) with full host-time attribution |
benchmarks/raw/gateC/cold_nvme_laptop/{sweep,attribution}.jsonl, figures/attribution.pdf, audit CIs |
| Gate D profiling (launch-bound decode, 151 GB/s = 28 % of nominal) and fused up+gate option (bit-identical, ±2 %) → H4 not supported |
benchmarks/raw/gateD/, tests/test_fused_upgate.py |
| Authenticated TCP transport (HMAC per frame, allow-list, timeouts), expert worker, remote executor with local fallback; bit-identical on localhost and across M3U96a↔M3U96b |
transport/, titan/distributed.py, tests/test_distributed_local.py, benchmarks/raw/tests/m3u96a/distributed_localhost_*.json, benchmarks/raw/gateE/two_node_m3u96a_m3u96b.jsonl |
| Two-node result: odd experts remote over 1 GbE = 15 vs 81 tok/s local (−66 [−72, −55]); 2.5 ms per layer round trip |
same + remote_cost_breakdown_*.txt |
| Gate F (Qwen3-30B, two Studios, exact): frequency-based placement > static (5.1 vs 4.2; 6.0 vs 5.2 tok/s) but < local cold NVMe (8.8; 16.3) → H2 weak form only |
benchmarks/raw/gateF/two_node_qwen3_m3u96a_m3u96b.jsonl, figures/gateF_qwen3.pdf, audit CIs |
| H5 energy (laptop): 0.101 J/token all-resident (47 W); 0.498 J/token 16 slots cold; 0.441 with probe (42.0 vs 31.9 tok/s at 256 tokens: H1 length-dependent) |
benchmarks/raw/gateG/energy_laptop/, benchmarks/processed/energy_laptop.json |
| Statistical audit (bootstrap CIs for every comparison), figures and tables generated from logs, manifest with SHA-256 |
scripts/audit_stats.py, scripts/make_figures.py, scripts/make_tables.py, artifacts/manifest.json |
| Paper v0.1 (30 pages, compiles, 0 undefined references), preliminary/negative results labelled |
paper/main.pdf |