千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所

Slides:



Advertisements
Similar presentations
DAQ-Middleware の現状報告 千代浩司 A,F 、仲吉一男 A,F 、安芳次 A,F 、 井上栄二 A,F 、長坂康史 B,F 、味村周平 C,F 、神徳徹雄 D,F 、安藤慶昭 D,F 、和田 正樹 E 高エネルギー加速器研究機構素粒子原子核研究所 A 広島工業大学 B 大坂大学 C 産業技術総合研究所.
Advertisements

実習環境整備 高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司. DAQ-Middleware 配布物 ソース Scientific Linux 5.9 上で作った RPM
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ATLAS実験データ解析に向けた、長距離広帯域ネットワークにおけるデータ転送
高エネルギー加速器研究機構 素粒子原子核研究所 濱田 英太郎
DAQ-Middleware Core Meeting
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
IBM Power Systems Linux センター のご紹介
高エネルギー加速器研究機構 物質構造研究所-中性子科学研究施設 佐藤節夫
ROBOMEC2007チュートリアル RTミドルウエア講習会
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
Report of working at CERN PHOS readout test bench
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
高速ネットワーク技術、スーパーコンピュータ関連の国際会議にて受賞 家庭用PCで超高速Webアクセス環境を実現するUsadaFoxを用い、 遠距離Webアクセス性能を1000倍高速化 東京大学データレゼボワール実験グループ.
DAQ-Middleware講習会 DAQコンポーネント開発
HLab meeting 7/24/07 K. Shirotori.
COPPER/FINESSE System構築
Android Development 白熱道場
J-PARC/MLFの実験データ収集システム
2009年 3月 17日 法政大学 常盤祐司、児玉靖司、八名和夫、Ivan Ho、Billy Pham
KEK エレクトロニクスシステムグループでの 開発状況 KEK e-sys 庄子 正剛.
FPGAを用いたMG3用 インターフェース回路の解説
DAQ M/Wに関わる 共同研究や業務について
DAQ-Middlewareの開発環境と 適用事例
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
視覚的な分散アプリケーション 構築ツールuBlockの開発
ネストした仮想化を用いた VMの安全な帯域外リモート管理
Tohoku University Kyo Tsukada
DAQ-Middlewareトレーニングコース 実習
DAQ-Middlewareトレーニングコース 実習
スパコンとJLDG HEPの計算環境 HEPnet-J
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
Dell EMCとVMwareならワンストップで安心 最もシンプルな運用と柔軟な拡張性に優れた仮想ファイアウォールをご提供
DAQ-Middleware講習会 DAQコンポーネント開発
DAQ-Middleware トレーニングコース 実習
アトラス日本グループ アトラス日本グループのメンバー アトラス日本グループのアトラス建設に対する貢献 計17機関(2016年現在)
DAQ-Middleware の新機能 コンポーネント制御機能
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
情報の科学的 な理解(2) 情報科教育法 8回目 2005/6/4 太田 剛.
E16実験へのDAQ-Middlewareの応用
GEM検出器用DAQ-Middleware
DAQ-Middlewareへの 機器制御機能の実装と性能評価
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
DAQ-Middleware講習会 DAQコンポーネント開発
端末およびサービス透過的な 情報共有支援システムの構築
端末およびサービス透過的な 情報閲覧支援システムの構築
DAQ-Middlewareの新機能と 実験への展開
アトラス日本グループ アトラス日本グループのメンバー アトラス日本グループのアトラス建設に対する貢献 計17機関169人(2015年現在)
研究会 「LHCが切り拓く新しい素粒子物理学」
3次元位置感応型ガンマ線検出器と それに必要なデバイス
<前提条件> iSeriesSite ワークフロー 実行環境 構成イメージ
J-PARC E16実験におけるDAQ-Middleware を用いたDAQソフトウェアの開発
スーパーコンピュータ「京」 理化学研究所 計算科学研究センター
M. Uchida, Kyoto University
ALICE work at CERN Kenta Mizoguchi, Hisayuki Torii, Yusuke Okada
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
tranService Next Generation
Dell EMCとVMwareならワンストップで安心 最もシンプルな運用と柔軟な拡張性に優れた仮想ファイアウォールをご提供
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
広島大学におけるHEPnet-J 利用状況
KEK素核研 エレクトロニクスシステムGr. 仲吉一男
回帰テストにおける実行系列の差分の効率的な検出手法
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
Report of working at CERN PHOS readout test bench
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
Presentation transcript:

千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所 DAQ-Middleware概論 千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所

アウトライン DAQ-Middlewareの紹介 実際に使用されているところの紹介 開発体制 性能測定 その他 http://daqmw.kek.jp/ 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middlewareの 紹介 2012-11-02 DAQミドルウェアトレーニングコース

