Skip to main content
QUICK REVIEW

[論文レビュー] The ngdp framework for data acquisition systems

A. Yu. Isupov|arXiv (Cornell University)|Apr 26, 2010
Particle Detector Development and Performance参考文献 2被引用数 3
ひとこと要約

ngdpフレームワークは、分散型高エネルギー物理学実験を想定した、軽量でモジュラーかつ高パフォーマンスなデータ取得(DAQ)システムフレームワークである。UNIX互換環境においてカーネルスレッドとnetgraph(4)を活用することで、メモリコピーを最小限に抑え、遅い中間保存領域を排除し、ng_mm(4)によるカーネルからユーザースペースへの直接メモリマッピングと、ロード可能なフィルターモジュールによる効率的なパケットフィルタリングを実現することで、1 GB/sを超える高スルーレートを達成している。

ABSTRACT

The ngdp framework is intended to provide a base for the data acquisition (DAQ) system software. The ngdp's design key features are: high modularity and scalability; usage of the kernel context (particularly kernel threads) of the operating systems (OS), which allows to avoid preemptive scheduling and unnecessary memory--to--memory copying between contexts; elimination of intermediate data storages on the media slower than the operating memory like hard disks, etc. The ngdp, having the above properties, is suitable to organize and manage data transportation and processing for needs of essentially distributed DAQ systems. The investigation has been performed at the Veksler and Baldin Laboratory of High Energy Physics, JINR.

研究の動機と目的

  • 分散型高エネルギー物理学実験向けに、軽量でスケーラブルかつモジュラーなDAQソフトウェアフレームワークを設計すること。
  • ユーザーコンテキストとカーネルコンテキスト間の過剰なメモリコピーおよび遅いストレージによる性能ボトルネックを排除すること。
  • 標準のハードウェアおよびオペレーティングシステムを用いて、1秒あたり1 GBを超えるデータスルーレートを達成すること。
  • カーネルロード可能なモジュール(KLD)を介して、実行時におけるフィルタリング機能の動的ロードおよびアンロードを可能にすること。
  • mmap(2)およびnetgraph(4)ノードを用いた、カーネル空間とユーザースペース間の効率的で低オーバーヘッドなデータ交換をサポートすること。

提案手法

  • フレームワークは、モジュラーで階層的なデータフロー経路制御を可能にする、コアのデータ転送および処理エンジンとしてnetgraph(4)を採用している。
  • データ処理をカーネルコンテキストで実行するためにカーネルスレッドが使用され、プリエンプティブスケジューリングのオーバーヘッドを回避し、コンテキストスイッチのオーバーヘッドを低減している。
  • ng_mm(4)ノードは、カーネル空間とユーザースペース間の共有メモリマッピングを提供し、mmap(2)を介したパケットバッファへの直接アクセスを可能にすることで、ソケットI/Oレイヤーを排除している。
  • フィルタリングは、制御メッセージ(addflt/delflt)を通じて動的に登録されるロード可能なKLDモジュールにより実装されており、実行時におけるプラグイン機能を可能にしている。
  • ng_filter(4)ノードは、フィルタ関数をチェーンとして逐次適用することでパケットストリームを管理し、各関数が0を返せばパケットを通過させ、非ゼロを返せば解放する。
  • ユーザースペースユーティリティであるngget(1)とngput(1)は、ng_socket(4)およびng_mm(4)の両方を用いたデータ交換をサポートしており、パフォーマンスを優先する場合にはng_mm(4)が推奨されている。

実験結果

リサーチクエスチョン

  • RQ1標準のハードウェア上でリource消費を最小限に抑えながら、1 GB/secを超えるスルーレートを達成できるDAQシステムの設計法は何か?
  • RQ2分散型DAQシステムにおいて、カーネル空間とユーザースペース間の効率的で低遅延なデータ転送を実現するアーキテクチャパターンは何か?
  • RQ3実行時において、パフォーマンスを損なわずに動的フィルタリングおよびモジュラー処理を実現する方法は何か?
  • RQ4高速データ取得において、HDDなどの遅いメディアへの中間保存領域を排除するメカニズムは何か?
  • RQ5カーネル空間およびユーザースペースのコンponentsが、コピーを最小限に抑えながら効率的に同期し通信する方法は何か?

主な発見

  • ngdpフレームワークは、ng_mm(4)を介したカーネルからユーザースペースへの直接メモリマッピングにより、ユーザーコンテキストとカーネルコンテキスト間のメモリコピーを回避することで、高スルーレート(>1 GB/sec)を達成している。
  • データ処理にカーネルスレッドを使用することで、プリエンプティブスケジューリングのオーバーヘッドが排除され、データフロー管理における遅延が低減している。
  • KLDモジュールおよび制御メッセージ(addflt/delflt)を介した動的フィルタのロードおよびアンロードにより、実行時におけるデータ処理パイプラインの再構成が可能になっている。
  • ng_filter(4)ノードは、フィルタ関数を順次適用することでパケットストリームを効果的に管理しており、非ゼロの戻り値による早期終了により、不要な処理を削減している。
  • ngget(1)およびngput(1)ユーティリティは、ng_socket(4)およびng_mm(4)の両方を用いた効果的なデータ交換を実現しており、後者は直接メモリアクセスにより優れたパフォーマンスを発揮している。
  • フレームワークは、データをメインメモリ内で処理を継続することで、HDDなどの遅いメディアへの中間保存領域を効果的に排除している。

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

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

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

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