Skip to main content
QUICK REVIEW

[論文レビュー] Pushing the Limit: A Hybrid Parallel Implementation of the Multi-resolution Approximation for Massive Data

Huang Huang, Lewis R. Blake|arXiv (Cornell University)|Apr 30, 2019
Soil Geostatistics and Mapping参考文献 6被引用数 5
ひとこと要約

本稿では、MPI と OpenMP を活用してスケーラブルな尤度推定を実現する、マルチスケール近似(MRA)のハイブリッド並列 C++ 実装を提示する。4700万件の観測データに対して 128 ノードで 10 秒未塔の尤度評価を達成し、実世界の環境データに応用可能な実用性を示している。

ABSTRACT

The multi-resolution approximation (MRA) of Gaussian processes was recently proposed to conduct likelihood-based inference for massive spatial data sets. An advantage of the methodology is that it can be parallelized. We implemented the MRA in C++ for both serial and parallel versions. In the parallel implementation, we use a hybrid parallelism that employs both distributed and shared memory computing for communications between and within nodes by using the Message Passing Interface (MPI) and OpenMP, respectively. The performance of the serial code is compared between the C++ and MATLAB implementations over a small data set on a personal laptop. The C++ parallel program is further carefully studied under different configurations by applications to data sets from around a tenth of a million to 47 million observations. We show the practicality of this implementation by demonstrating that we can get quick inference for massive real-world data sets. The serial and parallel C++ code can be found at https://github.com/hhuang90.

研究の動機と目的

  • 従来のガウス過程を用いた尤度に基づく推定が、大規模空間データセットに対して計算的に非現実的であるという問題に取り組む。
  • 最大 4700 万件の観測データを処理できる、高性能でスケーラブルなマルチスケール近似(MRA)の実装を開発する。
  • HPC 環境(例:Cheyenne)に最適化された、MPI と OpenMP を組み合わせたハイブリッド並列化により、直列および並列性能を最適化する。
  • MRA の実世界の環境データ(例:衛星観測)への実用的応用を示し、低遅延推定を実現する。

提案手法

  • 空間領域を階層的なマルチスケール分割により、複数レベルのネストされた領域に分割する。
  • 各スケールレベルで逐次的に予測プロセス近似を適用し、ノード(knots)を基底関数としてプロセスを表現する。
  • ハイブリッド並列化を採用:MPI を用いてノード間の分散メモリ通信を実行し、OpenMP を用いてノード内での共有メモリ並列処理を実現する。
  • 尤度評価における負荷不均衡を軽減するため、MPI で動的スケジューリングを採用する。
  • 上位レベルの計算が完了した後、中間行列(例:Â)を解放することでメモリ使用量を最適化する。
  • ノード配置に無理数のオフセットを適用し、複数スケール間での数値的コロケーションを回避することで、数値的安定性を確保する。

実験結果

リサーチクエスチョン

  • RQ1MRA は、数千万件の空間的観測データにスケーリング可能な効率的な並列化が可能か?
  • RQ2ハイブリッド MPI+OpenMP 実装は、直列 C++ および Matlab に比べて、性能およびメモリ効率で優れているか?
  • RQ3大規模データセットの尤度評価時間を最小化するための MPI プロセスと OpenMP スレッドの最適な構成は何か?
  • RQ44700 万件の観測データに対して、現代の HPC クラスタ上での MRA が 10 秒未塔の尤度評価を達成できるか?
  • RQ5メモリ消費量はスケールレベルおよびノード数に従ってどのように変化するか?理論的上限は何か?

主な発見

  • ハイブリッド並列 C++ 実装により、128 ノード(利用可能メモリ 109 GB)を用いて 4700 万件の観測データに対して尤度評価を 10 秒未塔で実行した。
  • 大規模な MODIS データセットでは、最良の構成(128 MPI プロセス)により、尤度評価時間を 10.02 秒(±0.15 秒)に短縮し、メモリ使用率 100% を達成した。
  • 小規模な MODIS データセット(約 10 万件)について、個人用ラップトップ上で直列 C++ は Matlab より約 2.5 倍高速であった。
  • メモリ使用量は理論的上限 $ J^{M-1} imes M(M-1)/2 imes r^2 imes 8 $ バイトに収束し、中間行列の解放によりピークメモリ負荷が低減された。
  • MPI の動的スケジューリングにより、不規則なワークロードでも負荷バランスが改善され、実行時間の分散が低減した。
  • 同じ 128 ノード構成を用いて、4700 万件の観測データに対する予測を 85 秒で完了し、フル推定パイプラインにおけるスケーラビリティを確認した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。