構成が異なる6種類のGPGPUクラスタ
最初に構成が異なる6種類のGPGPUクラスタの機能と用途を紹介します。全体像を示したうえで、このページの主題であるサーバブレード製品「HPC-ProServer DPeM610X」を用いたGPGPUクラスタの構成例を紹介します。他の構成との比較によってブレード型サーバの特徴が明確になります。
6種類の構成をイラストで紹介
下に6種類のGPGPUクラスタをイラストで示します。実装密度が高くなる順に左から並べています。各機種の違いは利用している筺体の構造によって、搭載できるデバイスの数に違いがあることから発生しています。
またこの6種類は2つのタイプに大別できます。左側の3種類はサーバにGPGPUを内蔵し "一対一" で接続しているタイプです。PCI Expressの帯域幅やホスト機のプロセッサ、メモリ、ネットワークなどのリソースをGPGPUが占有できます。実装密度は低くなりますが外部ボトルネックが少なくなります。これに対して、右側の3種類はサーバと外付けGPGPUを "一対多" で接続しているタイプです。高い実装密度と低いコストを実現できます。しかしその反面、一台のサーバに複数のGPGPUを接続するため、PCI Expreeの帯域幅やホスト機のリソースを各GPGPUで分割して利用することになります。アプリケーションの特性によってはボトルネックが発生する可能性があります。

