Multi-GPU system with ExpEther †ExpEtherという仮想化技術により、ホスト(CPU)と複数のデバイス(GPU)を10Gb Ethernetで接続するシステムである (以下、Express systemとする)。 ExpEtherではPCIeのパケットをEthernetのフレームにカプセル化するということを行っている。 そのため、このシステムのユーザからはホストのマザーボードに直接GPUが挿さっているように見える。 GPU-BOXはこれのプロトタイプで、8個のExpEther NICと3000Wの電源が付いた箱のことを言う。 最大8台のGPUを搭載することができる。 このGPU-BOXは、2013年度卒の野村先輩(通称のむさん)から脈々と実機評価@NECで使われていた。 しかし、2015年2月から市販品のExpEther I/O拡張ユニット (N8000-1005) が使われるようになる。 基本的には入れ物が変わっただけで、ExpEther NICに変化は無いため、性能に差はない。 このシステムの売りは主に拡張性にある。 ExpEther I/O拡張ユニットをEthernet switchにつなぐだけでGPUの増設が簡単に行えるからである。 「この拡張性が既存のデータセンタに光をもたらす」とか云々言って論文のIntroductionが始まるのである。 実機環境 †
これまでにやってきたこと †
一般的なシングルホストマルチGPUシステム (common system) との違い †ここでいうcommon systemとは、1つのマザーボードのPCIeスロットに複数のGPUが付いているシステムのことを指す。 基本的にcommon systemでできることはExpress systemでもできる。 つまり、common systemのコードがそのままExpress systemでも利用でき、正しく動くということ。 ただし、そのまま利用できるからといって性能的に使い物になるとは限らない。 PCIeの帯域幅と10Gb Ethernetの帯域幅に大きな差があるためである。
そのため、高速化のためには通信量の削減や通信の隠蔽などが必要になる。 Express systemを使うときの注意事項 †実機評価@NECで覚えておくと便利なコマンド †
written by mits(2015-02-14) |