130 likes | 297 Views
DAQ-Middleware の新機能と 実験への展開. 千代浩司 A,F 、 濱田英太郎 A,F 、 井上栄二 A,F 、 長坂康史 B,F 、 味村周平 C,F 、 神徳徹雄 D,F 、 安藤慶昭 D,F 、 和田正樹 E. 高エネルギー加速器研究機構 素粒子原子核研究所 A 広島工業大学 B 大坂大学 C 産業技術総合研究所 D (株) Bee Beans Technologies E Open- It F. もくじ. DAQ-Middleware の概略 新機能 リングバッファサイズの指定 適用 事例 システム 構築の工程.
E N D
DAQ-Middlewareの新機能と実験への展開 千代浩司A,F、濱田英太郎A,F、井上栄二A,F、長坂康史B,F、味村周平C,F、神徳徹雄D,F、安藤慶昭D,F、和田正樹E 高エネルギー加速器研究機構 素粒子原子核研究所A 広島工業大学B 大坂大学C 産業技術総合研究所D (株)Bee Beans TechnologiesE Open-ItF
もくじ • DAQ-Middlewareの概略 • 新機能 • リングバッファサイズの指定 • 適用事例 • システム構築の工程 物理学会@東海大学
DAQ-Middlewareとは • ネットワークベースのDAQソフトウェアフレームワーク • コンポーネントを接続してデータパスを構成 • 開発、設定、利用が容易 • ターゲット • 中小規模実験 • 測定器、エレクトロニクスなどのテストベッド • Robot Technology Middlewareの産総研での実装OpenRTM-aistをベースに使用している。 物理学会@東海大学
DAQ-Middleware構成図 • 使用するコンポーネントを指定 • コンポーネント間接続情報 • パラメータ User Interface PC HTTP Server XML Command/Status • 装置パラメータ • オンラインモニタパラメータ System Configuration Daq Operator mod_python mod_wsgi • Control Panelon Web browser • (javascript, ajax) • Python GUI • Command line program XML/JSON Device Condition/ Online analysis PC Logger ・ ・ ・ Online histograms on Web browser Gatherer Dispatcher Monitor Read-out modules Detectors Online histograms using ROOT 物理学会@東海大学
DAQコンポーネントと構成例 DaqOperator Logger Gatherer Dispatcher Monitor + = DaqOperator DaqOperator ユーザーが書く DAQ-Middlewareが提供 DAQコンポーネント構成例 Data Command/Status Logger Monitor Gatherer Gatherer データセーブなしでオンライン モニターする モニターなしにデータのみ保存 オンラインモニターしながら データを保存 物理学会@東海大学 Service Port Service Port (command/status) (command/status) Data Data Logics (for data handling) OutPort OutPort InPort InPort Logics (for data handling)
DAQコンポーネント特徴のまとめ Autonomous Component model Network-transparent READOUT READOUT READOUT Development Flexibility Reuse READOUT READOUT User A READOUT Reusability User B Repository Network 物理学会@東海大学 Service Port (command/status) Data OutPort InPort Logics (for data handling)
動作環境 • Linux • バイナリ • Scientific Linux 5.x、6.x (32bit, 64bit) • Ubuntu 12.04 LTS (32bit, 64bit) • その他のディストリビューションはソースからコンパイル 物理学会@東海大学
最新版での新機能 • DAQ-Middlewareがベースとして使っているOpenRTM-aistでのタイムアウトバグ修正 • CPU消費量の減少 • InPortリングバッファの属性を設定可能にした • リングバッファ長 • 遅いデバイス(ハードディスクなど)への対応 • リングバッファフル、エンプティのポリシー • リングバッファ リードライト のタイムアウト 物理学会@東海大学
ディスク、SSDへの書き込み遅延 • デフォルトパラメータext4ファイルシステム • 32kB書き360マイクロ秒スリープをくりかえし10GBまで書く (スループット88MB/s) • 各32kB書き込みの時間をC言語でプログラムを書いて計測 物理学会@東海大学
InPortのリングバッファ Logger Gatherer • Logger内にはリングバッファスレッドとディスクへ書き出すスレッドがある • 上流からのデータはまずリングバッファに格納される • Loggerはリングバッファからデータを取り出してディスクに書く • これにより遅延に対応 • 従来はバッファサイズが固定 • 遅延が大きいデバイスに対応するために設定ファイルでサイズを変更可能に。 disk write logic OutPort InPort <inPort from="SampleReader0:samplereader_out" buffer_length="4096">samplemonitor_in </inPort> 物理学会@東海大学
DAQ-Middlewareが使われている実験、センサーテストDAQ-Middlewareが使われている実験、センサーテスト 赤文字は2012年4月以降の採用 • 実験 • CANDLES (double beta decay, 神岡地下実験室) • J-PARC/MLF (中性子、ミュオン) • DAQ system of Depth-resolved XMCD(KEK PF) • J-PARC Hadron E16 (High P)(準備中)(次の講演) • SuperNEMO(準備中) • 検出器テストベッド • ILC CCD Vertex (KEK,東北大学) • J-PARC Hadron COMET • Roesti • CDC (2014-03物理学会29pTH-7) • ADC_SiTCP • NMEM • STRIPIX(2014-03物理学会28pTH-8) • 液体アルゴンTPC (準備中) • GEM(KEK 測定器開発室) • SOI (KEK 測定器開発室) 物理学会@東海大学
読み取りシステム完成までの工程 1日目 • COMET CDC, ADC_SiTCPを使ったSTRIPIXでの例 • 修士課程のかたがたが担当 • ROOTは使える • ローデータを読んだことはない • KEKで作業 • Gathererは並列読み出しが必要だったため千代が作成 • 作業工程 • 1日目 • DAQ-Middlewareの説明 • Gatherer – Logger の組み合わせでデータをファイルに保存 • 保存したローデータファイルをデコードし、ヒストグラムを作るC++プログラムを作成 • 2日目 • デコードルーチンをモニターコンポーネントにくみこみ • 2.5~3日目 • モニターコンポーネント完成 • Dispatcher, Loggerを追加しシステム完成 • 必要ならヒストグラムなどの追加を行う Gatherer Logger (標準品) Read-out modules 2日目 Monitor Gatherer Read-out modules 2.5~3日目 Logger (標準品) Gatherer Dispatcher (標準品) Monitor 物理学会@東海大学
サマリー • DAQ-Middlewareの概略 • 新機能 • リングバッファサイズの指定 • 適用事例 • システム構築の工程 • URL: http://daqmw.kek.jp/ 物理学会@東海大学