DAQ-Middlewareの現状報告

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の概略
• 新機能
– リングバッファサイズの指定
• 適用事例
• システム構築の工程
2014-03-30
物理学会@東海大学
2
DAQ-Middlewareとは
• ネットワークベースのDAQソフトウェアフレーム
ワーク
– コンポーネントを接続してデータパスを構成
– 開発、設定、利用が容易
• ターゲット
– 中小規模実験
– 測定器、エレクトロニクスなどのテストベッド
• Robot Technology Middlewareの産総研での実
装OpenRTM-aistをベースに使用している。
2014-03-30
物理学会@東海大学
3
DAQ-Middleware構成図
•使用するコンポーネントを指定
• コンポーネント間接続情報
• パラメータ
User Interface
PC
XML
• 装置パラメータ
• オンラインモニタパラ
メータ
Daq
Operator
System Configuration
XML/JSON
HTTP
Server
Command/Status
mod_python
mod_wsgi
•Control Panel on Web browser
(javascript, ajax)
•Python GUI
•Command line program
Device Condition/
Online analysis
PC
Logger
・
・
・
Online histograms
on Web browser
Gatherer
Dispatcher
Monitor
Detectors
2014-03-30
Read-out
modules
物理学会@東海大学
Online histograms
using ROOT
4
DAQコンポーネントと構成例
Service Port
Service Port
(command/status)
(command/status)
Data
OutPort
InPort
DAQ-Middlewareが提供
+
Logics
=
(for data handling)
ユーザーが書く
Data
OutPort
InPort
Logics
(for data handling)
DAQコンポーネント構成例
DaqOperator
DaqOperator
DaqOperator
Data
Command/Status
Logger
Gatherer
Dispatcher
Monitor
オンラインモニターしながら
データを保存
2014-03-30
Gatherer
Logger
モニターなしにデータのみ保存
物理学会@東海大学
Gatherer
Monitor
データセーブなしでオンライン
モニターする
5
DAQコンポーネント特徴のまとめ
Service Port
(command/status)
READOUT
Data
READOUT
OutPort
InPort
Logics
(for data handling)
Network
READOUT
Development
READOUT
Reuse
READOUT
User A
READOUT
Repository
User B
2014-03-30
物理学会@東海大学
6
動作環境
• Linux
– バイナリ
• Scientific Linux 5.x、6.x (32bit, 64bit)
• Ubuntu 12.04 LTS (32bit, 64bit)
– その他のディストリビューションはソースからコン
パイル
2014-03-30
物理学会@東海大学
7
最新版での新機能
• DAQ-Middlewareがベースとして使っている
OpenRTM-aistでのタイムアウトバグ修正
– CPU消費量の減少
• InPortリングバッファの属性を設定可能にした
– リングバッファ長
• 遅いデバイス(ハードディスクなど)への対応
– リングバッファフル、エンプティのポリシー
– リングバッファ リードライト のタイムアウト
2014-03-30
物理学会@東海大学
8
ディスク、SSDへの書き込み遅延
• デフォルトパラメータext4ファイルシステム
• 32kB書き360マイクロ秒スリープをくりかえし10GBまで書く (ス
ループット88MB/s)
• 各32kB書き込みの時間をC言語でプログラムを書いて計測
2014-03-30
物理学会@東海大学
9
InPortのリングバッファ
Gatherer
Logger
disk
write
logic
OutPort
InPort
• Logger内にはリングバッファスレッドと
ディスクへ書き出すスレッドがある
– 上流からのデータはまずリングバッファに
格納される
– Loggerはリングバッファからデータを取り
出してディスクに書く
– これにより遅延に対応
• 従来はバッファサイズが固定
• 遅延が大きいデバイスに対応するため
に設定ファイルでサイズを変更可能に。
2014-03-30
<inPort from="SampleReader0:samplereader_out"
buffer_length="4096">samplemonitor_in
</inPort>
物理学会@東海大学
10
DAQ-Middlewareが使われて
いる実験、センサーテスト
•
•
実験
– 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 測定器開発室)
2014-03-30
物理学会@東海大学
赤文字は2012年4月以降の採用
11
読み取りシステム完成までの工程
•
•
•
•
•
COMET CDC, ADC_SiTCPを使ったSTRIPIXでの例
修士課程のかたがたが担当
– ROOTは使える
– ローデータを読んだことはない
KEKで作業
Gathererは並列読み出しが必要だったため千代が作成
作業工程
– 1日目
• DAQ-Middlewareの説明
• Gatherer – Logger の組み合わせでデータを
ファイルに保存
–
–
• 保存したローデータファイルをデコードし、ヒス
トグラムを作るC++プログラムを作成
2日目
• デコードルーチンをモニターコンポーネントに
くみこみ
2.5~3日目
• モニターコンポーネント完成
• Dispatcher, Loggerを追加しシステム完成
• 必要ならヒストグラムなどの追加を行う
2014-03-30
1日目
Gatherer
Read-out modules
Logger
(標準品)
2日目
Gatherer
Read-out modules
2.5~3日目
物理学会@東海大学
Monitor
Logger (標準品)
Gatherer Dispatcher
(標準品)
Monitor
12
サマリー
• DAQ-Middlewareの概略
• 新機能
– リングバッファサイズの指定
• 適用事例
• システム構築の工程
• URL: http://daqmw.kek.jp/
2014-03-30
物理学会@東海大学
13