# ホスト輻輳制御
## 定義
ホスト輻輳制御は、NICとCPU/メモリを結ぶプロセッサ・メモリ・周辺機器インターコネクト(ホストネットワーク)内で発生する輻輳——ホスト輻輳——を検知し、ホスト資源(PCIe帯域・メモリ帯域)とネットワーク資源の両方を、ネットワークトラフィックとホストローカルトラフィックの間で配分する輻輳制御の一領域である。古典的な輻輳制御研究が「end-to-end」の終端をNIC(Ethernetの存在点)と解釈し、輻輳は主にネットワークファブリック(スイッチ)内で発生するという前提に立ってきたのに対し、ホスト輻輳制御はこの前提を覆し、ホストネットワーク自体を輻輳が発生しうる領域として扱う。(Source: [[@2023__SIGCOMM__Host Congestion Control]])
高帯域アクセスリンクの普及と、CPU速度・キャッシュサイズ・メモリアクセスレイテンシ・コアあたりメモリ帯域・NICバッファサイズといったホスト内資源の相対的に停滞した技術トレンドのギャップから、ホスト輻輳が顕在化している。ホストネットワークはロスレスでクレジットベースのフロー制御を用いるため、輻輳が発生しても輻輳点(例: メモリコントローラ)ではパケットは失われず、輻輳点から離れたNICバッファでキューイングと最終的なパケットドロップが起きる。これは「パケットドロップは輻輳点で発生する」という古典的輻輳制御の前提を破る。(Source: [[@2023__SIGCOMM__Host Congestion Control]])
## 主要な設計要素
- **ホスト輻輳シグナル**: hostCCはIIO(Integrated IO Controller)バッファ占有量を輻輳シグナルとして用いる。IIO計測点はNIC-メモリのデータパス外にあるため、ホスト輻輳の影響を受けずサブマイクロ秒粒度で測定できる。既存のモデル固有レジスタ(MSR)2つで取得可能であり、追加ハードウェア支援を必要としない。
- **サブRTT粒度のホストローカル応答**: ホストローカルトラフィック(CPU-to-メモリトラフィックなど)は輻輳制御プロトコルに従わず輻輳点に近いため、RTTより短い時間スケールで急変しうる。この特性に対応するため、ホストローカル輻輳応答はRTTを待たずサブRTT粒度で資源配分を調整する。
- **RTT粒度のネットワーク資源配分**: ホスト輻輳シグナルをネットワーク輻輳制御プロトコル(ECNマーキング等)へエコーすることで、既存プロトコルの変更を最小限に留めながらRTT粒度のネットワーク資源配分を実現する。関心の分離(ホスト=サブRTT、ネットワーク=RTT)が鍵となる設計判断である。
- **RDMA環境向けのプローブベース通知**: RDMA受信側カーネルモジュールはデータパケットを直接改変できないため、hostCCのECNマーキング方式はRDMAへ展開できない。[[@2024__APNet__Rethinking Intra-host Congestion Control in RDMA Networks]](RHCC)はこの制約に対し、商用RNIC(Mellanox ConnectX-6 DX以降)が持つProgrammable Congestion Control(PCC)のプローブ機構を使い、送信側がプローブパケットを送出し受信側が付与したハードウェアタイムスタンプ付きACKから受信処理遅延を測定するという、データパケットを一切改変しない代替経路でホスト輻輳シグナルを送信側へ伝える。
## 横断的知見
- **ホストネットワーク内の競合は「資源不足」ではなく「インターコネクト間の相互作用の悪さ」に起因する**: [[@2023__SIGCOMM__Host Congestion Control]] はIIOバッファ占有量というシグナルでホスト輻輳の発生箇所を精密に特定するが、[[@2024__SIGCOMM__Understanding the Host Network]] はさらに踏み込み、ホストネットワークを「ドメインごとに独立したクレジットベースフロー制御を行う複数のサブネットワーク」として抽象化することで、既存研究が報告してきた競合現象をほぼ正確に説明できることを示した。前者が輻輳の「検知と応答」を扱うのに対し、後者は輻輳が「なぜ・どこで」生じるかを一般化するモデルを提供しており、両者は診断と制御という補完関係にある。(Source: [[@2023__SIGCOMM__Host Congestion Control]], [[@2024__SIGCOMM__Understanding the Host Network]])
- **同じ著者グループが「輻輳の制御」と「輻輳の理解」を別の論文として2年連続で発表している**: [[@2023__SIGCOMM__Host Congestion Control]](SIGCOMM 2023)がhostCCという制御アーキテクチャを提案した翌年、[[@2024__SIGCOMM__Understanding the Host Network]](SIGCOMM 2024)は「青レジーム」(メモリ帯域が飽和していなくてもcompute-to-memoryアプリの性能が劣化する、既存研究とは逆方向の現象)という、hostCCのIIO占有量シグナルだけでは説明しきれない新たな競合パターンを発見した。制御アーキテクチャの提案が先行し、その後により精緻な現象理解が追随するという研究の順序は、ホスト輻輳という問題領域がまだ完全に地図化されていないことを示唆する。(Source: [[@2023__SIGCOMM__Host Congestion Control]], [[@2024__SIGCOMM__Understanding the Host Network]])
- **会議論文の拡張ジャーナル版は、hostCCとの比較を制御機構の提案から独立した1節として体系化する**: [[@2024__APNet__Rethinking Intra-host Congestion Control in RDMA Networks]](APNet 2024、7ページ)は限られた紙幅の制約からRHCCとhostCCの差分を設計説明に埋め込む形で述べていたが、拡張ジャーナル版 [[@2025__TON__RHCC - Revisiting Intra-Host Congestion Control in RDMA Networks]](IEEE Transactions on Networking 2025)は「RHCC Benefits Over hostCC」という独立した節(§III-D)を新設し、RDMA実装可能性・ホスト間輻輳制御方式との協調・パラメータ分離・純粋PCIe輻輳への対応・cross-NUMAトラフィックへの対応という5点の優位性を明示的に列挙した。会議版からジャーナル版への拡張が、単なる実験追加ではなく「先行手法との関係の言語化」という論証構造そのものの精緻化として現れる例である。(Source: [[@2024__APNet__Rethinking Intra-host Congestion Control in RDMA Networks]], [[@2025__TON__RHCC - Revisiting Intra-Host Congestion Control in RDMA Networks]])
- **RHCCのPIDベース調整の収束性は、独立した制御理論研究の援用によって事後的に裏付けられる**: APNet版はRHCCのPID(比例・積分・微分)ベースレート調整をAIMD方式との対比で設計選択として説明するのみだったが、ToN拡張版は§III-Cで、PID制御全般がSISO ARMAXモデルで特徴づけられグローバル収束性を持つという先行研究([46]、PID制御のレビュー論文)の一般的な結果を援用し、RHCCの誤差信号$D_{cur}-D_{thr}$がこの枠組みに当てはまることを示す形で収束性を論証する。RHCC自身の新規の証明ではなく、既存の制御理論の適用可能性を示すことで理論的正当化を行う、実装論文における理論的裏付けの典型的な補い方である。(Source: [[@2025__TON__RHCC - Revisiting Intra-Host Congestion Control in RDMA Networks]])
## 未解決の問い
- [[@2024__SIGCOMM__Understanding the Host Network]] が発見した「青レジーム」(メモリ帯域飽和なしでC2Mアプリが劣化する現象)に対し、hostCCのIIO占有量ベースの輻輳シグナルは検知・対応できるか。ドメインごとのクレジットベースフロー制御という抽象化を、hostCCの輻輳シグナル設計にどう反映すべきか。
- Intel MBAの限界(MSR書き込みに約22µs・非線形かつ粗粒度な応答)を克服する、より細粒度なホスト資源配分ハードウェア支援は実現しているか。AMD Memory Bandwidth QoS等の代替インターフェースでも同様の限界があるか。RHCCも同じくIntel MBAの粗粒度な5段階配分に依存しており、この限界はhostCC・RHCCに共通する未解決の制約である。
- IOMMU起因のホスト輻輳(周辺機器からのメモリ保護のためのハードウェア構成要素のボトルネック)を検知する輻輳シグナルは何か。ATSのような新技術はどの程度緩和に寄与するか。
- CXLによるメモリ拡張がホスト輻輳(特にメモリインターコネクトのレイテンシ$\ell_m$)を緩和する可能性は本論文で未解明のまま残されている。CXL-attachedメモリを用いた場合のIIO占有量シグナルの妥当性はどうなるか。
- RHCCは単一のホスト間輻輳制御(DCQCN)との組み合わせでのみ評価されており、HPCC・TIMELYなど他のプロトコルとの組み合わせでの実測は示されていない。$R_{trans} = \min(R_{rev}, R_{cc})$という設計は理論上どの$R_{cc}$計算方式にも対応可能とされるが、この汎用性の実証は今後の課題として残る。
- RNIC自体のオンチップSRAM制約によるICMキャッシュミス(QP数がRNICのキャッシュ容量を超えた際に生じる別種のホスト内輻輳)は、RHCC・hostCCいずれの輻輳シグナル(IIO占有量)でも検知できない可能性がある。[[SRNIC]]のようなキャッシュフリーQPスケジューラとRHCC/hostCCの輻輳シグナル設計を統合する具体的な方式は、この wiki が持つソースからはまだ確認できていない。
## 関連
- [[データセンター輻輳制御]] — スイッチ・NICを対象とするネットワークファブリック輻輳制御(DCQCN・DCTCP・TIMELY・HPCC等)。ホスト輻輳制御はこれらのプロトコルと統合される形で動作する、対象領域が異なる隣接分野。
- [[ホストネットワークスタック性能]] — CPU・メモリ帯域・キャッシュ・NUMA配置などホスト側の処理オーバーヘッドを扱う関連概念。ホスト輻輳制御は「輻輳の検知と資源配分」、ホストネットワークスタック性能は「処理経路のボトルネック分析」という異なる角度から同じホストネットワークという対象を扱う。
- [[ホスト内ネットワークボトルネック]] — Hostpingが確立した「RNIC線速の急増とホスト内資源(PCIe・メモリ帯域)の停滞のギャップ」という診断的な観察を、ホスト輻輳制御は能動的な制御機構(hostCC・RHCC)として実装する側にあたる。診断と制御の関係。
- [[Saksham Agarwal]] / [[Rachit Agarwal]] — hostCCおよびUnderstanding the Host Networkの共著者。
- [[Jiao Zhang]] — RHCCの責任著者。Hostping(NSDI 2023、ホスト内ボトルネック診断)の責任著者でもあり、診断から制御へと研究テーマを展開している。
## 出典
- [[@2023__SIGCOMM__Host Congestion Control]]
- [[@2024__SIGCOMM__Understanding the Host Network]]
- [[@2024__APNet__Rethinking Intra-host Congestion Control in RDMA Networks]]
- [[@2025__TON__RHCC - Revisiting Intra-Host Congestion Control in RDMA Networks]]