# Microsoft Catapult
[[Microsoft]] がデータセンターサーバーへ配備したFPGAベースのアクセラレータ。ASICと異なりFPGAの再構成性を活かし、サーバーの均質性(homogeneity)を維持したまま異なるアプリケーション・異なるサーバーへ同一ハードウェアを転用できる設計を目指した。サーバーの保守・スケジューリングの複雑化を避けること、単一障害点にならないこと、データセンターネットワークの性能・信頼性を損なわないことなど、[[Google TPU]] とは異なる制約のもとで設計された(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.5)。
## Catapult V1
- 28 nm Altera Stratix V D5 FPGA(3926個の18ビットALU、5 MiBオンチップメモリ)を搭載したPCIeボード。電力・冷却制約から25 Wに制限される。
- 48台のFPGAが専用の20 Gbit/s低遅延ネットワーク(2次元6×8トーラス)で接続され、1台の故障時にも再構成可能。
- RTLコードを shell(23%、再利用可能な共通基盤)と role(77%、アプリケーション固有)に分割し、プログラミング負担を軽減。
- Bing検索のランキング関数を Feature Extraction・Free-Form Expressions・Machine-Learned Scoring の3段に分け8基のFPGAに分散実装し、95パーセンタイルレイテンシ制約下でホストIntelサーバー比1.95倍のスループットを達成した。TCO増加が30%未満だったため、性能/TCOの正味改善は約1.5倍。
## Catapult V2
- FPGAをCPUとNICの間の「バンプオンワイヤ」に再配置し、全ネットワークトラフィックがFPGAを経由する構成に変更。データセンターネットワークインフラの高速化にも活用できるようになった。
- データセンターネットワークを10 Gbit/sから40 Gbit/sへ増強し、レート制限機構を追加。ネットワーキングエンジニアがFPGAの新たな利害関係者となった。
- 99パーセンタイルレイテンシ制約下でスループット2.25倍(V1の1.95倍から向上)を達成。ソフトウェアのテールレイテンシを常に下回った。
## 関連
- ソース: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]]
- エンティティ: [[Microsoft]] / [[Google TPU]] / [[Intel Crest]] / [[Pixel Visual Core]]
- 概念: [[ドメイン固有アーキテクチャ]] / [[AIアクセラレータ]]
## 出典
- [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.5