スライド(PPT) - DAQ-Middleware

Download Report

Transcript スライド(PPT) - DAQ-Middleware

DAQ-Middleware概論
千代浩司
高エネルギー加速器研究機構
素粒子原子核研究所
2010-08-04
2010年度DAQ-Middleware講習会
1
アウトライン
• DAQ-Middlewareの紹介
• J-PARC/MLF中性子での例
2010-08-04
2010年度DAQ-Middleware講習会
2
背景、構想
• 背景
– 従来DAQシステムでのソフトウェアの再利用化はドライバ、ライブラリ
レベルでおこなわれてきた。
– 扱うデータの増大、使う計算機の数が増えてきてDAQシステムを構築
するのがむずかしくなってきた。
• 解決案?
– どんな実験にも対応できるように、抽象化、汎用化してしまうとデータ
収集効率が落ちてしまう。
• 解決案
– ドライバ、ライブラリとDAQシステムの間にコンポーネントという中間層
を作り、実験毎の違いを吸収、収集効率を確保し、
– システムの枠組みは普遍であるDAQフレームワークを作ればよいの
ではないか?
2010-08-04
2010年度DAQ-Middleware講習会
3
DAQ-Middleware (1)
• 目的
– 再利用可能な
– 柔軟な
– 容易に構築可能なDAQシステム
• 特徴
– コンポーネントベース
– ネットーワークベース
– フレームワーク
2010-08-04
2010年度DAQ-Middleware講習会
4
DAQ-Middleware (2)
• RT(Robot Technology)-Middlewareをデータ収集用に拡張
• RT-Middleware
– ネットワークロボットシステムの構築のためのソフトウェア共通
プラットフォーム
– 産総研知能システム研究部門・タスクインテリジェンス研究グ
ループが開発
– 複数のコンポーネントが通信してひとつの機能を実現する
– そのソフトウェアコンポーネントの仕様は国際標準規格
(OMG)
– 我々は2006年から産総研と共同研究を行っている
DAQ-Middleware
Command Path
Data Transfer
Function
Run Control
Function
DAQ-DAQ-DAQComponent
Component
Component
DAQOperator
Web
Interface
RT-Middleware
Data Path
2010-08-04
System
Configuration
function
2010年度DAQ-Middleware講習会
5
基本DAQモデル
• 使用するコンポーネントを
指定
• コンポーネント間接続情報
• パラメータ
User Interface
PC
XML
• 装置パラメータ
• オンラインモニタ用
パラメータ
System Configuration
Daq
Operator
HTTP
Server
Command/Status
Control Panel
on Web browser
XML/JSON
Device Condition/
Online analysis
PC
Logger
Online histograms
on Web browser
・
・
・
Gatherer
Dispatcher
Monitor
Detectors
2010-08-04
Read-out
modules
2010年度DAQ-Middleware講習会
Online histograms
using ROOT
6
DAQコンポーネント
Service Port
Service Port
(command/status)
(command/status)
Data
InPort
OutPort
+
=
Data
OutPort
InPort
Logics
Logics
(for data handling)
(for data handling)
 DAQコンポーネントを組み合わせてDAQシステムを構築する
 データ転送機能、ランコントロール、システムコンフィギュレーション機能は
DAQ-Middlewareで実装済み。
 データを下流に送るにはOutPortに書く。
 上流からのデータを読むにはInPortを読む。
 ユーザーはコアロジックを実装することで新しいコンポーネントを作成できる。
 リードアウトモジュールからのデータの読み取りロジック
 ヒストグラムの作成ロジック
