# Virtual Private Cluster
## 定義
仮想私有クラスタ(Virtual Private Cluster, VC)は、[[HiveD]] が提案したマルチテナント GPU クラスタの資源抽象である。各テナントに、GPU アフィニティ階層構造を保持した「あたかも私有クラスタのような」仮想ビューを提供する。VC は各レベルの**セル**数で定義され、クラスタ内の実際のアフィニティ階層(GPU → PCIe スイッチ → CPU ソケット → ノード → ラック)を反映する。
従来のクォータ(GPU 本数)に基づく予約と異なり、VC はアフィニティ構造ごと予約する。これにより他テナントのジョブが自テナントの GPU アフィニティを断片化できなくなり、**共有安全性**が保証される。
## 核心概念:セル
**セル**は GPU アフィニティ階層の各レベルに対応する資源単位である。
- レベル 1: 単一 GPU
- レベル 2: PCIe スイッチ配下の 2〜4 GPU
- レベル 3: CPU ソケット配下の 4〜8 GPU
- レベル 4: ノード(例: 8 GPU)
- レベル 5: ラック(例: 64 GPU)
レベル k のセルはレベル k-1 のバディセル集合で構成される。バディセルはマージして上位セルになれる(**階層的一様合成可能性**)。
VC 内のセルは**論理的**であり、ジョブが使用するときに**動的に**物理クラスタのセルへ結合される。この動的結合により:
- 障害ハードウェアの回避
- 低優先度ジョブによる先占削減
- クロステナントのセルパッキングによる断片化低減
が可能になる。
## 共有安全性の保証
VC に基づく予約は、**定理(Theorem 1, Zhao et al. 2020)**として数学的に証明された共有安全性を提供する。実行可能な初期 VC 割り当てと階層的一様合成可能性の条件下で、バディセル割り当てアルゴリズムはすべての正当なセル要求を満たすことが証明される。
## 横断的知見
- 2020 年時点では HiveD の VC が GPU アフィニティ保証つき資源予約の最初の形式的提案である。クォータベースの GPU クラスタが本番環境で共有安全性を破ることを OSDI 2020 で初めて実証した([[@@2020__OSDI__HiveD Sharing a GPU Cluster for Deep Learning with Guarantees]])。
- [[GPUクラスタスケジューリング]] の文脈で見ると、既存スケジューラ(Gandiva / Tiresias / YARN-CS)はそれぞれの設計目標(完了時間最小化・公平性など)を持つが、いずれも共有安全性を扱わない。VC はその「関心の分離」を実現する抽象レイヤーとして機能する。
## 未解決の問い
- VC 割り当て(各テナントが何レベルのセルをいくつ受け取るか)の自動決定・最適化は HiveD のスコープ外。ワークロード変動に追従する動的 VC 割り当てはどう設計すべきか。
- GPU アフィニティ保証と公平性(Themis 等)を統合する場合、VC 割り当て自体を公平に決定するメカニズムはどうあるべきか。
- LLM 訓練のように並列化戦略(DP/TP/PP)が混在するジョブでは、単純なノードレベルセルでは表現しきれないトポロジ制約がある。VC を 3D 並列化の配置要件まで拡張するには何が必要か。
## 関連
- ソース: [[@@2020__OSDI__HiveD Sharing a GPU Cluster for Deep Learning with Guarantees]]
- エンティティ: [[HiveD]] / [[Hanyu Zhao]] / [[Microsoft]] / [[Peking University]]
- 概念: [[GPUクラスタスケジューリング]] / [[共有異常]] / [[LLM分散学習]]
- 関連 MOC: [[分散深層学習 - MOC]]
## 出典
- [[@@2020__OSDI__HiveD Sharing a GPU Cluster for Deep Learning with Guarantees]](§3.1-3.3, §4, §5)