Skip to main content
QUICK REVIEW

[論文レビュー] ArrayBridge: Interweaving declarative array processing with high-performance computing

Haoyuan Xing, Sofoklis Floratos|arXiv (Cornell University)|Feb 27, 2017
Algorithms and Data Compression参考文献 31被引用数 3
ひとこと要約

ArrayBridge は、遅いデータ読み込みを回避する双方向仮想ビューを提供することで、外部の HDF5 ファイル上で直接かつ高パフォーマンスな宣言的配列処理を可能にする。並列 I/O をサポートし、透明なチャンク重複除去により時空クエリを実現する。ArrayBridge は、ネイティブな SciDB ストレージと区別できない I/O 拡張性とパフォーマンスを達成すると同時に、HDF5 API との後方互換性を維持する。

ABSTRACT

Scientists are increasingly turning to datacenter-scale computers to produce and analyze massive arrays. Despite decades of database research that extols the virtues of declarative query processing, scientists still write, debug and parallelize imperative HPC kernels even for the most mundane queries. This impedance mismatch has been partly attributed to the cumbersome data loading process; in response, the database community has proposed in situ mechanisms to access data in scientific file formats. Scientists, however, desire more than a passive access method that reads arrays from files. This paper describes ArrayBridge, a bi-directional array view mechanism for scientific file formats, that aims to make declarative array manipulations interoperable with imperative file-centric analyses. Our prototype implementation of ArrayBridge uses HDF5 as the underlying array storage library and seamlessly integrates into the SciDB open-source array database system. In addition to fast querying over external array objects, ArrayBridge produces arrays in the HDF5 file format just as easily as it can read from it. ArrayBridge also supports time travel queries from imperative kernels through the unmodified HDF5 API, and automatically deduplicates between array versions for space efficiency. Our extensive performance evaluation in NERSC, a large-scale scientific computing facility, shows that ArrayBridge exhibits statistically indistinguishable performance and I/O scalability to the native SciDB storage engine.

研究の動機と目的

  • 科学者が大規模な HDF5 データセットを扱う際、SciDB などの宣言的配列データベースを使用する際に、遅くかつメモリを食うデータ読み込みのボトル neck に直面している。
  • 現在のイン・サイチュアクセス機構は受動的であり、命令的 HPC カーネルから効率的な物性化やバージョン管理配列アクセスをサポートしていない。
  • 特に時空クエリやバージョン管理配列クエリを想定した、宣言的配列処理とファイル中心の HPC ワークロードとの間で双方向相互運用性を提供するシステムの必要性がある。
  • 本研究の目的は、HDF5 ファイルへの直接クエリ実行と効率的な書き込みを可能にするシステムを設計・実装することであり、HDF5 API との後方互換性を保ちつつ、ストレージオーバーヘッドを最小限に抑えることである。
  • その目標は、マルチ TiB データセットに対しても、ネイティブデータベースストレージと同等のパフォーマンスと I/O 拡張性を達成することである。

提案手法

  • ArrayBridge は、複数の HDF5 ファイルにまたがる単一の論理的配列を提示する仮想ビュー抽象化を導入し、アプリケーションの変更なしにパーティショナライズされたデータセットへの透明なアクセスを可能にする。
  • 単一のライター制約を回避するため、並列書き込みメカニズムを採用し、独立したストリームに書き込みを分割することで、高い I/O 拡張性を実現する。
  • SciDB のクエリ実行エンジンと統合し、AQL/AFL クエリを外部の HDF5 オブジェクト上で直接評価することで、データ読み込みや次元変換の必要性を排除する。
  • バージョン管理配列のため、ArrayBridge は複数のバージョン間で同一のデータチャンクを自動的に重複除去し、HDF5 ファイル構造を変更せずにストレージ容量を削減する。
  • 時空クエリは、変更のない HDF5 API を通じてサポートされ、従来の命令的アプリケーションがコード変更なしに過去のバージョンに透明にアクセスできる。
  • プロトタイプは HDF5 に基づき、オープンソースの SciDB 配列データベースシステムとネイティブに統合されており、科学的 HPC パイプラインとのシームレスな相互運用性を実現する。

実験結果

リサーチクエスチョン

  • RQ1ネイティブデータベース形式にデータを読み込まずに、外部の HDF5 ファイル上で宣言的配列処理を効率的に行うことは可能か?
  • RQ2HDF5 の単一ライター制約をどのように克服すれば、大規模な配列ワークロードにおける高パフォーマンスな並列書き込みを実現できるか?
  • RQ3最小限のストレージオーバーヘッドで、HDF5 にバージョン管理配列オブジェクトを効率的に格納し、標準の HDF5 API を通じたアクセスを維持できるか?
  • RQ4仮想ビュー機構が、複数のコンピューティングノードにまたがるパーティショナライズされた HDF5 データセットに対して、透明かつ高パフォーマンスなアクセスをどの程度実現できるか?
  • RQ5宣言的クエリ処理とファイル中心の HPC ワークロードの統合により、ネイティブデータベースストレージと同等の I/O 拡張性とパフォーマンスが達成できるか?

主な発見

  • ArrayBridge は、ネイティブな SciDB が要請する数時間にわたるデータ読み込みプロセスを回避し、マルチ TiB の HDF5 データセットを数分でクエリ可能にする。
  • 32 ノードにまでスケーリングした状況でも、SciDB のネイティブストレージエンジンと統計的に区別できない I/O 拡張性とパフォーマンスを示す。
  • 仮想ビュー経由での HDF5 への並列書き込みは、HDF5 の本質的な単一ライター制約を克服し、ほぼ理想に近い拡張性を達成する。
  • ArrayBridge は、同じデータチャンクを複数のバージョン間で重複除去することで、バージョン管理配列のストレージオーバーヘッドを大幅に削減し、ストレージ効率を向上させる。
  • 標準の HDF5 API を使用する従来のアプリケーションは、コード変更なしに、過去の配列バージョンに時空クエリで透明にアクセスできる。
  • ArrayBridge のスキャンコンponent は、SciDB の 2017 年コミュニティエディションにリリースされ、大規模な科学計算施設で導入されている。

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

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

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

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