6種類の構成を説明
左側から1番目の構成は、ワークステーションにGPGPUを内蔵したシステムです。導入が容易なためソフトウェア開発用途から計算用途まで広く利用されています。利用形態はパーソナルユースによるスタンドアロンが主体です。筺体が大きいため広い設置スペースが必要です。騒音は居室に置くことができるレベルです。このタイプのシステムは共同利用環境の採用が進んでいません。そのため使用台数が増えると運用管理が難しくなります。それを契機にサーバ型システムに変更されるケースもあります。
2番目の構成は、ラック型の2UサーバにGPGPUを内蔵したシステムです。信頼性の高いサーバを用いることで堅牢なシステムを実現できます。サーバには強力な管理ツールが備わっているため台数が増えても管理は容易です。障害の監視機能と通知機能を搭載し可用性を高めています。共同利用の自動運転を目指してマスターサーバを導入されるケースが一般的です。ラックに搭載しているためワークステーションと比べると高い密度実装を実現できます。騒音については低騒音サーバを用いることで「騒がしい事務室」の水準に抑えることができます。このように信頼性、保守性、運用面のいずれにおいてもサーバ型システムはワークステーション型システムより優れています。イニシャルコストの高さは利用効率の良さと運用コストの低さによって回収できます。
3番目の構成は、このページの主題である "ブレード型サーバにGPGPUを内蔵したシステム" です。ブレード型サーバの特徴はGPGPUの他に10GbEやInfiniBandを搭載した重装備でありながら高い実装密度と簡潔な配線を実現しています。上記の2Uサーバと比べると2倍以上の実装密度です。保守も容易です。大型の高機能GPGPUクラスタを構築するためには最適の実装です。ホスト機のリソースへの依存度が高いアプリケーションに適した構成です。少し高いイニシャルコストは、設置効率の良さとランニングコストの低さによって回収できます。
※) ここまではサーバ内にGPGPUを内蔵するタイプです。ここからは、サーバとGPGPUが別筺体になるタイプです。
4番目の構成は、1Uサイズの筺体に4基のGPGPUを内蔵したGPGPU専用筺体と、一般的な1Uサーバとの間をケーブルで接続したシステムです。この構成は1台のサーバを2台のGPGPUで共有するため、ホスト機のコストを半分にすることができます。しかしその反面各GPGPUが利用できるホスト機側のリソースは半分に減ります。そのためPCI Expressバスがボトルネックにならず、ホスト機側のリソースへの依存度が少ないアプリケーションに適した構成です。
5番目の構成は、3Uサイズの筺体に16基のGPGPUを内蔵したGPGPU専用筺体と、一般的な1Uサーバとの間をケーブルで接続したシステムです。このGPGPU専用筺体はサーバメーカーがGPGPUクラスタ用に特別に設計したものです。後発製品である利点を活かし先行製品からフィードバックを受けることで、実装密度、信頼性、保守性、構成自由度など多くの点で優れています。この構成は1台のサーバを最大で8台のGPGPUで共有するため、ホスト機のコストを8分の1まで低減することができます。しかしその反面各GPGPUが利用できるホスト機側のリソースはさらに減少します。PCI Express性能がボトルネックにならず、ホスト機側のリソースへの依存度が少ないアプリケーションに適した構成です。
6番目の構成は、3Uサイズの筺体に16基のGPGPUを内蔵したGPGPU専用筺体と、特別設計の2Uサイズの筺体に4台のサーバを搭載した高密度実装型サーバとの間をケーブルで接続したシステムです。GPGPU筺体とホスト機は共に実装密度が高いので、5番目の構成と同じスペースに2倍のサーバを搭載することができます。そのため1台のサーバを2基のGPGPUで共有することができます。PCI Express性能やシステムリソースに起因するボトルネックは少なくまります。ご紹介した6種類の構成の中では最も実装密度とスループットが高い構成です。
ブレード型GPGPUクラスタの構成例
構成例 1
4TFLOPS (8 Fermi)
ブレード筺体1台とマスターサーバを
24Uラックに搭載した構成例
ブレード型サーバを用いた高機能なGPGPUクラスタの基本となる構成例をイラストによってご紹介します。
ラック中段にブレード筺体を搭載しています。ブレード筺体の前面には8枚のサーバブレード (ホスト機) を搭載しています。各サーバブレードには1枚のGPGPUカード (Tesla M2050 (Fermi) と2個のQuad-Core Xeonプロセッサ、1枚のDual-Port 10GbE NIC、1枚のQDR InfiniBand HCAを搭載しています。
GPGPUとホスト機の間はPCI Express Gen2.0 x16で接続され片方向8GB/sの帯域幅を実現しています。ホスト機にはクロック速度が低めのQuad-Core Xeonプロセッサを2個搭載しています。このプロセッサを採用することにより高スループットと低コストを両立できます。ホスト機に搭載するメモリの容量は利用するアプリケーションに応じて増減させます。このホスト機は最大で192GBのメモリを搭載することができるので、大きなメモリ空間を必要するアプリケーションにも十分対応できます。
ホスト機には2.5インチのディスクドライブを2個搭載することができます。利用できるドライブはSAS 2.5インチ 15000回転 146GBドライブ、SAS 2.5インチ 10000回転 146GB /600GBドライブ、SSD 50GB /100GB /149GBドライブなどから選択できます。もし高速な一時ファイルを必要とするアプリケーションを使用される場合は2基のSSDドライブをRAID0によって高速化することができます。SSDストレージはランダムアクセスであっても約300MB/sの実効転送性能が期待できます。
ブレード筺体の背面側には10GbEスイッチ、InfinBandスイッチ、GbEスイッチ、KVMスイッチを搭載することができます。ブレード型サーバによる実装の長所は、このような多くのデバイス類まで含めて、僅か10Uのスペースに全てを搭載できることです。内部のケープリングはプリント基板上に実装されています。外部に出るケーブルは5本の電源ケーブルと各1本のGbEケーブル、10GbEケーブル、KVMケーブルのみです。
ラックの下部にはマスターサーバと外付けのRAID筺体、ネットワークスイッチ、無停電電源装置を搭載しています。これらがマスターサーバ部を構成しています。マスターサーバにはログインサーバ機能、ネットワーク情報管理機能、アプリケーションサーバ機能、ファイルサーバ機能、ジョブスケジューラ機能、開発環境などを搭載しています。
マスターサーバの働きによって複雑なGPGPUクラスタの物理的な構造が抽象化され、ユーザからは単純なシングルシステムイメージ (一台のサーバ) として認識できるようになります。ユーザはリモートの端末からマスターサーバにログインし、マスターサーバ上で全ての作業を行うことができます。ジョブの実行はジョブスケジューラに対してジョブを投入する形になります。ジョブスケジューラによって各ユーザは相互に隠蔽されるため相互に意識する必要はなくなります。投入されたジョブは予め決められたルールに従って順番が決められ、ジョブにマッチした計算機 (プロセッサコア) が空くと自動的に順序良く投入されます。
マスターサーバには外付けRAID筺体が接続されています。このRAID筺体には2TBディスクが最大12基搭載できます。RAID6構成にすると約20TBの実効容量を確保できます。ストレージの信頼性を維持するためには定期的なバックアップが欠かせません。HPC分野の場合は通常のIT分野と比較して桁違いのデータが発生します。そのような場合にネットワーク越しのバックアップでは長い時間が掛かってしまいバックアップが非現実的になります。その対策として簡単かつ高速な方法はがあります。それは外付けRAID筺体とRAIDコントローラを新たに一組マスターサーバに追加する方法です。すなわちマスターサーバにのPCI Express2.0 x8スロット上に2枚のRAIDコントローラが搭載されその先に2基の外付けRAID筺体が接続されます。この構成の場合はバックアップによるデータ転送はマスターサーバのPCI Express2.0 x8上で行われるため通信ボトルネックの発生することな高速なバックアップが実現します。
マスターサーバ部はUPSによって安定した電源が供給されています。万一の電源事故が発生してもシステムを安全に停止させることができます。
24Uラックの高さは約1200mmです。通常の研究室などではラックの設置場所の床荷重や地震の際の店頭などを考えると重心の低いラックが適しています。また24Uラックは移動も容易です。 |
構成例 2
8TFLOPS (16 Fermi)
ブレード筺体2台を24Uラックに搭載した
システム拡張用の構成例
構成例2は上記のマスターサーバを搭載した構成例1のシステムの演算性能を強化するため、GPGPUクラスタの部分だけを追加するためモジュールです。24Uラックに2台のブレード筺体を搭載し16基のGPGPUを内蔵しています。
この構成はマスターサーバを搭載していません。マスターサーバは構成例1のシステムに搭載しているマスターサーバを利用することを想定しています。そのためもしファイルのI/Oが多いとファイルサーバボトルネックを引き起こす可能性があります。その際に気をつけるべきことは次の点です。現在のファイルサーバに搭載しているストレージは十分に高速です。さらにファイルサーバに十分な容量のメモリを搭載していると書き込み時にもライトキャッシュとして機能するためさらに性能が向上します。実際のファイルサーバのボトルネックはネットワーク転送の部分で発生します。その対策として10GbEを利用することや、複数の10GbEをポートを利用することをお勧めします。
もしそれでも帯域幅が不足する場合は技術相談を承っています。ファイルサーバの高速化については複数のファイルサーバを並列動作させる並列ファイルシステムの導入が可能です。この実装を利用するとファイルサーバのI/O速度をスケーラブルに向上させることが可能です。 |
構成例 3
8TFLOPS (16 Fermi)
ブレード筺体3台とマスターサーバを
42Uラックに搭載した構成例
右イラストに示した構成例3は上記の構成例1と構成例2を一緒にして42Uラックに搭載したものです。その特徴は設置効率の高さです。僅かな床面積に膨大な演算能力を設置できます。
この設置効率の高さを裏で支えるものが、ブレード型サーバが備える保守性と信頼性の高さです。ブレード型サーバは全てのモジュールがホットスワップに対応し、大部分の配線がプリント基板上に実装されています。そのためイラストの実装のような高密度実装を行っても、システムの外観は整然としています。ハードウェアの障害が発生しても不具合箇所をカセット式に交換するだけで簡単に復旧します。ブレード型サーバはシステムの規模が大きくなるに従ってその可用性を高めます。
42Uラック構成の課題は、この構成のように実装密度を高くした場合に、システムの重量や消費電力、発熱量が大きくなることです。そのため床の耐荷重、部屋の電源容量、空調の能力が求められます。 |
構成例 4
8TFLOPS (16 Fermi)
ブレード筺体4台を42Uラックに搭載した
システム拡張用の構成例
右のイラストは、42Uラックにブレード型サーバだけを4台搭載し、演算性能の向上に特化したGPGPUクラスタです。その内部には32台のサーバ、64個のプロセッサ、256個のプロセッサコア、32基のGPGPU (12 TFLOPS) が実装されています。これは計算センターのサブシステム級の構成です。
このシステムはマスターサーバを搭載した既存システムに追加して、サブシステムとして利用します。既存のジョブスケジューラの管理下に組み入れるため、利用者は新しいシステムを意識することなく自然に利用できます。
しかしこれだけの性能を持つシステムを既存機のサブシステムとして追加すると、ファイルサーバへの過負荷が生じます。それを回避するため、例えばネットワークの10GbEへのアップグレードなど、基幹システムの強化対策を施す必要があります。
さらに将来に目を転ずると、NAS型のファイルサーバの限界が見えます。この10年間で計算機の性能向上は約100倍に達しています。この勢いは今後も続くと思われます。これに対してネットワークの性能向上は約10倍でしかありません。そのためNAS型ファイルサーバの利用は早晩おおきなボトルネックなると考えられます。
HPCクラスタで使用するファイルサーバの性能限界
過去10年間、計算機は順調に性能を向上させています。10年前にリリースされたPentium4の理論性能は約4ギガフロップです。これに対して現在のXeon 2ソケット機の理論性能は160ギガフロップスに達しています。さらに近い将来この性能は倍増すると考えられます。約10年で計算ノードの理論性能は40倍から80倍にも向上しています。これに対してネットワーク性能はGbEから10GbEへと約10倍しか向上していません。しかも10GbEの普及にはまだ時間がかかりそうです。このように計算機とネットワークの間の性能ギャップは大きくなりつつあります。
計算機が高速化するとファイルサーバとの間のファイル転送量も増えます。その結果、一台のファイルサーバが対応することのできる計算ノードの台数は反比例してゆくことになります。例えば、Pentium4による80ノードのクラスタをGbE接続のファイルサーバが対応できていたとします。ところがXeon 2ソケット機を用いると8ノードしか対応できなくなります。
アップリンク側に10GbEを採用することで5倍程度の高速化は可能です。しかし、次世代サーバの登場によってその効果もすぐに打ち消されることでしょう。HPCクラスタで使用されるファイルサーバの性能限界がすぐ近くまで来ています。
並列ファイルサーバの可能性
計算機の性能向上が並列処理によって実現されたように、ファイルサーバの性能向上も並列処理によって実現できます。クラスタで利用するNAS型ファイルサーバの並列化は簡単です。クラスタに新しいNASを追加し設定を変更するだけの作業で並列化できます。利用の方法もこれまでと同じです。
NASは簡単に並列化できるにもかかわらず、並列化NASはあまり普及していません。そこにはなにか理由があるのでしょうか。そこで少し調べるとシステムの運用管理の面で次のような課題が潜んでいることがわかりました。
- 並列化NASは、各NASの使用量に偏りが生じる
- 並列化NASは、NAS間のデータ移動に時間が掛かる
- 並列化NASは、バックアップやリストアなどの保守・管理が煩雑
- 並列化NASは、場所が必要、コストも掛かる
これらを実際に運用しているシステムで行うことは大変そうです。ましてこれらが複合するともっと大変そうです。
この観点からすると現在主流のDASを用いたNASシステムによる集中型ストレージシステムは、高い性能を持ち、十分な容量を実現し、構造がシンプルなため保守が容易、信頼性が高い、コストパフォーマンスも高い、など非の打ちようがありません。しかしこの素晴らしいシステムの利用に限界が見えてきているということこそが今の課題なのです。
議論を整理します。すなわち並列化NASは問題ありません。NASに用いられている DAS (Direct Attached Storage (ダイレクト・アタッチド・ストレージ)) の部分に問題が潜んでいるようです。
DAS型ファイルサーバの課題
DASを用いたNASとはストレージとホスト機の間をダイレクトに "一対一" 接続したNASのことです。この接続方式ではストレージを複数のサーバで共有できません。そのため並列NASを構築する場合は、ホスト機と同じ台数のストレージが必要になります。
これらのストレージ同士は相互に切り離されています。そのためストレージ間でデータを転送する場合はNFSサーバを経由したオーバーヘッドの大きな転送になります。しかも一般ユーザが利用するNFSサーバに割り込んで処理を行うため、ユーザにとっては迷惑な話です。これは先に挙げた並列化NSAが普及していない要因と同じものです。
高性能な並列NASシステムを構築する場合に、この "一対一" 接続が性能低下や、保守性の悪化、コストの上昇などをもたらしていることが理解していただけると思います。
実はこの問題は大型計算センターにおいては古くから問題になっていました。そこで、この問題を解決するため、一般のユーザが利用するネットワークとは別に、ストレージ専用のネットワークを敷設してサービスの向上を図ることが考えられてきました。すなわち SAN ストレージエリアネットワークです。またその実装のひとつが20年ほど前に開発された "FiberChanel" です。そして新たな実装が10年ほど前に開発された "iSCSI" です。
SANを利用すると、ストレージとホスト機を "多対多" の関係で接続することができます。この "多対多" の接続によって実現できる主なことは次のふたつです。ひとつ目は、一台のストレージ上に複数のディスクボリュームを作成し、それらを複数のサーバにストレージとして提供できることです。ふたつ目は、複数のストレージ間のディスクボリュームをSANを経由して転送できることです。しかもこれらの転送は専用のストレージエリアネットワークを経由して行うため、これまでのDASを用いたNASのように一般のユーザが利用するEthernetに出てゆきませんから迷惑を欠けることもありません。
計算センターで育まれたストレージエリアネットワークは非常に便利な技術であるため、FiberChanelという実装によって業務システムにおいて広く使われるようになりました。しかしストレージエリアネットワークが普及したといっても、業務用のシステムのため低価格化には限度がありました。そのため大量のストレージを必要とするHPC分野では高嶺の花でした。ストレージエリアネットワークを利用できる場所は大型センターなどに限られていました。
しかし、マルチコアプロセッサを用いたHPCクラスタの普及によって、どの研究室でも一昔前の大型計算機センター水準のHPCクラスタを独自に設置できるようになっています。それらのシステムではこれまではDADを用いたNASによる単独のファイルサーバでも十分に機能していると考えられます。しかし、さらに計算機性能が向上する今後は、ファイルサーバのボトルネックが発生すると考えられます。
しかし、ストレージエリアネットワークを導入することでファイルサーバのボトルネックを解消できるとして、コストの障壁があり導入することは容易ではありません。
iSCSIの低価格化
ここに "iSCSI" (Internet SCSI (アイスカジー)) と呼ばれる新世代のストレージエリアネットワークがあります。iSCSIの特徴を一口で述べると、FiberChanelと同等の機能と性能を備えながら、それよりも安い価格を達成した新世代のストレージエリアネットワークということになります。
業務用に開発されたハイエンドのiSCSI筺体の価格は、RAIDコントローラと4基のGbEポートを備えたコントローラ装置付きで約100万円程度です。これが基幹部分の費用であり、あとはディスクの増設費用だけです。サーバに搭載するiSCSI対応オフロードエンジンを搭載したDual-Port GbE NICもポート単価が1万円程度と廉価です。システムのカギとなるGbEスイッチは非常に廉価です。
このようにiSCSIストレージシステムはDASを用いたNASよりも少し割高です。しかし、後の拡張性まで考えれば同水準と考えることができます。さらに、保守運用の容易さ、信頼性の高さ、万一の障害時の耐障害性の高さなどを総合的に判断すると、すでにコストパフォーマンスでもDASを用いたNASを超えています。
以上簡単に説明してきましたが、iSCSIを利用した分散NAS型サーバは、ストレージの集約の長所と、分散NASの長所を併せ持った理想的なストレージを、従来のNAS型サーバの価格帯で実現できる優れたソリューションです。 |
ブレード型GPGPUクラスタの製作と納入
ブレード型サーバを採用したGPGPUクラスタの性能面の特徴
ブレード型サーバを採用したGPGPUクラスタの性能面の特徴は次のようになります。これらの特徴からブレード型サーバを利用したクラスタは各システムリソースへの依存度が高いアプリケーションに最適のシステムであることがわかります。
- GPGPUと10GbE、QDR InfiniBandを同時に利用できる
- GPGPUとサーバは "一対一" で接続されPCIeの8GB/s帯域幅を占有できる
- サーバのプロセッサ、メモリ、GbE/10GbE、InfiniBandをGPGPUが占有できる
優れたマスターサーバと補助機器類を標準で搭載
弊社のGPGPUクラスタは優れたマスターサーバと補助機器類を標準で搭載しています。それらは次のような機能を持ちます。このような機能によってシステムは大型計算センター水準の利用環境を実現します。
- ログイン環境、ネットワーク管理、開発環境、ストレージ環境、ジョブ管理環境を備える
- システムがシングルシステムイメージ化し優れた共同利用環境を実現
- メーカー純正の高品質なRAIDストレージを搭載し高い信頼性と可用性を実現
- スイッチ類、無停電電源装置、KVM装置、EIAラックなどの補助機器類もメーカー純正品を採用
完成度の高いGPGPUクラスタの製作
弊社はHPCクラスタの構築経験が豊富にあり、それを活かして完成度の高いGPGPUクラスタを製作しています。その工程は次のようなものです。この工程を経ることによって、納入した当日から本格的に利用を始めることができます。さらに初期不良も殆ど発生しないため安心して使い続けることができます。
- 弊社工場内でGPGPUクラスタを組み立て完成させる
- OSやソフトウェアのインストールを行う
- お客様から指示された設定内容に従いシステムを設定する
- コンパイルやジョブ実行などの基本テストを行う
- 実際のアプリケーションを用いた長時間負荷テストを行う
- ハードウェアの不具合を洗い出し部品交換を行い完成度を高める
- システム設定上の不具合を洗い出しシステムの完成度を高める
- 完成したシステムを専用台車に搭載しお客様のサイトに届ける
簡単なシステムの利用
システムの利用は簡単です。シングルシステムイメージ化されているため僅かなコマンドの操作だけでシステムを利用できます。さらにシステム導入作業時に利用方法の説明を行います。リモート利用の方法、ユーザ登録の方法、開発環境の使い方、ジョブ投入の方法、ファイルサーバの取り扱い方などを系統的に説明します。実機を操作しながらの説明ですから、Linuxシステムを日常的に利用されているお客様であれば容易に理解できる内容です。また経験が少ないお客様についてはシステム使用方法に関する講習サービスを時間を定め有償で行う用意があります。詳しくはお問い合わせください。
良質のサポートの提供
快適にシステムを利用するためには良質のサポートの提供が欠かせません。製品には3年間の技術運用サポートが付属しています。またハードウェアには3年間の当日4時間オンサイト修理サービスが付属しています。システムに技術的な問題あるいはハードウェアの障害が発生した場合は、弊社サポート窓口へ連絡してください。全ての問題に対してお応えします。対応は次のような流れで行います。
- システムで発生した問題や障害についてお客様から詳しく伺う
- 問題点を調査し対策を検討する
- 技術的な問題であれば弊社技術部が対応する
- ハードウェア障害であれば、オンサイト修理要員を派遣し、修理部品を配送する
- オンサイト修理は早ければ当日中、遅くとも翌日には開始する
- 障害箇所のオンサイト切り分け、部品先出し、部品の予防交換により迅速に復旧させる
- 問題あるいは障害への対応を管理・監督する
- システムを復旧させ、運用の再開を確認する
- 作業報告を行う
まとめ
以上のようにHPC専門のシステムインテグレーターである弊社は、汎用的なHPCクラスタの構築経験を活かし、優れたGPGPUクラスタの提供に努めています。