Error_controlled_progressive_and_adaptable_retrieval_of_scientific_data_with_multilevel_decomposition
Abstruction 近年の大規模な数値シミュレーションは、シミュレーション時のデータ書き込みのみならず、何度も読み出しが実行されるポスト処理においてもストレージがボトルネックになることが多い。 ポスト処理の内容は多岐にわたるが、様々なポスト処理に対応するための条件として、不必要なデータのi/oを極力減らすことがあげられる。本論文では、シミュレーションデータのrefactoring, compressing, retrievalのフレームワークを紹介する。refactoringにより粒度の細かい精度でデータを分解でき、要求した精度でデータを取得することが可能になる。本研究で紹介するフレームワークを使うことで、state-of-the-artの手法を使った時と比べ、複数の精度でデータを要求したときに大幅に取得するデータを減らすことができた。さらに粗い精度でのデータ要求があったときに、分析時間の短縮につながった。 具体的には、本フレームワークを使うことでほかのフレームワークを使った時と比べ、ある精度でのデータ要求があったときに64%のデータ削減を達成した。さらに、1024コアを使って600GBのデータの書き込みと読み込みを実行した際、従来の手法と比較した際、それぞれ1.36倍、2.52倍の性能向上を示せた。 introduction 大規模な数値シミュレーションから生み出されるデータ量は、ストレージのI/O性能を超えている。 並列ファイルシステムは高価なため、増設することが難しい。 一方、並列ファイルシステムに書き込まれたデータは、PFSの容量が圧迫する目的と、長期保存をする目的ですぐに二次記憶に退避される。 PFSのバンド幅は2-2.5Tb/sであるのに対し、二次記憶のバンド幅は1-2GB/sである。そして、このI/Oバンド幅が低いことが、科学的な発見を遅らせる原因となっている。 これらの問題があるため、多くの科学者は可逆圧縮や非可逆圧縮を使い、データの書き込み量や読み込み量を減らす。しかし、可逆圧縮は圧縮率が低いため、先の問題解決には不十分である。このことから近年、より大幅に圧縮が可能な非可逆圧縮が注目を浴びている。非可逆圧縮は、ユーザが指定した許容誤差を保証する範囲でデータの圧縮をする。 しかし、この手法にも欠点がある。 それは、QoIがわからない、つまり、現象の発見に必要な最低限の許容誤差がわからない点である。 非可逆圧縮によるI/Oの恩恵と、QoIを両立させるためには、あるステップで許容誤差を緩めていき、様々な許容誤差で圧縮されたデータをためておけばいいが、それは本末転倒で、結果的に多くのデータをためることになってしまう。さらに、ある誤差で取得したデータの精度が十分でない場合は、再び誤差が小さいデータを1から取得する必要があり、結果的にI/Oを圧迫してしまう。 この問題に対処するのがProgressive compressionである。Progressive compressonとtransmitonは、まずデータを複数の精度に階層的に分解する。そして、ユーザがより高精度のデータを要求するときには、階層構造になったデータのより精度が高い一部分のみをユーザは新たに取得し、それを今までに取得したデータに重ね合わせる。これによりより高精度のデータを得られる。 本研究では、I/Oにボトルネックが生じるという課題を、このProgressive retrievalを用いて解決する。 MGARDというフレームワークを用いることではこれを実現することが可能である。しかし、MGARDはresolution incremental re-compositionをサポートしているのみで、各階層ごとに隣接している精度が粗いという課題がある (これが多分bit-plainを考慮していないっていう話につながるんだと思う) 。本論文ではこれを解決するフレームワークをMGARDを用いて新たに作る。 本研究のcontributionは下記のとおりである。 データリファクタリングアルゴリズムと理論の紹介。本アルゴリズムは、MGARDとbit-plane encodingを組み合わせである。このアルゴリズムは、データを複数の階層の解像度と精度に分解することを可能にする。 データを段階的に取得および再構成できるフレームワークの実装。この段階的な取得により、以下の2つの利点がある:1)データの取得/ストリーミング、再構成、および解析を非同期で実行でき、いつでも既知のエラー範囲内で行えます。2)次の精度レベルに至るデータの部分だけをストリーミングして解析結果が収束するまで、I/Oの負荷を減少。 私たちは貪欲アルゴリズムを一般化して、複数のエラーメトリクスに対してデータの取得効率を改善します。このアルゴリズムは多様な事後解析に適応でき、解析に基づいて再構成されたデータの取得順序を変更することで取得サイズをさらに削減したり、粗い粒度の表現を提供することで解析のパフォーマンスを向上させることができます。また、私たちはフレームワークを最適化します。 chapter2 問題と関連研究 イントロのようやく ・過去10年間におけるデータとストレージ容量の不均衡な成長は深刻な問題である。 ・exascaleコンピューティング時代ではさらに深刻化し、科学的な発見を妨げる要因となっている。 ・ストレージとI/Oの制約に対処する有望な候補として、非可逆圧縮があげられている ・しかし、文献には広範な圧縮技術が存在するにもかかわらず、科学アプリケーションのコミュニティにおけるこれらの受け入れは低い その理由は 1)データの削減プロセスがデータを生成した本来の現象に影響を及ぼす可能性があること。 2)単一のエラー制約の下で削減されたデータが、異なる解析のさまざまなニーズに適合しない可能性があること また、シミュレーションデータはPFSから二次記憶に移される、が二次記憶はバンド幅が小さいためデータの取得が遅くなる。データの生成(例:大規模な実験、シミュレーション)は時折行われるのに対し、生成されたデータはさまざまな研究によって取得される。よって、セカンダリストレージ層の低い帯域幅が不適切な/過剰なデータの取得コストを高める。私たちは、解析に必要な精度にちょうど適合する量のデータをユーザーに提供したいと考えています。 背景 bit-plane encoding (ビットプレーン符号化) 整数をビットで表したときに、桁が上位なビットほど、精度に与える影響が大きい。これは浮動小数点でも同じで、各桁ごとにデータを保存することで、精度に与える影響を優先度付けすることが可能となる。 ...