[論文レビュー] Large-Scale Geospatial Processing on Multi-Core and Many-Core Processors: Evaluations on CPUs, GPUs and MICs.
この論文は、実際のデータを用いて、マルチコアCPU、GPU、Intel MICアクセラレータ上で大規模な地理空間処理—特に点対ポリライン最短距離(P2P)および点ポリゴン内判定(PIP)テスト—を評価する。VPUs(ベクトル処理ユニット)をCPUおよびMICで活用することで、GPUをはるかに上回る数倍の高速化が達成され、低レベルのインセンティブプログラミングを避けるためにドメイン特化言語(DSL)アプローチを導入することで、ポータビリティとスケーラビリティを向上させた。
Geospatial Processing, such as queries based on point-to-polyline shortest distance and point-in-polygon test, are fundamental to many scientific and engineering applications, including post-processing large-scale environmental and climate model outputs and analyzing traffic and travel patterns from massive GPS collections in transportation engineering and urban studies. Commodity parallel hardware, such as multi-core CPUs, many-core GPUs and Intel MIC accelerators, provide enormous computing power which can potentially achieve significant speedups on existing geospatial processing and open the opportunities for new applications. However, the realizable potential for geospatial processing on these new hardware devices is largely unknown due to the complexity in porting serial algorithms to diverse parallel hardware platforms. In this study, we aim at experimenting our data-parallel designs and implementations of point-to-polyline shortest distance computation (P2P) and point-in-polygon topological test (PIP) on different commodity hardware using real large-scale geospatial data, comparing their performance and discussing important factors that may significantly affect the performance. Our experiments have shown that, while GPUs can be several times faster than multi-core CPUs without utilizing the increasingly available SIMD computing power on Vector Processing Units (VPUs) that come with multi-core CPUs and MICs, multi-core CPUs and MICs can be several times faster than GPUs when VPUs are utilized. By adopting a Domain Specific Language (DSL) approach to exploiting the VPU computing power in geospatial processing, we are free from programming SIMD intrinsic functions directly which makes the new approach more effective, portable and scalable. Our designs, implementations and experiments can serve as case studies for parallel geospatial computing on modern commodity parallel hardware.
研究の動機と目的
- 商用並列ハードウェアプラットフォーム上で大規模地理空間処理ワークロード(P2PおよびPIP)の性能を評価すること。
- シングルスレッドの地理空間アルゴリズムを多様な並列アーキテクチャに移植する際の、スループット向上に影響を与える性能ボトルネックおよび主要要因を特定すること。
- マルチコアCPUおよびIntel MICにおけるベクトル処理ユニット(VPU)が、地理空間計算の高速化に果たす可能性を調査すること。
- 低レベルのインセンティブ関数を直接使用せずに、SIMD機能を効率的に活用できるポータブルでスケーラブルなプログラミングアプローチを開発すること。
- 現代の商用ハードウェアにおける並列地理空間コンピューティングの実用的ケーススタディを提供すること。
提案手法
- データレベル並列性を活用するため、点対ポリライン最短距離(P2P)および点ポリゴン内判定(PIP)のトポロジカルテスト用のデータ並列アルゴリズムを設計すること。
- ポータビリティを確保するために、統一されたプログラミングインターフェースを用いて、マルチコアCPU、GPU、Intel MICアクセラレータ上にアルゴリズムを実装すること。
- ドメイン特化言語(DSL)を用いて、ベクトル処理ユニット(VPU)向けに最適化されたコードを抽象化・自動生成し、手動によるSIMDインセンティブコードの記述を回避すること。
- 実際の大規模地理空間データセットを用いて、同一のワークロード下で異なるハードウェアプラットフォームにおける性能を評価すること。
- VPUの利用有無を比較した上で、CPU、GPU、MIC間での実行時間およびスループット向上率を比較すること。
- メモリアクセスパターン、データレイアウト、命令レベル並列性が全体の性能に与える影響を分析すること。
実験結果
リサーチクエスチョン
- RQ1実際の大規模データを用いた場合、マルチコアCPU、GPU、Intel MICアクセラレータにおけるP2PおよびPIP地理空間演算の性能特性はどのように異なるか?
- RQ2CPUおよびMICに内蔵されたベクトル処理ユニット(VPU)を活用することで、地理空間ワークロードにおける従来のGPU加速を上回る性能向上はどの程度達成できるか?
- RQ3データレイアウト、メモリアクセス、並列化の粒度といった、異なるアーキテクチャ上で性能に顕著な影響を与える主な実装要因は何か?
- RQ4低レベルのインセンティブ関数を直接使用せずに、地理空間アルゴリズムのSIMDコード生成を効果的に行うためにドメイン特化言語(DSL)アプローチがどの程度有効であるか?
- RQ5VPU最適化を施したCPUおよびMIC実装は、大規模地理空間処理においてGPUベースの実装を上回ることができるか?
主な発見
- VPU機能が活用されない場合、GPUはP2PおよびPIP計算においてマルチコアCPUを著しく上回るスループット向上を達成する。
- ベクトル処理ユニット(VPU)を活用した場合、マルチコアCPUおよびIntel MICは、同じ地理空間ワークロードにおいてGPUを数倍の速度で上回る性能を発揮する。
- DSLベースのアプローチにより、低レベルのインセンティブコードを書かずにVPUにおけるSIMD命令の有効活用が可能となり、開発生産性とコードの保守性が向上する。
- VPUの活用による性能向上は顕著であり、現代のCPUおよびMICアーキテクチャで最適な性能を達成する上で極めて重要な要因である。
- メモリアクセスパターンおよびデータレイアウトは、特にGPUおよびMICプラットフォームにおいて性能に顕著な影響を与え、慎重な最適化が不可欠である。
- 本研究では、VPUに配慮した最適化を適切に施した現代の商用並列ハードウェアが、従来のGPU加速を上回る性能を大規模地理空間処理において発揮できることを示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。