2010-08-04
2010年度DAQ-Middleware講習会
7
コンポーネント間通信での分類
Source Type
Sink Type
Filter Type
Dispather Type
Merger Type
• Source Type (Gatherer)
• Sink Type (Logger, Monitor)
• Dispatcher Type
2010-08-04
2010年度DAQ-Middleware講習会
8
DAQコンポーネント 構成例(1)
DaqOperator
DaqOperator
Data
Command/Status
Logger
Gatherer
Dispatcher
Logger
Gatherer
Monitor
モニターなしでデータをディスクに
セーブする
DaqOperator
DaqOperator
Logger
Gatherer
Filter
Dispatcher
Gatherer
Monitor
2010-08-04
2010年度DAQ-Middleware講習会
Monitor
データセーブなしでオンライン
モニターする
9
DAQコンポーネント構成例 (2)
ネットワーク透過性
計算機
DaqOperator
DaqOperator 計算機
計算機
Device
Gatherer
計算機
Logger
Device
Gatherer
Logger
DAQ-Componentは、1台の計算機でもネットワーク分散環境でもシームレスな
利用が可能
たとえばDAQシステム(PC)の負荷を分散させたい場合、計算機を追加してDAQComponentを移すだけで対応できる
2010-08-04
2010年度DAQ-Middleware講習会
10
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
2010-08-04
2010年度DAQ-Middleware講習会
11
DaqOperator
• DAQコンポーネント統括者
– システムの把握はコンフィギュレーションXMLファ
イルを読んで行う。
• DAQコンポーネント接続、スタート、ストップ等
の指示をだす。
– 指示を出すときにはすでにDAQコンポーネントは
プロセスとして起動している必要がある
– DaqOperatorが起動するわけではない。
– DAQコンポーネントの起動方法
• ローカル計算機ならスクリプト内部 (run.py –cl)
• ネットワーク経由でのブート(xinetdを使う等)
2010-08-04
2010年度DAQ-Middleware講習会
12
J-PARC MLF中性子実験での
使用状況
working
will be introduced
2010年6月現在
2010-08-04
2010年度DAQ-Middleware講習会
13
J-PARC/MLF 中性子
検出器・リードアウトモジュール
• Position Sensitive Detector (PSD)
– 3He filled proportional counter
– The most common neutron detector
• Photon-counting 2-D/1-D detector (Scinti)
• Gas Electron Multiplier (GEM)
• SiTCP-based Readout modules
– SiTCP: a hardware-based TCP processor
PSDs
2010-08-04
2-D Scinti
1-D Scinti
2010年度DAQ-Middleware講習会
GEM
14
MLF中性子用DAQコンポーネント群
シンチ検出器
PSD検出器
PSD用Gatherer
Gatenet
Monitor
GEM検出器
シンチ用Gatherer
GEM用Gatherer
Monitor
Monitor
検出器共通
DaqOperator
2010-08-04
Dispatcher
2010年度DAQ-Middleware講習会
Logger
15
DAQ middleware
BL 21 GEM
(大下さんのスライド)
DAQ middleware is a standard tool for MLF in J-PARC.
Users are able to take data without regard for the difference of detectors
and to control the detectors from a web browser.
DAQ middleware is available as an online monitor.
Control panel in a web browser
The 2D image and the TOF distribution are updated
every additional 100 events.
A screen shot during data taking
2010-08-04
2010年度DAQ-Middleware講習会
16
10
J-PARC/MLF以外での展開にむけて
• 現在以下の実験での使用を検討いただいて
いる
– PF BL16A (PF, KEK) (STARSと連携)
– ILC VTX (KEK, Tohoku)
– SANS-J (JRR-3, JAEA)
– LEPS2 (SPring-8)
– CANDLES (Kamioka)
2010-08-04
2010年度DAQ-Middleware講習会
17
開発に必要なプログラミング技能
• 言語:C++
• ソケットを使ったネットワークプログラミング
– SiTCPリードアウトモジュールからのデータ読みだしに必要
– 単純なものならDAQ-Middleware配布物としてライブラリが
ある
• モニターで使用するヒストグラムツール(ROOTなど)
2010-08-04
2010年度DAQ-Middleware講習会
18
開発環境
• 明日午前中に話をします。
• DAQ-Middleware開発者提供のVMware
Playerイメージを使う
• 自力
– Scientific Linux (5.x 32bit) (CentOS 5.x, RHEL 5.x)
用RPMがあるのでこれを使ってセットアップ
– ソースからセットアップ
• 依存物(OpenRTM-aist、omniORB)があるのでちょっと
めんどくさい。
2010-08-04
2010年度DAQ-Middleware講習会
19
開発環境準備状況確認
• まだ準備していないかたがたの確認
2010-08-04
2010年度DAQ-Middleware講習会
20
ドキュメンテーション
• DAQ-Middleware 1.0.0 技術解説書
http://daqmw.kek.jp/docs/DAQ-Middleware-1.0.0-Tech.pdf
• DAQ-Middleware 1.0.0開発マニュアル
http://daqmw.kek.jp/docs/DAQ-Middleware-1.0.0-DevManual.pdf
訂正があります:
http://daqmw.kek.jp/docs/erratum-DAQ-Middleware-1.0.0-DevManual.pdf
2010-08-04
2010年度DAQ-Middleware講習会
21
このあとGEMのデモがある予定
2010-08-04
2010年度DAQ-Middleware講習会
22