Skip to main content
QUICK REVIEW

[論文レビュー] Scientific Computing Meets Big Data Technology: An Astronomy Use Case

Zhao Zhang, K. Barbary|arXiv (Cornell University)|Jul 13, 2015
Advanced Data Storage Technologies参考文献 21被引用数 6
ひとこと要約

本論文では、大規模データプラットフォームを活用して、多数のタスクを含む科学的ワークロードを高速化するSparkベースの天文学画像処理ツールキットKiraを提案する。データローカリティとSparkのフェイルセーフ特性を活用することで、Kira SEはEC2上のC言語実装よりも1TBのスローンデジタルスカイサーベイ(Sloan Digital Sky Survey)データセットを2.5倍速く処理し、HPCスーパーコンピュータと同等の性能を達成した。

ABSTRACT

Scientific analyses commonly compose multiple single-process programs into a dataflow. An end-to-end dataflow of single-process programs is known as a many-task application. Typically, tools from the HPC software stack are used to parallelize these analyses. In this work, we investigate an alternate approach that uses Apache Spark -- a modern big data platform -- to parallelize many-task applications. We present Kira, a flexible and distributed astronomy image processing toolkit using Apache Spark. We then use the Kira toolkit to implement a Source Extractor application for astronomy images, called Kira SE. With Kira SE as the use case, we study the programming flexibility, dataflow richness, scheduling capacity and performance of Apache Spark running on the EC2 cloud. By exploiting data locality, Kira SE achieves a 2.5x speedup over an equivalent C program when analyzing a 1TB dataset using 512 cores on the Amazon EC2 cloud. Furthermore, we show that by leveraging software originally designed for big data infrastructure, Kira SE achieves competitive performance to the C implementation running on the NERSC Edison supercomputer. Our experience with Kira indicates that emerging Big Data platforms such as Apache Spark are a performant alternative for many-task scientific applications.

研究の動機と目的

  • 天文学分野における多数のタスクを含む科学的アプリケーションに、スケーラブルで柔軟かつフェイルセーフなプラットフォームとしてApache Sparkを評価すること。
  • 従来のHPCツールを用いた大規模天文学的データセット処理における性能ボトルネックを解消すること。
  • 大規模データ処理を伴う科学的ワークロードにおいて、ビッグデータプラットフォームがHPCの性能を模倣または上回ることを実証すること。
  • 現代のデータフロー実行環境において、既存の天文学ライブラリを再利用可能にする仕組みを提供すること。
  • Sparkのスケジューリング能力、データフローの表現力、およびGlusterFSやHDFSのような異種ストレージシステムへの対応を評価すること。

提案手法

  • Apache Sparkのレジlients Distributed Datasets(RDD)とDAGベースのタスクスケジューリングを活用して、分散型天文学画像処理ツールキットKiraを構築した。
  • Sparkの豊富なデータフローパターン(パイプライン、シャッフル、ブロードキャストなど)を活用して、天文学的画像のソース抽出器であるKira SEを実装した。
  • Amazon EC2上で64ノードのm2.4xlargeインスタンスクラスタを用い、1TBのSDSS DR7データセットを176,938のタスクで処理した。
  • HPCツールを用いたC言語実装と性能を比較した。両者ともGlusterFS(共有ファイルシステム)およびNERSC Edisonスーパーコンピュータ上で実行した。
  • コンmodityクラウドインfraストラクチャ上でI/Oオーバーヘッドを最小限に抑えるために、Sparkのデータローカリティ最適化を活用した。
  • 既存の天文学ライブラリ(画像畳み込みやソース検出用など)をSparkパイプラインに統合することで、コード再利用性と相互運用性を確保した。

実験結果

リサーチクエスチョン

  • RQ1Apache Sparkは、数百万のタスクを含む大規模かつデータ集約的な科学的ワークロードを、天文学分野で効果的にスケーリングできるか?
  • RQ2共有ファイルシステム上で動作する従来のHPCワークフローと比較して、Sparkのデータローカリティおよびスケジューリング最適化が性能に与える影響はいかほどか?
  • RQ3Sparkのようなビッグデータプラットフォームは、科学的画像処理においてHPCシステムと同等の性能を達成できるか、あるいはそれを上回れるか?
  • RQ4Sparkは、大幅な再設計を伴わずに、既存の天文学ソフトウェアライブラリをネイティブに統合できるか?
  • RQ5科学的データフローの文脈において、クラウドインfraストラクチャ上でのSpark使用とHPCクラスタ使用の間で、性能のトレードオフはどのようなものか?

主な発見

  • EC2クラウド上での512コア環境で1TBのデータセットを処理する際、Kira SEは同等のCプログラムよりも2.5倍速く動作した。主な要因は優れたデータローカリティに起因する。
  • Sparkは176,938タスク(SDSS DR7用)を含む10万以上のタスクを、クラスタサイズおよびデータサイズの増加に伴い線形的にスケーリングできた。
  • EC2上でのKira SEの性能は、NERSC Edisonスーパーコンピュータ上で実行されたC実装と同等であり、ワークロードによっては最大75.1%速く、最悪で18.5%遅かった。
  • 既存の天文学ライブラリをSparkに統合するプロセスはスムーズで、変更なしに検証済みのコードを再利用可能であった。
  • Sparkのフェイルセーフ性とラインレージトラッキングにより、一時的な障害に対しても耐性があり、MPIベースのHPCワークフローには欠如している機能であった。
  • 主記憶領域計算と最適化されたデータシャッフルを活用することで、特にGlusterFSのような共有ファイルシステム上でもI/Oおよび通信オーバーヘッドが削減された。

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

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

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

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