背景、構想 背景 従来DAQシステムでのソフトウェアの再利用化はドライバ、ライブラリレベルでおこなわれてきた。 どんな実験にも対応できるように、抽象化、汎用化してしまうとデータ収集効率が落ちてしまう。 解決案 ドライバ、ライブラリとDAQシステムの間にコンポーネントという中間層を作り、実験毎の違いを吸収、収集効率を確保し、 システムの枠組みは普遍であるDAQフレームワークを作ればよいのではないか? 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middlewareとは (1) 再利用が容易な、柔軟性がある汎用のネットワークベースデータ収集(DAQ)ソフトウェアフレームワーク ターゲット 中小規模実験 テストベッド (測定器、エレクトロニクス等) 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middleware (2) DAQ-Middleware RT-Middleware Command Path Data Path RT(Robot Technology)-Middlewareをデータ収集用に拡張 RT-Middleware ネットワークロボットシステムの構築のためのソフトウェア共通プラットフォーム 産総研知能システム研究部門・タスクインテリジェンス研究グループが開発 複数のコンポーネントが通信してひとつの機能を実現する そのソフトウェアコンポーネントの仕様は国際標準規格(OMG) 我々は2006年から産総研と共同研究を行っている DAQ- Component Operator DAQ-Middleware RT-Middleware Run Control Function System Configuration function Data Transfer Web Interface Command Path Data Path 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middleware構成図 XML mod_python mod_wsgi User Interface HTTP Server 使用するコンポーネントを指定 コンポーネント間接続情報 パラメータ User Interface PC HTTP Server XML Daq Operator  装置パラメータ オンラインモニタパラメータ Command/Status System Configuration mod_python mod_wsgi Control Panel on 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 Detectors Read-out modules Online histograms using ROOT 2012-11-02 DAQミドルウェアトレーニングコース 7

ランコントロールインターフェイス Web browser UI python TK UI Linux command line 2012-11-02 DAQミドルウェアトレーニングコース

+ = DAQコンポーネント DAQコンポーネントを組み合わせてDAQシステムを構築する InPort OutPort Service Port (command/status) Logics (for data handling) Data + = DAQコンポーネントを組み合わせてDAQシステムを構築する データ転送機能、ランコントロール、システムコンフィギュレーション機能はDAQ-Middlewareで実装済み。 データを下流に送るにはOutPortに書く。 上流からのデータを読むにはInPortを読む。 ユーザーはコアロジックを実装することで新しいコンポーネントを作成できる。 コアロジックの例: リードアウトモジュールからのデータの読み取りロジック ヒストグラムの作成ロジック 2012-11-02 DAQミドルウェアトレーニングコース

コンポーネント状態遷移 技術解説書15-17ページ LOADED CONFIGURED RUNNING PAUSED daq_dummy() daq_run() CONFIGURE daq_configure() START daq_start() PAUSE daq_pause() UNCONFIGURE daq_unconfigure() STOP daq_stop() RESUME daq_resume() 各状態(LOADED, CONFIGURED, RUNNING, PAUSED)にある間、対応する関数が繰り返し呼ばれる。 状態遷移するときは状態遷移 関数が呼ばれる。 状態遷移できるようにするために は、daq_run()等は永遠にそのなかでブロックしてはだめ。 (例:Gathererのソケットプログラムでtimeoutつきにする必要がある) 各関数を実装することでDAQコンポーネントを完成させる。 2012-11-02 DAQミドルウェアトレーニングコース

コンポーネント間通信での分類 Source Type (Gatherer) Sink Type (Logger, Monitor) Dispatcher Type Source Type Sink Type Filter Type Dispather Type Merger Type 2012-11-02 DAQミドルウェアトレーニングコース

DAQコンポーネント 構成例(1) モニターなしでデータをディスクに セーブする データセーブなしでオンライン モニターする Dispatcher Logger Monitor DaqOperator Gatherer Data Command/Status Logger DaqOperator Gatherer モニターなしでデータをディスクに セーブする Dispatcher Logger Monitor DaqOperator Gatherer Filter Monitor DaqOperator Gatherer データセーブなしでオンライン モニターする 2012-11-02 DAQミドルウェアトレーニングコース

DAQコンポーネント構成例 (2) ネットワーク透過性 計算機 Logger DaqOperator Gatherer Device DaqOperator 計算機 計算機 計算機 Device Gatherer Logger DAQ-Componentは、1台の計算機でもネットワーク分散環境でもシームレスな利用が可能 たとえばDAQシステム(PC)の負荷を分散させたい場合、計算機を追加してDAQ-Componentを移すだけで対応できる 2012-11-02 DAQミドルウェアトレーニングコース

