新興アーキテクチャが、地理空間アプリケーションの性能を向上
Chenggang Lai, Miaoqing Huang, Xuan Shi, and Haihang You
交通計画、水文学、ネットワークと流域分析、環境モデリング、監視、緊急時の対応、および軍事作戦を含む – 地理空間データは、様々な用途で非常に重要である。地理空間データの利用可能性が拡大しているように、そのボリュームは加速的に増加し、必要な処理能力を提供することができない従来のデスクトップベースの地理情報システム(GIS)やリモートセンシングソフトウェアを表す様々な課題と複雑さをもたらす。
IntelのMany Integrated Core(MIC)アーキテクチャとグラフィックスプロセッシングユニット(GPU)は、高解像度空間データ上でのデータ集約型コンピューティングのための高性能なスケーラビリティを達成するために並列処理を利用する。我々の研究は、最新のIntel MICプロセッサとNVIDIAのGPUを搭載したハイブリッドコンピュータクラスタは、Kriging補間、ISODATA、例としてセルオートマトンを伴う典型的な地理空間アプリケーションの範囲のための大幅な性能向上を達成できることを実証した。我々の研究の詳細は、に2013年ハイパフォーマンスコンピューティング&コミュニケーションIEEE国際会議と2013年組込みとユビキタスコンピューティングIEEE国際会議の議事録に「複合アーキテクチャ上での地理空間アプリケーションの高速化」と言う論文タイトルで含まれている。論文の共著者は、アーカンソー大学のChenggang Lai、Miaoqing HuangとXuan Shi、そして計算科学研究所のHaihang Youだった。
コプロセッサアーキテクチャ
GPUアーキテクチャは、長年にわたって進化してきた。NVIDIAは、G80からGT200、Fermi、そして今日のKeplerと多くの世代を経てきた一例である。Kepler GPUアーキテクチャは、192基の単精度コアと64基の倍精度のコアで構成され、それぞれに15基のストリーミングマルチプロセッサ(SMXes)が含まれている。Keplerアーキテクチャは、複数のホストスレッドまたはプロセスの間で効率的にGPUリソースを共有(すなわち、Hyper-Q)し、柔軟にGPUに新しいカーネルを作成(すなわち、ダイナミック並列処理)し、そしてGPUDirectを通じてGPU間で通信オーバーヘッドを削減する、3つの高度な機能を提供する。GPUは、通常、高性能コンピュータクラスタにおけるアクセラレータとして使用される。典型的なMPIベースの並列アプリケーションでは、MPIプロセスは、順番に1つ以上のクライアントGPUに計算を割り当るホストCPU上で実行される。
NVIDIAのKepler GPUアーキテクチャ。画像元:Laiら、「複合アーキテクチャでの地理空間アプリケーションの高速化」、2013年ハイパフォーマンスコンピューティング&コミュニケーションIEEE国際会議および2013年組込みとユビキタスコンピューティングIEEE国際会議の論文集1545–1552, 2013から。
MICアーキテクチャに基づいた最初の商用入手可能なIntelコプロセッサはXeon Phiである。これは、ベクトル処理ユニットを備えた、最大61基のスカラプロセッサが含まれている。異なるノード間でのMICコプロセッサ間の直接通信も、MPIを介してサポートされている。以下の画像は、MICプロセッサを搭載したコンピュータクラスタ上のアプリケーションを並列化するための2つのアプローチを示している。最初のアプローチは、ホストCPUにクライアントとしてMICプロセッサをみなすことである。MPIプロセスは、CPUによって扱われ、MICプロセッサに計算をオフロードする。OpenMPのようなマルチスレッドプログラミングモデルは、データ処理のための多くのコアを割り当てることができる。第二のアプローチは、それぞれのMICコアが直接ひとつのMPIプロセスを扱うようにできるようにすることである。この方法では、Xeon Phi 5110P上で8GBのオンボードメモリを共有しながら、同じダイ上の60コアは60の独立したプロセッサとして扱われる。
オフロードアプローチによるMICクラスタ上での並列処理の実装。画像元:Laiら、「複合アーキテクチャでの地理空間アプリケーションの高速化」、2013年ハイパフォーマンスコンピューティング&コミュニケーションIEEE国際会議と2013年組込みとユビキタスコンピューティングIEEE国際会議の論文集1545–1552, 2013から。
直接ホストアプローチによるMICクラスタで並列処理の実装。画像元:Laiら、「複合アーキテクチャでの地理空間アプリケーションの高速化」、2013年ハイパフォーマンスコンピューティング&コミュニケーションIEEE国際会議および2013年組込みとユビキタスコンピューティングIEEE国際会議の論文集1545–1552, 2013から。
ベンチマーク
3つの異なるタイプのユースケースは、この研究のためのベンチマークとして機能を果たす:Kriging補間(完全並列処理)、反復自己組織化データ解析手法アルゴリズム(ISODATA)(計算に緩い通信)、およびセルオートマトン(強烈な通信)。
Krigingは、観測されない位置のランダムフィールドの値を推論する地理統計的推定器であり、入力点データを読み出し、セル毎の計算された推定値を含むラスタグリッドを返す点補間と見なすことができる。
ISODATAは、リモートセンシングアプリケーションにおける未管理画像分類アルゴリズムのために最も頻繁に使用されるアルゴリズムのひとつである。一般的には、3つのステップで実施することができる:(1)各クラスの初期平均値を算出、(2)最も近いクラスへ各画素を分類、(3)1つのクラス内のすべての画素に基づいた手段で新しいクラスを計算。2番目と3番目の行程は、2つの反復間の変化が十分に小さくなるまで繰り返される。複数プロセッサが使用される場合、全プロセッサからの合計だけが、各反復で必要とされる。
セルオートマトンは、一般的に地理空間モデリングとシミュレーションで様々な使われ方をしている。イギリスの数学者、John Conwayが考案した人生ゲーム(GOL)は、生、死、もしくは幾つかの数学的な規則に基づいて増殖することができる細胞の集合で構成された既知の一般的なセルオートマトンである。GOLの世界は、正方形セルの2次元直交格子であり、各々が2つの可能な状態、生きている(‘1’)、または死んだ(‘0’)の1つである。すべてのセルは、水平、垂直、または斜めに隣接している細胞であるその8つの隣人と相互作用する。
実験セットアップ
我々は、2つのプラットフォーム上、国立科学財団後援のKeenelandスーパーコンピュータとBeaconスーパーコンピュータ、で実験を行った。Keeneland初期配信システム(KIDS)は、201Teraflopの性能で、QDR InfiniBandネットワークでノード間接続されたHP SL390システム120ノードに240基のIntel Xeon X5660 CPUと360基のNvidia Fermi GPUを持つ。各ノードは、2基の6コア2.8GHzのXeon CPUと3基のTesla M2090 GPUを持つ。NVIDIA M2090 GPUは、512CUDAコアと6GB GDDR5オンボードメモリが含まれている。Beaconシステム(Cray CS300-ACクラスタスーパーコンピュータ)は、48台の計算ノードと6台のI/Oノードが双方向バンド幅56Gb/秒を提供するFDR InfiniBandインターコネクトで結合され、アクセスを提供している。各計算ノードは2基のIntel Xeon E5-2670 8コア2.6 GHzプロセッサ、4基のIntel Xeon Phi(MIC)コプロセッサ5110P、256GBのRAM、および960GBのSSDストレージが装備されている。各I/Oノードは、追加の4.8TB SSDストレージのへのアクセスを提供する。各ベンチマークのために、我々は2つのクラスタ上で3種類の並列実装を行っていた。すなわち、MPI + CPU、MPI + MIC、MPI + GPUである。
結果
4つの異なる構成でのベンチマーク性能:(A) Kriging、(B)ISODATA、(C)GOL。画像元:Laiら、「複合アーキテクチャでの地理空間アプリケーションの高速化」、2013年ハイパフォーマンスコンピューティング&コミュニケーションIEEE国際会議と2013年組込みとユビキタスコンピューティングIEEE国際会議の論文集1545–1552, 2013から。
我々は、並列化実装の強力なスケーラビリティを示したいと思う。そのため、使用するMPIプロセス数が増加させつつも、問題サイズは、各ベンチマークに対して固定されている。
Kriging補間のベンチマークでは、ソースデータセットは行優先に沿って、すべてのMPIプロセス間で均等に分割されている。各MPIプロセスの演算は、純粋にローカルである、すなわち、相互プロセス間通信がない。このベンチマークの問題サイズは4つのデータセットからなる171MBである。各データセットの出力ラスタグリッドは、1,440×720の安定したサイズを有する。K20を持つGPUクラスタの性能は、M2090対単一K20の高速化に基づいて反映され、我々はK20 GPUクラスタのその他の仕様は、Keeneland KIDSと同じであることを前提としている。この図から、すべてのハイブリッド実装が、MICよりも優れ、さらにGPUを持つCPU上での並列実装を簡単に凌駕することができることが分かる。
ISODATAの入力は、3つのバンドによる80,000×80,000サイズの18GBの高解像度画像である。このベンチマークの目的は、15クラスに画像を分類することである。このベンチマークによって、MICプロセッサとGPUの間の格差が非常に小さくなることがわかる。理由のひとつは、BeaconのFDR InfiniBandネットワークがKeeneland KIDSのQDR InfiniBandネットワークよりもはるかに高いバンド幅を提供できることである。使用するプロセッサ数が100から120まで増加すると、Beacon上のより効率的な通信ネットワークの利点がさらに実証される。
人生ゲームベンチマークでは、グリッドサイズは32,768×32,768である。グリッド内の各セルの状態は、100回の繰り返しにより更新される。性能結果を観察することにより、強力なスケーラビリティがCPUとGPUの両方におけるMPI実装について実証されていることが分かる。MPI + MIC実装によって、性能がMPIプロセス間通信のオーバーヘッドのために非常にうまくスケールしないことが判明した。したがって、最高性能を達成するために計算と通信のバランスを保つことが重要である。
結論
私たちの研究では、ハイブリッドコンピュータクラスタ上での並列実装を使用した地理空間アプリケーションの高速化についての可能性を示している。代表的な地理空間アプリケーションのMPI + GPUとMPI + MICの並列実装は、従来のMPI + CPUと比べて大幅なパフォーマンス向上を達成する。また、Intel MICクラスタ上での単純なMPI-直接ホストプログラミングモデルが同数のプロセッサが割り当てられたGPUクラスタでのMPI + GPUモデルと同等の性能を達成できることが分かった。効率的なノード間通信ネットワークは、依然、複数ノード上で実行される並列アプリケーションにおける強力なスケーラビリティを達成するための鍵となっている。一般的に、地理空間計算は(1)ベクトル幾何学的データ、(2)ネットワークとグラフデータ、(3)ラスターグリッドデータ、そして(4)画像データを処理する機能モジュールから構成されている。将来的に、異種コンピュータアーキテクチャや異なるデータ構造と地理空間の計算問題を処理するためのシステムを活用することに関する様々な研究課題が残っている。
この研究に関する論文は次のURLからアクセスすることができる http://www.csce.uark.edu/〜mqhuang/papers/2013_gis_hpcc.pdf。
研究チームの経歴
Miaoqing Huangは、アーカンソー大学でコンピュータ科学とコンピュータ工学専攻の助教授である。彼の研究の関心は、OSとメニーコアコンピュータシステムのための基盤設計、ハードウェアアクセラレーション技術(例えば、FPGAやGPUなど)、および不揮発性メモリベースのソリッドステートドライブ(SSD)のオンボードキャッシュ設計が含まれている。彼は、2009年にジョージワシントン大学でコンピューターエンジニアリングの博士号を取得している。彼には、mqhuang@uark.eduからコンタクトすることができる。
Xuan Shiは、アーカンソー大学の地球科学部門の助教授である。彼の研究の関心は、地質情報学、地理空間サイバー基盤、そして高性能地質コンピューティングがその他の中に含まれている。彼は、2007年にウェストバージニア大学で地理学の博士号を取得している。彼には、xuanshi@uark.eduからコンタクトすることができる。
Haihang Youは、テネシー大学の計算科学研究所の計算科学者である。NICSに加わる前は、テネシー大学の電気工学およびコンピュータサイエンス学科の革新的コンピューティング研究室の研究員だった。彼の研究の関心は、高性能コンピューティング、パフォーマンス分析・評価、コンパイラ&自動チューニングおよび最適化システム、線形代数、反復適応不連続ガラーキン有限要素法、Lustre上での並列I/Oチューニングとスーパーコンピュータにおけるシステム使用率の分析と改善である。彼には、hyou@utk.eduからコンタクトすることができる。