# 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