Skip to main content
QUICK REVIEW

[論文レビュー] Next generation input-output data format for HEP using Google's protocol buffers

S. Chekanov|arXiv (Cornell University)|Jun 27, 2013
Distributed and Parallel Computing Systems参考文献 2被引用数 7
ひとこと要約

この論文では、GoogleのProtocol Buffersと可変長整数(varint)符号化を用いて、コンテンツに応じたデータ圧縮を実現する次世代の入出力フォーマットProMCを提案する。低エネルギーの'pileup'粒子を低精度で、より少ないバイト数で保存することで、ROOTと比較して最大30%のファイルサイズ削減を達成し、自己記述性、ランダムアクセス、C++、Java、Pythonを含む多言語対応を実現する。

ABSTRACT

We propose a data format for Monte Carlo (MC) events, or any structural data, including experimental data, in a compact binary form using variable-size integer encoding as implemented in the Google's Protocol Buffers package. This approach is implemented in the so-called ProMC library which produces smaller file sizes for MC records compared to the existing input-output libraries used in high-energy physics (HEP). Other important features are a separation of abstract data layouts from concrete programming implementations, self-description and random access. Data stored in ProMC files can be written, read and manipulated in a number of programming languages, such C++, Java and Python.

研究の動機と目的

  • 現在のHEP I/Oフォーマットが、高意義の信号粒子と同じ精度で、大量の低精度な'pileup'粒子を保存する際の非効率性を是正すること。
  • LHCのペタバイトスケールのデータにおける保存およびI/Oオーバーヘッドを削減し、粒子エネルギーと重要度に基づいたコンテンツ依存圧縮を可能にすること。
  • 自己記述的で、ポータブルかつランダムアクセス可能なデータフォーマットを提供し、C++、Java、Pythonを含む複数のプログラミング言語およびプラットフォーム、特にWindows やAndroidなど非伝統的なHEP環境をカバーすること。
  • データレイアウトを実装から分離することで、効率的なデータ交換、保存、分析を可能にし、メタデータ駆動のイベント選択をサポートすること。
  • スーパーコンピュータ(IBM Blue Gene/Qなど)を含む多様なアーキテクチャで使用可能な、軽量で展開可能なI/Oライブラリの開発

提案手法

  • GoogleのProtocol Buffersを活用し、HEPイベントデータ用のコンactで自己記述的なバイナリフォーマットを定義することで、効率的なシリアル化およびデシリアライズを実現する。
  • 整数(例:粒子ID、ステータスコード、運動量)を可変長バイト列として表現するvarint符号化を採用し、小値のストレージを削減する。
  • エネルギーに応じたスケーリングを適用し、浮動小数点の4運動量を64ビット整数に変換することで、低エネルギー粒子に対して精度を低下させても情報損失が顕著でないよう実装する。
  • ファイルフォーマットにメタデータを統合し、ランダムアクセスを可能にし、全ファイルを読み込むことなく特定のイベントを直接取得できるようにする。
  • 同じスキーマからC++、Java、Python向けのコード生成をサポートすることで、型安全性とプラットフォーム非依存性を確保する。
  • 標準フォーマット(HEPMC、STDHEP)からProMCへの変換ツールを提供し、ProMCデータのインspect、抽出、可視化を可能にするユーティリティも提供する。

実験結果

リサーチクエスチョン

  • RQ1低エネルギー粒子に対して精度を低下させるコンテンツ依存圧縮戦略が、HEPモンテカルロデータのファイルサイズを顕著に削減できるか?
  • RQ2固定長フォーマット(ROOTのDouble32_tなど)と比較して、varintベースの整数符号化が、一般的なHEPイベントレコードのストレージオーバーヘッドをどの程度削減できるか?
  • RQ3自己記述的で、ポータブルかつランダムアクセス可能なバイナリフォーマットが、HEPにおけるプラットフォーム間のデータ交換および分析のポータビリティをどの程度向上できるか?
  • RQ4ProMCのような軽量で多言語対応のI/Oライブラリが、Windows やAndroidなど非伝統的なHEPプラットフォームでも効率的なデータ処理を可能にするか?
  • RQ5大規模なHEPワークフロー、特に高速シミュレーションや分析パイプラインにおいて、ProMCのパフォーマンスとスケーラビリティはどの程度か?

主な発見

  • ProMCは、ROOTのDouble32_tフォーマットと比較して、最大30%のファイルサイズ削減を達成し、ベンチマークテストでは27%の削減が確認された。
  • 高レベルのpileup(例:1信号粒子あたり50〜140件のバックグラウンドイベント)を持つイベントでは、低エネルギー粒子の効率的なvarint符号化のおかげで、ROOTと比較してほぼ2倍のファイルサイズ削減が達成された。
  • ProMCフォーマットは、圧縮なしのASCII HEPMCファイルと比較して33%のファイルサイズ削減を達成し、gzip圧縮済みHEPMCファイルと比較しても19%の削減を達成した。
  • 可変長整数の使用により、小値(例:粒子ID、ステータスコード)が1〜2バイトで格納可能となり、一般的なデータフィールドのオーバーヘッドが顕著に削減された。
  • ProMCライブラリは、ネットワークストリーミングを介して個々のイベントへのランダムアクセスをサポートし、全ファイルをダウンロードせずに特定のイベントを迅速に取得できる。
  • 1つのスキーマからC++、Java、Python向けのコード生成が可能であり、クロスプラットフォームでの分析を容易にし、開発のオーバーヘッドを低減した。

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

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

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

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