DAQコンポーネント特徴のまとめ Flexibility Reusability Network-transparent InPort OutPort Service Port (command/status) Logics (for data handling) Data READOUT Network User A Repository Reusability Flexibility Reuse Development Autonomous Component model Network-transparent User B 2012-11-02 DAQミドルウェアトレーニングコース

データ収集システム データ収集システムで必要な事柄 データ読み出し、保存 実験中のモニタリング データ収集スタート、ストップ等のランコントロール 周辺機器コントロール 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middleware 使用例 2012-11-02 DAQミドルウェアトレーニングコース

使用例 実験 実験(検討中) 検出器テストベッド J-PARC/MLF DAQ system of Depth-resolved XMCD (X-ray Magnetic Circular Dichroism) experiments at Photon Factory (KEK IMSS, KEK IPNS) 実験(検討中) CANDLES SuperNEMO 検出器テストベッド ILC CCD Vertex (KEK,東北大学) GEM (KEK 測定器開発室) SOI (KEK 測定器開発室) 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middleware Working J-PARC MLF中性子での使用状況 Dispatcher Logger Gatherer Monitor PSD Systems Daq Operator Gatenet DAQ-Middleware Working Gatherer/ Gateboard Logger Scinti. Systems Daq Operator Dispatcher Monitor Gatherer for GEM Monitor Dispatcher Logger GEM Systems Daq Operator 2012-11-02 DAQミドルウェアトレーニングコース

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) PSDs 2-D Scinti 1-D Scinti GEM 2012-11-02 DAQミドルウェアトレーニングコース 19

MLF中性子用DAQコンポーネント群 PSD検出器 シンチ検出器 GEM検出器 検出器共通 シンチ用Gatherer PSD用Gatherer Gatenet シンチ用Gatherer GEM用Gatherer Monitor Monitor Monitor 検出器共通 DaqOperator Dispatcher Logger 2012-11-02 DAQミドルウェアトレーニングコース

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 2012-11-02 DAQミドルウェアトレーニングコース 10

ILC CCD Vertexでの状況 順調にデータがとれている。 下は担当の齊藤さんにいただいたスライド 2012-11-02 DAQミドルウェアトレーニングコース

2012-11-02 DAQミドルウェアトレーニングコース

開発体制など 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middlewareの歴史 Open-It Next-generation DAQ Project @KEK DTP Open-It starts Next-generation DAQ Project @KEK DTP Project starts First Beam at MLF 2006 2007 2008 2009 2010 2011 2012 MLF Pkg(RC2) Oct. version Nov. version Dec. version Apr. version June version July version Oct. version MLF Pkg(RC1) DAQ-Middleware 1.0-RC1 DAQ-Middleware 1.0.0 DAQ-Middleware 1.1.0 CHEP06 DAQ-Middleware 1.2.0 2012-11-02 DAQミドルウェアトレーニングコース

1.0.0~1.2.0 1.0.0 MLF中性子依存のものを排除した最初のバージョン 1.1.0 Scientific Linux x86_64 (64bit)サポート 1.2.0 Scientific Linux 6.xサポート (ソースコートではUbuntu、Debianをサポートしている) 2012-11-02 DAQミドルウェアトレーニングコース

開発体制 2010年4月 DAQ-Middleware Core グループ結成 メンバー 千代、井上 (KEK) 長坂 (広島工業大学) 味村 (大阪大学) 神徳、安藤 (産業技術総合研究所) 和田 ( (株) Bee Beans Technologies) 仲吉(2011年4月まで)、安(2012年3月まで) 2012-11-02 DAQミドルウェアトレーニングコース

学会発表、展示会等 CHEP (International Conference on Computing in High Energy and Nuclear Physics) 物理学会 中性子科学会 TXテクノロジーショーケース in つくば イノベーションジャパン 産総研オープンラボ 2012-11-02 DAQミドルウェアトレーニングコース

性能測定 2012-11-02 DAQミドルウェアトレーニングコース

性能測定 (Ethernet) Sink Source Ethernet 2012-11-02 DAQミドルウェアトレーニングコース Model : Dell PowerEdge SC1430 CPU :Intel Xeon 5120 @ 1.86GHz 2 Cores ×2 Memory: 2GB NIC: Intel Pro 1000 PCI/e (1GbE) OS: Scientific Linux 5.4 (i386) Sink Source Repeater Ethernet Source Sink Ethernet 2012-11-02 DAQミドルウェアトレーニングコース

