{
  "format": "agent-article-v0",
  "article_id": "EA-751",
  "canonical_url": "/tools/ea-751-kv-cache-aware-routing-llm-serving-control-plane",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-751-URL-057FBA35017C",
    "EVD-EA-751-URL-2D3E3E27A18A",
    "EVD-EA-751-URL-1D94E2E6E406",
    "EVD-EA-751-URL-6D3F650A6E04",
    "EA-751-CURRENT-APPROVAL",
    "EA-751-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-751-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-22",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "EA751-CANDIDATE-20261022-0801JST-C2",
    "SRC-EA-751-URL-057FBA35017C",
    "SRC-EA-751-URL-2D3E3E27A18A",
    "SRC-EA-751-URL-1D94E2E6E406",
    "SRC-EA-751-URL-6D3F650A6E04",
    "BODY-SHA256:b8273f0065c8c1fdd271d8ef71590f4bff038ba8b7978b460a474c451e6b39f4"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-751-URL-057FBA35017C",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA Dynamo v1.3.0 Introduction:",
      "href": "https://docs.nvidia.com/dynamo/v1.3.0/getting-started/introduction",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-751-URL-057FBA35017C"
      ],
      "supporting_locators": [
        "Evidence and provenance",
        "- NVIDIA Dynamo v1.3.0 Introduction: https://docs.nvidia.com/dynamo/v1.3.0/getting-started/introduction"
      ],
      "scope": "Evidence and provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-751-URL-2D3E3E27A18A",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA Dynamo v1.3.0 Router Guide:",
      "href": "https://docs.nvidia.com/dynamo/v1.3.0/user-guides/kv-cache-aware-routing",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-751-URL-2D3E3E27A18A"
      ],
      "supporting_locators": [
        "Evidence and provenance",
        "- NVIDIA Dynamo v1.3.0 Router Guide: https://docs.nvidia.com/dynamo/v1.3.0/user-guides/kv-cache-aware-routing"
      ],
      "scope": "Evidence and provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-751-URL-1D94E2E6E406",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA Dynamo current KV-Aware Routing:",
      "href": "https://docs.nvidia.com/dynamo/knowledge-base/concepts/system-architecture/kv-aware-routing",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-751-URL-1D94E2E6E406"
      ],
      "supporting_locators": [
        "Evidence and provenance",
        "- NVIDIA Dynamo current KV-Aware Routing: https://docs.nvidia.com/dynamo/knowledge-base/concepts/system-architecture/kv-aware-routing"
      ],
      "scope": "Evidence and provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-751-URL-6D3F650A6E04",
      "evidence_class": "RESEARCH",
      "title": "vLLM Automatic Prefix Caching:",
      "href": "https://docs.vllm.ai/en/latest/design/prefix_caching/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-751-URL-6D3F650A6E04"
      ],
      "supporting_locators": [
        "Evidence and provenance",
        "- vLLM Automatic Prefix Caching: https://docs.vllm.ai/en/latest/design/prefix_caching/"
      ],
      "scope": "Evidence and provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-751-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "EA751-CANDIDATE-20261022-0801JST-C2"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-751&revision_id=EA-751-REFRESH-20261022-R1&candidate_id=EA751-CANDIDATE-20261022-0801JST-C2",
        "EA-751-REFRESH-20261022-R1"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-751-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-22",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:b8273f0065c8c1fdd271d8ef71590f4bff038ba8b7978b460a474c451e6b39f4"
      ],
      "supporting_locators": [
        "content/staging/EA-751.md",
        "b8273f0065c8c1fdd271d8ef71590f4bff038ba8b7978b460a474c451e6b39f4",
        "EA-751-REFRESH-20261022-R1"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "Public claim",
      "text": "LLM servingのroutingは、単純なround-robinや現在負荷だけでなく、各workerに再利用可能なKV cache prefixがどれだけ存在するかと、prefill/decodeの進行中負荷を同時に評価できる。NVIDIA DynamoのKV-aware routerは、workerごとのprefix overlapとactive loadを組み合わせ、再計算するprefill量を減らしつつcache-rich workerへの集中を避ける設計を採る。\n\nKV localityは固定的なsession affinityではない。cache overlapによるprefill節約とactive prefill/decode負荷を同じplacement decisionに入れ、cache hitの利益より混雑コストが大きい場合は別workerを選べることが重要である。"
    },
    {
      "heading": "Scope",
      "text": "EA-751は、複数LLM workerを束ねるserving control planeにおいて、KV cache stateをrouting signalとして使う設計を扱う。aggregated servingとprefill/decodeを分離するdisaggregated serving、KV eventによるstate tracking、loadとのtrade-off、fallback、tenant/security境界、観測・検証を対象とする。"
    },
    {
      "heading": "Evidence and provenance",
      "text": "- NVIDIA Dynamo v1.3.0 Introduction: https://docs.nvidia.com/dynamo/v1.3.0/getting-started/introduction — KV cache-aware routing、KV cache offloading、disaggregated servingを主要技術として説明する。\n- NVIDIA Dynamo v1.3.0 Router Guide: https://docs.nvidia.com/dynamo/v1.3.0/user-guides/kv-cache-aware-routing — KV overlapを用いたprefill costとactive decode/prefill loadを考慮し、KV eventまたは近似stateをroutingへ利用する。\n- NVIDIA Dynamo current KV-Aware Routing: https://docs.nvidia.com/dynamo/knowledge-base/concepts/system-architecture/kv-aware-routing — cache localityとactive loadを組み合わせ、cache-hot workerへの過集中を避けるcost-based placementを説明する。\n- vLLM Automatic Prefix Caching: https://docs.vllm.ai/en/latest/design/prefix_caching/ — shared prefixのKV blocksを再利用し、重複prefill計算を避ける基礎機構を説明する。"
    },
    {
      "heading": "Operational meaning",
      "text": "KV-aware routingが効くのは、長いsystem prompt、共通文書prefix、multi-turn session、agent scaffoldなど、prefix再利用が実際に発生するworkloadである。routing layerがworker-local cache residencyを把握できなければ、同じprefixが別workerへ散ってprefillを繰り返す。\n\n一方、cache localityだけを最大化するとhot workerを作る。control planeはprefix overlap、active prefill、active decode、worker eligibility/healthを分離して観測し、最終routing scoreへ統合する必要がある。"
    },
    {
      "heading": "Failure modes",
      "text": "- STALE CACHE VIEW: create/evict eventの欠落・遅延でrouterのcache indexが実状態と乖離する。\n- HOT-SPOT AFFINITY: cache hitを過大評価し、同じworkerへtrafficが集中してqueueing latencyが増える。\n- FALSE MISS / FALSE HIT: block identity、salt、multimodal key、tier情報の扱い不一致でcache reuse見積りを誤る。\n- EVENT-PLANE FAILURE: KV event transport停止時にcache-aware scoringが成立しない、または近似stateの誤差が拡大する。\n- WORKLOAD MISMATCH: prefix共有が少ないtrafficではtracking/routing overheadに対する利益が小さい。\n- TENANT BOUNDARY ERROR: tenant間で再利用してはならないcache namespaceを同一視すると情報境界を破る。\n- DISAGGREGATED MISMATCH: prefill/decode分離時にworker選択とKV transferを同一問題として扱い、転送コストや到着時刻を無視する。"
    },
    {
      "heading": "Controls / implementation implications",
      "text": "1. round-robinまたはload-only routingをbaselineにし、KV-aware routingとの差を同一workloadでA/B測定する。\n2. router decisionごとにprefix overlap、predicted prefill work、active prefill/decode load、selected worker、fallback reasonを記録する。\n3. KV create/remove eventのlag、drop、recoveryを監視し、event plane不調時のfallbackを明示する。\n4. cache localityだけでなくqueueing/active loadをcostへ入れ、hot-worker集中を防ぐ。\n5. tenant/model/adapter/cache-salt等、cache identityに必要なnamespaceをrouting indexにも反映する。\n6. aggregatedとdisaggregated servingを別fixtureで評価し、後者ではrouting decisionとKV transferを別々に計測する。\n7. TTFT、throughput、cache-hit/overlap、prefill tokens saved、p95/p99 latency、worker imbalance、routing overheadを同時に測る。\n8. version upgrade時はevent semantics、router cost、TTL/pruning、backend integrationの変更を回帰試験する。"
    },
    {
      "heading": "Applicability boundary",
      "text": "prefix sharingが高いほど再利用余地は大きいが、改善幅はmodel、prompt長、request arrival pattern、worker数、cache容量、backend、network、event freshness、load分布に依存する。NVIDIAが示す個別性能値を別環境の保証値として扱わない。\n\nvLLMのAutomatic Prefix Cachingはworker内部のprefix reuse機構を説明するもので、単独ではmulti-worker routing policyを規定しない。Dynamoのrouter設計とbackend cache機構を区別する。"
    },
    {
      "heading": "Counterevidence / limitations",
      "text": "- cache-aware routingはprefix共有が乏しいworkloadでは利得が小さく、通常のload balancingが十分な場合がある。\n- event-driven cache indexは実状態の完全な同期を保証しない。event loss、eviction race、restart、TTL、network partitionを考慮する必要がある。\n- cache hitが大きくてもworkerが混雑していれば最適workerとは限らない。\n- offloaded KVやdisaggregated KV transferでは「cacheがある」だけでなくtierと転送コストが重要になる。\n- provider/backend固有のblock hashing、salt、adapter、multimodal keyの仕様差があり、routing indexの互換性を仮定できない。"
    },
    {
      "heading": "Security / privacy / audit / cost / operability",
      "text": "cache keyやevent streamにraw prompt、tenant secret、customer contentを不要に載せない。tenant isolationに必要なnamespaceをhash/cache identityへ含め、cross-tenant reuseを許可する場合は明示的な安全設計を要求する。routerのdecision logはprompt本文ではなく、必要最小限のcache identifier、overlap量、worker、load、reasonを保持する。\n\n運用コストはGPU inferenceだけでなく、router、indexer、event plane、KV transfer、offload storage、observabilityの追加負荷を含めて評価する。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- 実運用workloadでのprefix共有率とKV-aware routingの損益分岐点\n- event lag/dropがrouting品質へ与える定量影響\n- tenant固有のcache namespace、salt、adapter、multimodal key設計\n- offloaded KVのtier別hitをrouting costへどう重み付けするか\n- disaggregated servingでrouting gainとKV transfer costを統合する最適なcost model\n- Dynamo以外のcontrol planeで同等のcache/load joint routingを採用した場合の比較結果\n\nUNKNOWNを公開資料から推測で閉じない。組織固有値はworkload replayと実測で確定する。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "KV-cache-aware routingは、再利用可能なprefix stateを持つworkerを優先候補にしつつ、現在のprefill/decode負荷も考慮してrequestを配置する方法である。prefix共有が多いworkloadでは重複prefillを減らせる可能性があるが、効果はcache residency、event freshness、worker load、backend、network、workload分布に依存する。公開された個別ベンチマーク値を自環境の保証値として扱わず、load-only baselineとのA/B測定とauthoritative telemetryで確認する。"
    }
  ],
  "human_url": "/tools/ea-751-kv-cache-aware-routing-llm-serving-control-plane",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-751-kv-cache-aware-routing-llm-serving-control-plane",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-751-kv-cache-aware-routing-llm-serving-control-plane"
}