RTX 5090二台でKVキャッシュをEthernet共有
25秒でわかる内容解説
viiworkが2台のRTX 5090間で会話の途中状態をEthernet越しに共有する実験を公開した。モデルのKVキャッシュを別マシンに写し、切替時の再計算を減らせるかを確かめている。10 GbEは1 GbEより転送が速く、ウォームな切替率をわずかに押し上げた。ただし取り込み時間や実行間のばらつきがあり、帯域だけではない課題が残る。ローカル環境で複数のエージェントを回す人に関係する検証だ。
2台のRTX 5090で3つの接続を比較
実験は2026年10月26日、viiwork v2.11.0-beta1とStrata 0.2.6を使い、import-once修正前の状態で行われた。各ホストには4つのモデルスロットがあり、エージェントは仕様からToDoアプリを作った。12セッションと16セッションを90分間測定し、負荷が偏りにくい16セッションで比較した。
接続は3通りあり、LANスイッチ越しの1 GbE、10 GbEケーブルでTailscaleを流す構成、同じケーブルでkv_shareを直接送る構成を比べた。StrataはQwen3.8-Flash-Nextを動かすエンジンで、会話ごとにキャッシュを持つ。
典型的なレプリカ差分は約247 MiBで、1 GbEでは送信に3.24秒かかった。10 GbEをTailscale経由で使うと0.81秒に縮み、Tailscaleを迂回すると0.55秒になった。単一ストリームでは生ケーブルが9.41 Gb/sを運び、Tailscaleは約3.0–3.4 Gb/sにとどまった。直接送ると速いが、読み込みやハッシュ、書き込みが律速になった。
KVキャッシュを写す仕組みとプリフィル
大規模言語モデルは毎ターン最初から会話を読み直すことはなく、プロンプト、つまり入力文を進めると層ごとにキーと値のテンソル、すなわち配列が作られる。これがKVキャッシュと呼ばれる途中状態で、残せば次の語の生成へ移れるが、失うとプリフィル、つまりプロンプト全体をモデルに通す再計算が起きる。
キャッシュはターンを処理したGPUプロセスに載るため、本来は同じマシンへ戻す方が速い。viiworkはセッションを温かいホストに寄せるセッションアフィニティを基本にし、混雑したときだけ別マシンへ移す。その移行を安くするために、viiworkはkv_shareという複製機構を用意している。
kv_shareは8,192トークン以上のターンの後に保存し、次の受け先へ差分だけを送る。50,000トークンごとに約1 GBのキャッシュのうち約240 MBが動くとされる。受け側は次ターンの前に取り込み、プロンプトが一致すれば温かいまま再開する。
古い取り込みは無駄になるだけで、冷たい処理と同じ扱いに戻るため、失敗しても追加の害は小さい。古いRTX A4000では50,000トークンのプリフィルが約41秒、gfx906環境では200,000トークンで数分かかる例が示されている。RTX 5090では速いが、同じ作業を繰り返す点では変わらない。
10 GbEでウォーム率がわずかに上昇
1 GbEでも片道約320–450 Mb/sの平均トラフィックが確認され、多くの切替は温かかったとされる。10 GbEは転送をより適時にし、部分ウォームなターンを減らした。
16セッションの比較では、直接1 GbEで93.8%だったウォームなホスト切替が、10 GbEとTailscaleで96.8%へ上がった。部分ウォームは5.4%から2.2%へ下がり、より速い複製が次ターン前に届きやすくなったためだ。
直接10 GbEの送信はさらに速いが、ウォーム率は96.2%だった。96.8%との差は実行間のばらつきの範囲内とされ、Tailscaleを外しても明確な最終的な利得は示されていない。LANスイッチは律速ではなく、直接ケーブルを1 GbEに落とすと切替1 GbEの送信時間が再現された。
残る遅さは取り込み側にあるが、エンジンへの取り込みはどのリンク速度でも約2.8秒かかった。混雑した実行でもコールド切替、つまり冷たい切替は1–2%程度にとどまり、帯域よりもエンジンとの整合が課題となった。
import-once修正後の検証が残る
この実験は各構成で90分を1回ずつ走らせたもので、統計的な繰り返し試験ではない。12セッションは負荷が偏ったため、比較には16セッションのJ、H、Lフェーズが使われた。温かいはプロンプトの90%以上を再利用し、部分ウォームは30–90%の範囲と定義された。
測定では取り込み状態とエンジン保持の不一致が起き、viiworkが取り込み済みだと覚えた後にエンジン側が会話を追い出すと、再訪問で不要なスキップが起きた。この不具合はviiwork v2.11.1で、エンジンが何を保持しているかを確認してからスキップする形で修正された。不具合は、再訪問時にエンジンがキャッシュを持たないのに取り込みを飛ばし、冷たい処理へ落ちる形で見えた。
viiworkは修正後の効果を明らかにしていないが、取り込み時間やウォーム率のばらつきがどこまで縮まるかは不明だ。90分の1回きりの実行では、短い差を性能差として区別できない。残る課題は、修正後のエンジン取り込みとキャッシュ保持の一致を、繰り返し実行で確かめる点にある。実験は2026年10月27日公開で、修正後の再測定は記載されていない。
出典
- Two RTX 5090 hosts sharing a KV cache over Ethernet(Hacker News) · 議論