性能測定 (Loopback) Source Run on one multi core CPU PC. Each components communicate via loopback device (localhost). Sink Source Same as left but put a Relayer component between two components. Repeater Sink 2012-11-02 DAQミドルウェアトレーニングコース

2012-11-02 DAQミドルウェアトレーニングコース Source Repeater 1 Sink Repeater1 Repeater N ... Model : HP xw8600 CPU: Intel Xeon 5420 @ 2.50 GHz 4 Cores×2 Memory: 8GB OS: Scientific Linux 5.4 (i386) 2012-11-02 DAQミドルウェアトレーニングコース

開発に必要なプログラミング技能 言語:C++ ソケットを使ったネットワークプログラミング 解説書例 技術職員専門課程研修(平成22年度)データ処理のためのC++入門 http://www-lib.kek.jp/tiff/2010/1026/1026005.pdf ソケットを使ったネットワークプログラミング SiTCPリードアウトモジュールからのデータ読みだしに必要 単純なものならDAQ-Middleware配布物としてライブラリがある モニターで使用するヒストグラムツール(ROOTなど) 2012-11-02 DAQミドルウェアトレーニングコース

開発環境 DAQ-Middleware開発者提供のVMware Playerイメージを使う 自力 Scientific Linux (5.x 32bit, 64bit) (CentOS 5.x, RHEL 5.x)用RPMがあるのでこれを使ってセットアップ wget http://daqmw.kek.jp/src/daqmw-rpm sh daqmw-rpm install SL 5.x 以外ではソースからセットアップ 依存物(OpenRTM-aist、omniORB)があるのでちょっとめんどくさい。 2012-11-02 DAQミドルウェアトレーニングコース

ドキュメンテーション DAQ-Middleware 1.1.0 技術解説書 http://daqmw.kek.jp/docs/DAQ-Middleware-1.1.0-Tech.pdf DAQ-Middleware 1.2.0開発マニュアル http://daqmw.kek.jp/docs/DAQ-Middleware-1.2.0-DevManual.pdf 2012-11-02 DAQミドルウェアトレーニングコース

DAQ-Middlewareトレーニングコース 毎年夏に開催 今年はKEK外でも開催 11月2日~4日 大阪大学核物理研究センター 2012-11-02 DAQミドルウェアトレーニングコース

ホームページ、サポート http://daqmw.kek.jp/ サポートメールアドレス 2012-11-02 DAQミドルウェアトレーニングコース

最近行っているセンサーテストでの構成 /dev/shm/logs/ Disk SiTCP module SitcpAdcReader SitcpAdcMonitor SitcpAdcCopyer /dev/shm/logs/ Disk 2012-11-02 DAQミドルウェアトレーニングコース

ROOTでヒストグラムモード 1回の読み出しで4096チャンネル分のデータがくるセンサーのテスト実験 イベントデータとして保存する必要はない 4096個のROOT TH1Fヒストグラムを作成(ヒストグラムモードでデータ収集) メモリー上にヒストグラムデータがあるので停電すると消える ときどきディスクに書きだすか 2012-11-02 DAQミドルウェアトレーニングコース

ROOT TFile ヒストグラムデータの保存にROOTファイルを使う root -l adc_1234.root root> ADC_1234->Draw()でヒストグラムが書ける ファイルサイズを一定にするためにはhistogram.Write("", TObject::kOverwrite) する必要がある kOverwriteを指定するとWrite()のたびにfsyncする SL 6.2 ext4ファイルシステムではfsyncに30ミリ秒程度かかる 2012-11-02 DAQミドルウェアトレーニングコース

ROOT fsync 1個のヒストグラムを書くのに0.1秒程度かかる。 4096個のヒストグラムだと400秒 % strace -o fsync.log -tt -T ./sample % grep fsync fsync.log 15:01:40.569934 fsync(7) = 0 <0.039274> 15:01:40.609934 fsync(7) = 0 <0.032640> 15:01:40.643034 fsync(7) = 0 <0.032965> 1個のヒストグラムを書くのに0.1秒程度かかる。 4096個のヒストグラムだと400秒 2012-11-02 DAQミドルウェアトレーニングコース

回避方法 当座の回避方法としてディスクにかかずに/dev/shm/ (tmpfs) に書く。 停電になると消える(振り出しにもどる) tmpfs: swap領域でバックアップされたメモリー上のファイルシステム。 システムのメモリーがひっ迫してくると/dev/shm/に置いたファイルはswap領域に退避させられ、メモリーを必要としているプロセスにまわされる。 tmpfsなら450マイクロ秒で書ける 停電になると消える(振り出しにもどる) ときどき/dev/shm/に書いたROOTファイルをディスクに書くDAQコンポーネントを作成 2012-11-02 DAQミドルウェアトレーニングコース