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
•  装置パラメータ •  オンラインモニタパラ
メータ
System ConfiguraYon
Daq Operator
XML/JSON
HTTP Server Command/Status
mod_python mod_wsgi
• Control Panel on Web browser (javascript, ajax) • Python GUI • Command line program Device CondiYon/ Online analysis
PC Logger ・ ・ ・ Online histograms on Web browser Gatherer Dispatcher Detectors 2014-­‐03-­‐30
Monitor Read-­‐out modules 物理学会@東海大学
Online histograms using ROOT 4
DAQコンポーネントと構成例 Service Port Service Port (command/status) (command/status) Data + =
Data OutPort InPort DAQ-­‐Middlewareが提供
Logics (for data handling) 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コンポーネント特徴のまとめ
us o
m
o
del
n
o
o
t
m
u
A
ent
n
o
p
C om
Service Port (command/status) READOUT -­‐tra
k
r
o
Netw
Data OutPort InPort t
n
e
r
a
nsp
READOUT Logics (for data handling) Network
READOUT READOUT READOUT Development
y
t
i
l
i
Flexib
Reuse
User A READOUT Reu
y
t
i
l
i
sab
Repository
User B 2014-­‐03-­‐30
物理学会@東海大学
6
動作環境
•  Linux –  バイナリ •  ScienYfic 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 •  RoesY •  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: hop://daqmw.kek.jp/ 2014-­‐03-­‐30
物理学会@東海大学
13