# HiveD
[[Microsoft]] / [[Peking University]] / [[The University of Hong Kong]] が共同開発したマルチテナント GPU クラスタの資源予約フレームワーク。[[Hanyu Zhao]] と [[Zhenhua Han]] が均等貢献第一著者として OSDI 2020 で発表。
## 概要
GPU アフィニティ(同一ノード・PCIe スイッチ・CPU ソケット内の GPU 群)の保証を伴う資源予約を、**仮想私有クラスタ(VC)**と**多段セル抽象**で実現する。既存のディープラーニングスケジューラ(YARN-CS / Gandiva / Tiresias など)を変更なしに VC 内で動作させられる関心の分離を実現し、共有安全性を独立して保証する。
## 主要コンポーネント
- **仮想私有クラスタ(VC)**: テナントごとに GPU・CPU・PCIe スイッチ等のアフィニティ階層を反映したセル集合を割り当てる仮想クラスタビュー。詳細は [[Virtual Private Cluster]]。
- **バディセル割り当てアルゴリズム**: VC の論理セルと物理クラスタの物理セルを動的に結合・解放するアルゴリズム。O(k̂) 時間で共有安全性を数学的に保証。
- **低優先度ジョブサポート**: 高優先度 VC セル使用後の余剰 GPU をオポチュニスティックジョブが活用できる拡張。
## 技術スタック
- Go コード 7,700 行超
- Kubernetes scheduler extender として実装
- [[OpenPAI]] に統合
- Kubernetes StatefulSet で障害耐性を実現
- セル仕様を YAML で記述
## デプロイ実績
- 800 GPU クラスタ(Azure 200 VM)で 12 ヶ月以上安定稼働(2020 年 11 月時点)
- NVIDIA Volta から AMD MI50 まで異種 GPU に対応
- [[OpenPAI]] ベースの複数本番クラスタで運用
## リポジトリ
github.com/microsoft/hivedscheduler(MIT ライセンス)
## 関連
- ソース: [[@@2020__OSDI__HiveD Sharing a GPU Cluster for Deep Learning with Guarantees]]
- 著者: [[Hanyu Zhao]] / [[Zhenhua Han]]
- 組織: [[Microsoft]] / [[Peking University]] / [[The University of Hong Kong]]
- 統合先: [[OpenPAI]]
- 概念: [[GPUクラスタスケジューリング]] / [[Virtual Private Cluster]] / [[共有異常]]