Files
agentic-kvc/analysis/characterization/window_1_results/summary.json
Gahow Wang 0c3220cbb8 Window 1 results: combined B1' + B2 + B3 report and artifacts
analysis/characterization/window_1_results.md is the headline write-up
for Window 1: workload characterization (KV per request, real reuse
decomposition, APC theoretical ceilings), B3 5-policy sweep with
per-policy interpretation, B2 same-vs-different-worker interference
microbench with causal reading, and an explicit list of what Window 1
does *not* answer (deferred to B4 SRR sweep + B5 attribution).

Under window_1_results/:
- 5 raw result JSONs from the B3 sweep, the B2 microbench, the APC
  upper bound, and the KV footprint
- per-policy hotspot_index.json snapshots so render_window1_figures.py
  can plot per-worker TTFT p90 distributions
- 8 PNG figures (figures/) covering the headline claims

Three takeaways the figures pin down:
1) intra-session reuse dominates (93.2%), so session-affinity routing
   is the right primary lever
2) unified hybrid affinity hits 79.4% APC (97% of the 79.6% intra-
   session ceiling) AND cuts TTFT p90 from lmetric's 15.6s to 7.24s
3) B2 different-worker control sits at idx ≈ 1.0 across 32× prefill-
   size variation; same-worker TTFT idx scales 2.15× -> 218×, which
   is the cleanest causal evidence for same-worker prefill-decode
   interference

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 23:25:09 +08:00

137 lines
4.1 KiB
JSON

{
"analyzed_records": 2114220,
"batch0": {
"attempted_requests": 2114220,
"completed_requests": null,
"error_requests": null,
"max_inflight_per_session": null,
"session_concurrency_status": "unavailable",
"session_sequential": null
},
"batch1": {
"append_status": "unavailable",
"input_stats": {
"count": 2114220,
"max": 202371.0,
"mean": 33637.38370084476,
"min": 0.0,
"p50": 20030.0,
"p90": 87855.1000000001,
"p95": 104738.0,
"p99": 125527.0
},
"kv_footprint_status": "available",
"output_stats": {
"count": 2114220,
"max": 132665.0,
"mean": 444.97059624826176,
"min": 0.0,
"p50": 80.0,
"p90": 811.0,
"p95": 2213.0,
"p99": 6614.810000000056
},
"reuse_status": "unavailable"
},
"classification": {
"label": "invalid_for_online_claim",
"reason": "actual dispatch/finish timestamps are unavailable, so online sequentiality cannot be proven",
"source": "auto",
"stress_indicators": []
},
"manifest": {
"canonical_trace_data_sources": {
"dash0_formatted_trace_dir": "~/ali-trace/trace-glm5.1-formatted/",
"dash0_raw_trace_dir": "~/ali-trace/trace-glm5.1/",
"usage_note": "Full trace analysis can be run CPU-only on dash0, or the needed JSONL files can be copied/rsynced from dash0 to this machine before running this analyzer."
},
"end_time": "2026-05-25T09:03:36.499002+00:00",
"figure_status": {
"reason": "matplotlib unavailable: ModuleNotFoundError(\"No module named 'matplotlib'\")",
"status": "skipped"
},
"git_commit": "",
"gpu_count": 0,
"gpu_type": "",
"host": "ds-6348bee4-1-765874c9c4-7zrvf",
"input_requirements": {
"actual_sequentiality_proof": [
"per-request dispatch timestamp",
"per-request finish or error/timeout timestamp",
"request_id join to trace/metrics when timing source is separate"
],
"metrics_jsonl": [
"request_id",
"session_id",
"trace_timestamp_s",
"input_length",
"output_length",
"latency_s",
"ttft_s",
"tpot_s",
"error",
"optional cached_tokens"
],
"reuse_decomposition": [
"cached_tokens or cache_hit",
"hash_ids",
"session_id"
],
"trace_jsonl": [
"chat_id",
"parent_chat_id",
"timestamp",
"input_length",
"output_length",
"turn",
"hash_ids",
"optional session_id"
]
},
"input_status": {
"analyzed_records": 2114220,
"breakdown_records": 0,
"merge_warnings": [],
"metrics_records": 0,
"trace_records": 2114220,
"trace_warnings": [],
"unmatched_breakdown": 0,
"unmatched_metrics": 0
},
"launch_command": "analysis/characterization/analyze.py --trace /home/admin/cpfs/wjh/ali-trace/trace-glm5.1-formatted/051315-051317.jsonl --kv-bytes-per-token 98304 --task-name full_trace_with_kv --output-root outputs/characterization --overwrite",
"output_dir": "outputs/characterization/2026-05-25/full_trace_with_kv",
"policy": "",
"request_limit": null,
"session_sampling_method": "",
"session_sequential": null,
"start_time": "2026-05-25T08:59:11.618919+00:00",
"time_scale": null,
"trace_file_info": {
"exists": true,
"mtime_s": 1778772033.2788928,
"path": "/home/admin/cpfs/wjh/ali-trace/trace-glm5.1-formatted/051315-051317.jsonl",
"sha256": "",
"sha256_status": "skipped_use_--hash-inputs",
"size_bytes": 1561266372
},
"trace_path": "/home/admin/cpfs/wjh/ali-trace/trace-glm5.1-formatted/051315-051317.jsonl",
"trace_sha256": ""
},
"outputs": [
"append_delta_stats.json",
"invalid_runs.md",
"kv_footprint_summary.json",
"manifest.json",
"raw/merged_requests.jsonl",
"raw/unmatched_breakdown.jsonl",
"raw/unmatched_metrics.jsonl",
"reuse_decomposition.json",
"session_arrival_stats.json",
"session_concurrency.json",
"session_skew.json",
"trace_profile.json",
"turn_interval_stats.json",
"workload_summary.json"
]
}