e16実験へのdaq-middlewareの応用 · e16実験へのdaq-middlewareの応用 ... •...
TRANSCRIPT
E16実験へのDAQ-Middlewareの応用
濱田英太郎,田中真伸, 内田智久, 池野正弘, 千代浩司, 四日市悟A, 小沢恭一郎,
森野雄平A, 高橋智則A, 中井恒BA, 川間大介A, 小原裕貴B
KEK素核研, 理研A, 東大理B
2014/3/30 日本物理学会 1
目次
・E16実験について
・DAQ-Middlewareについて
・作成したプロトタイプの紹介– 概要
– 2つの特徴
– DAQ性能
・まとめ
2014/3/30 日本物理学会 2
E16実験
2014/3/30 日本物理学会 3
• 茨城県東海村 J-PARCハドロン実験施設で開始予定
• ベクトル中間子の質量変化現象を高統計・高分解能で測定
自分の担当
2014/3/30 日本物理学会 4
Tracker
HBDGas Cherenkov
APV25-hybrd
SRS ADC+FECSRS SRU
3“ PMT
Belle2 UT-3
Belle2 FTSWor
alternative
GEM
LeadglassEMCAL
Junction box
Network switch
DAQ PC
LG-FEM
Shaper + FADC
Discri + DRS4
~1000 ch
~96000 ch (56000+40000)
TRG-ADTX(ASD)
TRG-MRG(MUX, GTX)
SRS CTF
SRS SRU
SRS CTF
Data flow
Trigger primitive
Global clock, global trigger
CERN RD51 SRS
DTC-LINK
DTC-LINK
450MB/s
DAQ-Middlewareを用いて、データ収集、保存、解析を行なうソフトウェアを作成
DAQ-Middleware ネットワーク分散
2014/3/30 日本物理学会 5
DaqOperator
ネットワーク分散分散して配置されたノード同士が連携して通信するネットワークを形成
PC1 PC2 PC3
PC4
E16実験 DAQソフトウェア開発状況
2014/3/30 日本物理学会 6
DaqOperator
• PC1台を用いて構成されるプロトタイプを作成、評価
• プロトタイプを利用して、全体の構築を行なっていく
E16実験用プロトタイプ 概要
• Gatherer :複数のリードアウトモジュールからデータを読み込み
• Dispacher :Gathererから受け取ったデータを、LoggerとMonitorに送信
• Logger :全データをPCのハードディスクに保存
• Monitor : 一定期間ごとにデータをモニタリング
2014/3/30 日本物理学会 7
Dispatcher
Logger
Gatherer
Monitor
PC
・・・
平均 最大値1イベントあたりのデータサイズ 14kB 45kBトリガーレート 1kHz 2kHz
1リードアウトモジュールから送られるデータ
特徴1 リングバッファの拡大
リングバッファを大きくする(最新の追加機能)
HD書き込みのレイテンシの問題を解決
2014/3/30 日本物理学会 8
Dispatcher
Logger
Gatherer
Monitor
PC
・・・
①受信したデータは、リングバッファに格納
②プログラムがバッファからデータを取得
Loggerコンポーネントでリングバッファが小さい場合①ハードディスクの書き込みにレイテンシが発生するときがある(しばらく書き込めない)
②書きこめない間、処理が進まない
③リングバッファにデータが溜まっていき、あふれてしまうことがある
④ソフトウェア全体が適切に動作しない
2014/3/30 日本物理学会 9
Dispatcher
Logger
Gatherer
Monitor
1event1イベントごとに次のコンポーネントへ送る→オーバヘッド大きい
200KB 200KBたまったら次のコンポーネントへ送る→オーバヘッド小さい
特徴2 コンポーネント間通信処理オーバヘッドの軽減
オーバヘッドコンポーネント間でのデータのやり取りを行なう際の転送以外の処理多いとDAQ性能の低下につながる
影響を小さくする方法 コンポーネント間のデータのやり取りを少なくするデータをまとめる
PC
(DAQ PC)CPU Intel(R) Xeon(R)
X5650 @ 2.67GHz
6コアMemory 24GB
OS Scientific Linux 6.4
DAQ-MW
DAQ性能
2014/3/30 日本物理学会 10
PC
(エミュレータ)
テスト環境
平均 最大値1イベントあたりのデータサイズ 14kB 45kBトリガーレート 1kHz 2kHz
テスト方法エミュレータPCからDAQ PCにテストデータを送信
送ったデータの転送速度とプロトタイプの処理速度を比較
1リードアウトモジュールから送られるデータ
PC
(DAQ PC)CPU Intel(R) Xeon(R)
X5650 @ 2.67GHz
6コアMemory 24GB
OS Scientific Linux 6.4
DAQ-MW
DAQ性能
2014/3/30 日本物理学会 11
PC
(エミュレータ)
テスト環境
テスト結果
2kHzまで、プロトタイプは送られたデータ全てを処理している
平均 最大値1イベントあたりのデータサイズ 14kB 45kBトリガーレート 1kHz 2kHz
1リードアウトモジュールから送られるデータ
PC
(DAQ PC)CPU Intel(R) Xeon(R)
X5650 @ 2.67GHz
6コアMemory 24GB
OS Scientific Linux 6.4
DAQ-MW
DAQ性能
2014/3/30 日本物理学会 12
PC
(エミュレータ)
テスト環境
テスト結果
平均 最大値1イベントあたりのデータサイズ 14kB 45kBトリガーレート 1kHz 2kHz
1リードアウトモジュールから送られるデータ
2kHzまで、プロトタイプは送られたデータ全てを処理している
まとめ
• E16実験DAQのソフトウェアを開発
現在は、1PCで動くプロトタイプを作成
• E16実験用プロトタイプ
特徴
– リングバッファの拡大
– コンポーネント間通信処理オーバヘッドの軽減
性能
– リードアウトモジュール1台の場合、実験の想定された性能を満たしている
• 今後の予定– 多くのエミュレータを用意した場合のテスト
– プロトタイプを用いて、システム全体の設計を行なっていく
2014/3/30 日本物理学会 13
Backup
2014/3/30 日本物理学会 14
PC
(DAQ PC)CPU Intel(R) Xeon(R)
X5650 @ 2.67GHz
6コアMemory 24GB
OS Scientific Linux 6.4
DAQ-MW
DAQ性能
2014/3/30 日本物理学会 15
PC
(エミュレータ)
テスト環境
平均 最大値1イベントあたりのデータサイズ 14kB 45kBトリガーレート 1kHz 2kHz
DAQ PCに求められる性能 テスト結果
PC
(エミュレータ)
2kHzまで、プロトタイプは送られたデータ全てを処理している
スケーラブルの変化ではない
Gathererコンポーネントをが1
つのCPUコアで処理されているから
コンポーネントの考えている構成
2014/3/30 日本物理学会 16
Dispatcher
Logger
Gatherer
Monitor
PC
・・・
今
Gatherコンポーネントを1つのCPUコアで処理を行なっている(2つ以上のモジュールを読む場合でも) Dispatcher
Logger
Gatherer Monitor
PC
考えている構成
Gatherコンポーネントを1つのCPUコアで処理を行なっている(2つ以上のモジュールを読む場合でも)
全テスト結果
2014/3/30 日本物理学会 17
PC使用率
TOPコマンドを用いて、GathererコンポーネントのCPU使用率を取得
trigger rateをあがるにつれてCPU
使用率も上昇
1イベントあたりのデータ量が上がるにつれてCPU使用率も上昇
2014/3/30 日本物理学会 18
0
20
40
60
80
100
120
0 1000 2000 3000 4000
CP
U使用率
[%]
trigger rate [Hz]
45kB x 1
14kB x 1
3.3kB x 1
14kB x 2
3.3kB x 2
overhead 性能テスト
2014/3/30 日本物理学会 19
1イベントあたりのデータ量14kBの場合
PCCPU Intel(R) Xeon(R)
X5650 @ 2.67GHz
6コアMemory 24GB
OS Scientific Linux 6.4
DAQ-MW
DAQ性能
• 1イベントのデータを16回かけて送信
• 実験では、1kHz~2kHz
この間では、問題ない
• 2modulesにすると、性能が落ちる
Gatherが1コアで処理を行なって
いるから
2014/3/30 日本物理学会 20
PC
(エミュレータ)
テスト環境
4components
Source
Dispacher
Sink
Sink
の4つのコンポーネント
SourceはDispacherに、データを送ります。
Dispacherは、exampleと変わっていません。2つのSinkにデータを送ります。
Source,Sinkは千代さんが以前、性能テストで
使ったコンポーネントと同じことを行なっています。
各BufferSizeを5分間測定したときの結果です。 0
50
100
150
200
250
300
350
0 500 1000 1500 2000 2500
(MB
/s)
Buffer size(kB)
4components
Source
Dispacher
Sink
Sink
の4つのコンポーネント
SourceはDispacherに、データを送ります。
Dispacherは、exampleと変わっていません。2つのSinkにデータを送ります。
Source,Sinkは千代さんが以前、性能テストで使ったコンポーネントと同じことを行なっています。
各BufferSizeを30分間測定したときの結果です。
これを5回行ないました。
(色の違いは、何回目に測定したか、です)
30分測定こともあり、ほとんど色にばらつきはありません
この結果より、このコンポーネントの組み合わせの場合、最大約340MB/sのスループットで処理できることが分かりました。
200
220
240
260
280
300
320
340
0 200 400 600
(MB
/s)
Buffer size(kB)