Presentation is loading. Please wait.

Presentation is loading. Please wait.

PC-LinuxとROOTを用いたCAMACデータ収集システム開発

Similar presentations


Presentation on theme: "PC-LinuxとROOTを用いたCAMACデータ収集システム開発"— Presentation transcript:

1 PC-LinuxとROOTを用いたCAMACデータ収集システム開発
2018/9/18 PC-LinuxとROOTを用いたCAMACデータ収集システム開発 Version b 14   筑波大学 第一学群 自然学類 物理学専攻      黒木 善昭 指導教官 三明 康郎          江角 晋一 [目次] 開発目的 開発結果 性能評価・運用 まとめ 只今より “PC-LinuxとROOTを用いたCAMACデータ収集システム開発”について 黒木 善昭 が発表を行います。 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

2 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 データ収集システム 高エネルギー原子核実験において イベントは 非同期的に大量に発生 高速に取り扱うため エレクトロニクス コンピュータ 実験の流れは 測定 結果 考察 測定 効率の良い測定のため 迅速かつ適切な フィードバック 初めにデータ収集システムに求められる性能について考えてみると、 高エネルギー原子核実験においては、イベントは非同期に大量に発生し、 さらに高速にとり扱う必要があります。 例として昨年行われたテスト実験を上げると 30event/secでEventが発生し、1Eventにつき18wordsのデータを読み出してきます。 この場合、1秒間に1Kbytesのデータを処理する必要がでてきます。 そのため、エレクトロニクスやコンピュータなどを使用して測定は行われており、 // 測定で得られるデータの量や質はそれらの性能に大きな影響を受けてしまいます。そのため、 データ収集システムに求められる性能の一つとして、1秒当たりに測定可能なデータのbyte数によってあらわされる“データ収集性能”が上げられます。 しかし、これは既存のシステムでも十分な性能があります。 対して、実験の流れは、測定・結果・考察・測定といった流れになっています。そのため、効率の良い測定をおこなうためには、迅速かつ適切なフィードバックが必要となってきます。 “データ収集性能”と比べ数値での表現が難しいため、 イベント毎に測定できたデータから目的の量を得るまでの人間が行う作業量を比較のための量とし、“作業効率”と呼ぶことにします。 そしてまた、これには十分な改良の余地が残っているといえます。 作業能率 イベント毎に 目的の量を得るまでの作業量 改良の余地あり データ収集性能 毎秒測定可能なbyte数 既存のシステムでも 十分な性能がある 30 event/sec 20 words T479 KEK 12GeV PS 1200 byte/sec Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

3 Data Acquisition system
2018/9/18 本研究の目的 データ収集システムの開発 DAQ Data Acquisition system データ収集性能 作業能率 100HzのEvent Rateにおいて 18wordsのデータを 測定可能程度 オンライン測定 オフライン解析 数コマンドで可能程度 そこで、本研究の目的としては 我々のグループ典型的な例である 100HzのEvent Rateにおいて18wordsのデータを測定可能なデータ収集性能と オンライン測定とオフライン解析が数コマンドで可能な作業効率 を持ち合わせたデータ収集システムの開発 としました。 (1words = 16bits) Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

4 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 作業能率の向上のために CAMAC Linux 互換性・保守性 拡張性・柔軟性 世界標準規格 Computer独立性 オンライン測定 豊富な資源・環境 マルチタスク UNIX互換OS CAMAC ROOTマクロ 解析・表示 hix# hix#root l.C 保存 Ntuple (ROOT) オンライン Network ネットワーク 共有メモリ メモリ管理 バッファ デバイス ドライバ エレクトロニクス PC・OS でははじめに、作業能率の向上について考えていきます。 本研究のデータ収集システムはCAMACとPCを用いた構成となっています。 そのOSとしてLinuxを使用しまた。 これらを使用したシステムは右のようなメリットを持ち、既に開発は行われています。 一方、強力なデータ解析用ツールである ROOTを用いたシステムの開発は行われてはいませんでした。 しかし、ROOTの持つメリットを考慮するとこれを用いてシステムの開発によって 作業能率の向上が期待されますので、 本研究では既存のものに加え、このROOTを付加したシステムの開発を 行うことにしました。 ここで、開発後のデータストリームはこのようになり 本研究でオレンジ色のプロセスを開発することにより、 CAMACからのデータはスムーズにROOTまで送ることが可能となりました。 ROOT 解析ソフト OS親和性 オブジェクト指向 C++ より高度な汎用性、拡張性 1コマンドで可能 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

5 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 開発結果 初期設定 ステータスが表示 (カウント数等) クリック ROOTでの解析 スタンドアローンでオンライン測定・解析可能 もちろんオフラインも可能 数コマンドで実行可能 作業能率の向上 オンライン表示 TDC・ADC分布 (18words) より複雑な解析可能 クリック 初期設定 解析マクロ実行 マクロの実行 $ root macro.C 時間分解能 Fittingも もちろん可能 測定開始 Run No 測定Event数 このウィンドに 入力 クリック 測定開始 Run No 測定Event数 オンライン表示 解析マクロ実行 次に開発結果として、 測定の一例を上げて、 必要となる作業量について見ていきたいと思います。 まず、このようなLinuxのデスクトップ上に各コマンドの実行ボタンがあり、 測定を開始する際には、 初期設定、測定開始、RunNo.、測定Event数を入力しさえすれば測定は開始されます。 測定中、測定終了後にデータを見たい場合は、 オンライ表示を押し、あらかじめ設定してある形式でグラフを表示させることができます。 最後に目的の量、例では時間分解可能を得るための解析マクロを実行すると このように統計処理・Fiitingなどを行った結果が瞬時に出てきます。 以上のようにROOTでの解析、測定全体の実行も数コマンドで 可能となり、 このため、作業能率の向上がはかれました。 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

6 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 性能評価 デバイス ドライバ メモリ 管理 保存 バッファ 共有 Ntuple Pulser オシロ Discriminator Interrupt Register Output Register Crate Controller データ収集性能 書き込み処理性能 [byte/sec] ドライバの 割り込み処理性能 20 40 60 80 100 10 1000 4 5 データ書き込み効率[%] Event Rate[Hz] 2 words 18 Nwrite Nread データ書き込み効率 = Nread /Nwrite 97%の時の Event Rate データ書き込み 効率 Rate × 書き込み処理性能 2×Words ドライバが行うCAMAC操作 この所要時間を 割り込み処理時間 100μs ~ 100ms 1000 2000 3000 4000 5000 6000 200 400 600 800 Word数 割り込み処理時[μsec] Output Resistor Pulser Discriminator 15ns 400ns 20ns 20μs ~ 20ms 2×Words ドライバの 割り込み処理性能 .6×Words [μ sec] では、次はデータ収集性能について考えてみたいと思います。 ここで、このシステムがバッファを使用しているために全体のデータ収集性能を評価するために CAMACからバッファまでの性能とバッファからDisk I/Oまでの性能とに分けて評価する必要がありました。ここで、その二つを“ドライバの割り込み処理性能” と“ディスク割り込み処理性能”と呼ぶこととします。 では初めに“ドライバの割り込み処理性能”を見てゆくと、 その評価法としては入力シグナルが入り、ドライバがCAMAC操作を終了したあと、OUTPUT-REGからシグナルを出力するまでの所要時間をデバイスドライバの割り込み処理時間とし、 これをオシロを用いて測定した結果がこのようなグラフになります。 横軸はワード数、縦軸は割り込み時間μsecです。 この結果を用いてこのような式によりドライバの割り込み処理性能を求めました。 次に“ディスクへのデータ書き込み性能”の評価法は ドライバとDisk I/O部分のプロセスが処理を行ったEvent数を比較しその効率を求めます。 測定結果はこのようになり、横軸Event Rate Hz、縦軸データ書き込み効率 %となります。 効率が97%となる時のEvent Rateを用いて このような式から“ドライバの割り込み処理性能”を求めました。 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

7 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 データ収集性能 50 100 150 200 250 300 350 400 600 800 1000 割り込み処理 書き込み処理 割り込み処理 346.0±3.0kB/s 書き込み処理 96.1±0.7kB/s データ収集性能[kbyte/sec] そして、これら二つの結果を用いて得られたデータ収集性能はこのようになりました。 横軸がword数、縦軸がデータ収集性能、単位は[kB/sec]です。 緑がドライバの割り込み処理性能、 青がディスクへの書き込み処理性能です。 50ワード以降のプラトー領域の平均値を計算しますと、 割り込み処理性能、346kB/sec   書き込み処理性能、96kB/sec となり書き込み処理性能が1/3ほど悪い結果となっています。 // しかし、バッファを使用しているためイベントが時間的に連続発生していなければ、 // 処理を先送りすることができ結果的により多くのデータを収集することは可能です。 // 例えば100word/spill、spill=1sec、acc=3secと言った場合はスピルの起こっている間だけを // 考えるなら100Hz相当ですが、spillとaccの両方を考えると20Hzとなります。 // このように共有メモリにより性能の向上が行えます。 // 瞬間的には約350kB/s、Eventの発生しない時間も考慮しておくと これより、システムの総合的な収集性能を考えると より悪い方に引きずられますので、91kB/secとなります。 データ収集性能 96.1±0.7kB/s Word数 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

8 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 運用 KEK 12Gev PS T1 30 event/sec 18 words 2週間 実験 T479 データ書き込み効率 Disk Write :100% Online:98.2±0.7% (総測定数 2,424,000) 1.2 k byte/sec 最後に、昨年行われたテスト実験の運用結果を示します。 この時のトリガーRateは30event/sec。 また、1トリガーに対し18wordsのデータを呼び出していたので、 システムに求められる性能としては1kB/sとなり、これは十分測定可能な値でした。 実験は2週間行われ、その期間中に242万カウントのEventが測定されましたが、 これのデータ書き込み効率は100%でした。 また、オンラインモニタについても98.2%の効率を得ることができました。 (なお、後で発表を行うsakai、団村両名の測定はこの収集システムを使用し測定されています。) Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

9 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 まとめ Linux上で動作しROOTを使用した 高い作業能率を持ったDAQの開発を行え さらにその測定性能評価を行い 96.1±0.7kB/sのデータ収集性能を 持つことが分かった Linux上で動作しROOTを使用した 高い作業能率を持ったDAQの開発を行え さらにその測定性能評価を行い 96.1±0.7kB/sのデータ収集性能を 持つことが分かった Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

10 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

11 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 データ収集システム0 高エネルギー原子核実験において イベントは 非同期的に大量に発生 高速に取り扱うため エレクトロニクス コンピュータ 実験の流れは 測定 結果 考察 測定 効率の良い測定のため 迅速かつ適切な フィードバック 初めにデータ収集システムに求められる性能について説明を行いたいとおもいます。 高エネルギー原子核実験においては、イベントは非同期に大量に発生し、 さらに高速にとり扱う必要があります。 例としてKEK 12 GeV PSで行われた実験を上げると 30event/secでEventが発生し、1Eventにつき18wordsのデータを読み出してきます。 この場合、1秒間に1.2Kbytesのデータを処理する必要がでてきます。 そのため、エレクトロニクスやコンピュータなどを使用して測定は行われており、測定で得られるデータの量や質はそれらの性能に大きな影響を受けてしまいます。そのため、データ収集システムに求められる性能の一つとして、1秒当たりに測定可能なデータのbyte数によって表現することのできる“データ収集性能”が上げられます。 しかし、これは既存のシステムでも十分な性能があります。 対して、実験の流れは、測定・結果・考察・測定といった流れになっています。そのため、効率の良い測定をおこなうためには、迅速かつ適切なフィードバックが必要となってきます。“データ収集性能”と比べ数値での表現が難しいため、イベント毎に測定できたデータから目的の量を得るまでの人間が行う作業量を比較のための量とし、“作業効率”と定義しておきたいと思います。そしてまた、これには十分な改良の余地が残っているといえます。 30 event/sec 20 words T479 KEK 12GeV PS 1200 byte/sec Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

12 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 データ収集システム1 高エネルギー原子核実験において イベントは 非同期的に大量に発生 高速に取り扱うため エレクトロニクス コンピュータ 実験の流れは 測定 結果 考察 測定 効率の良い測定のため 迅速かつ適切な フィードバック 初めにデータ収集システムに求められる性能について説明を行いたいとおもいます。 高エネルギー原子核実験においては、イベントは非同期に大量に発生し、 さらに高速にとり扱う必要があります。 例としてKEK 12 GeV PSで行われた実験を上げると 30event/secでEventが発生し、1Eventにつき18wordsのデータを読み出してきます。 この場合、1秒間に1.2Kbytesのデータを処理する必要がでてきます。 そのため、エレクトロニクスやコンピュータなどを使用して測定は行われており、測定で得られるデータの量や質はそれらの性能に大きな影響を受けてしまいます。そのため、データ収集システムに求められる性能の一つとして、1秒当たりに測定可能なデータのbyte数によって表現することのできる“データ収集性能”が上げられます。 しかし、これは既存のシステムでも十分な性能があります。 対して、実験の流れは、測定・結果・考察・測定といった流れになっています。そのため、効率の良い測定をおこなうためには、迅速かつ適切なフィードバックが必要となってきます。“データ収集性能”と比べ数値での表現が難しいため、イベント毎に測定できたデータから目的の量を得るまでの人間が行う作業量を比較のための量とし、“作業効率”と定義しておきたいと思います。そしてまた、これには十分な改良の余地が残っているといえます。 作業能率 イベント毎に 目的の量を得るまでの作業量 改良の余地あり データ収集性能 毎秒測定可能なbyte数 既存のシステムでも 十分な性能がある Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

13 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 作業能率の向上のために0 CAMAC Linux 互換性・保守性 拡張性・柔軟性 世界標準規格 Computer独立性 オンライン測定 豊富な資源・環境 マルチタスク UNIX互換OS エレクトロニクス PC・OS まず、CAMACとは Computerと制御・測定系間の情報交換方法についてのハード及びソフトにおける規格のことを指し、Computer Automated measurement And Control の略です。 世界的な標準規格であるとゆうことと、Computer独立性を持ち合わせることから、互換性・保守性・拡張性・柔軟性というメリットを持っています。 また、Linuxとは 自由に再配布することのできる、 独立した Unix 互換オペレーティングシステムのことを指し、 このことは、マルチタスク機能を持つためにオンライン測定に向いたOSであるといえるだけでなく、UNIXの豊富な資源と環境を利用できるとうい利点もあります。 さらに、ROOTとは データ解析用ライブラリの枠組みのことを指し、その開発言語にはC++が採用されています。そのため、Cで書かれることの多いOSに対して高い親和性を持ち、C++の持つオブジェクト指向性はより複雑で高度な処理を可能としています。 このような、それぞれのメリットを持ち合わせることにより システム全体として高度な汎用性と拡張性を持つことが可能となりました。 ROOT 解析ソフト OS親和性 オブジェクト指向 C++ より高度な汎用性、拡張性 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

14 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 作業能率の向上のために1 CAMAC Linux CAMAC エレクトロニクス デバイス ドライバ メモリ管理 バッファ PC・OS 共有メモリ 保存 オンライン ネットワーク まず、CAMACとは Computerと制御・測定系間の情報交換方法についてのハード及びソフトにおける規格のことを指し、Computer Automated measurement And Control の略です。 世界的な標準規格であるとゆうことと、Computer独立性を持ち合わせることから、互換性・保守性・拡張性・柔軟性というメリットを持っています。 また、Linuxとは 自由に再配布することのできる、 独立した Unix 互換オペレーティングシステムのことを指し、 このことは、マルチタスク機能を持つためにオンライン測定に向いたOSであるといえるだけでなく、UNIXの豊富な資源と環境を利用できるとうい利点もあります。 さらに、ROOTとは データ解析用ライブラリの枠組みのことを指し、その開発言語にはC++が採用されています。そのため、Cで書かれることの多いOSに対して高い親和性を持ち、C++の持つオブジェクト指向性はより複雑で高度な処理を可能としています。 このような、それぞれのメリットを持ち合わせることにより システム全体として高度な汎用性と拡張性を持つことが可能となりました。 ROOT 解析ソフト Ntuple Network hix# hix#root l.C 1コマンドで可能 ROOTマクロ 解析・表示 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

15 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 開発結果0 初期設定 測定開始 Run No 測定Event数 オンライン表示 解析マクロ実行 また、実際に測定を行う際に必要となる作業量の例をここで上げたいと思います。 まず、このようなLinux・Genomeのデスクトップ上にこのように初期設定・測定開始・測定終了・オンライン表示のパネルボタンが作られており、 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

16 Y.Kuroki @ Univ. of Tsukuba
開発結果1 初期設定 ステータスが表示 (カウント数等) クリック Univ. of Tsukuba 2018/9/18

17 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 開発結果2 測定開始 Run No 測定Event数 このウィンドに 入力 クリック Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

18 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 開発結果3 オンライン表示 TDC・ADC分布 (18words) より複雑な解析可能 クリック Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

19 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 開発結果4 解析マクロ実行 マクロの実行 $ root macro.C 時間分解能 Fittingも もちろん可能 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

20 Y.Kuroki @ Univ. of Tsukuba
2018/9/18 開発結果5 ROOTでの解析 スタンドアローンでオンライン測定・解析可能 もちろんオフラインも可能 数コマンドで実行可能 作業能率の向上 また、実際に測定を行う際に必要となる作業量の例をここで上げたいと思います。 まず、このようなLinux・Genomeのデスクトップ上にこのように初期設定・測定開始・測定終了・オンライン表示のパネルボタンが作られており、 Univ. of Tsukuba 2018/9/18 Univ. of Tsukuba

21 Y.Kuroki @ Univ. of Tsukuba
性能評価0 デバイス ドライバ メモリ 管理 保存 バッファ 共有 Ntuple Pulser オシロ Discriminator Interrupt Register Output Register Crate Controller データ収集性能 書き込み処理性能 [byte/sec] ドライバの 割り込み処理性能 Univ. of Tsukuba 2018/9/18

22 Y.Kuroki @ Univ. of Tsukuba
性能評価1 デバイス ドライバ メモリ 管理 保存 バッファ 共有 Ntuple Pulser オシロ Discriminator Interrupt Register Output Register Crate Controller ドライバが行うCAMAC操作 この所要時間を 割り込み処理時間 100μs ~ 100ms 1000 2000 3000 4000 5000 6000 200 400 600 800 Word数 割り込み処理時[μsec] Output Resistor Pulser Discriminator 15ns 400ns 20ns 20μs ~ 20ms 2×Words ドライバの 割り込み処理性能 .6×Words [μ sec] Univ. of Tsukuba 2018/9/18

23 Y.Kuroki @ Univ. of Tsukuba
性能評価2 デバイス ドライバ メモリ 管理 保存 バッファ 共有 Ntuple Pulser オシロ Discriminator Interrupt Register Output Register Crate Controller 20 40 60 80 100 10 1000 4 5 データ書き込み効率[%] Event Rate[Hz] 2 words 18 Nwrite Nread データ書き込み効率 = Nread /Nwrite 97%の時の Event Rate データ書き込み 効率 Rate × 書き込み処理性能 2×Words Univ. of Tsukuba 2018/9/18

24 Y.Kuroki @ Univ. of Tsukuba
Timing Output Resistor Pulser Discriminator 100μs ~ 100ms 15ns 400ns 20ns 20μs ~ 20ms Univ. of Tsukuba 2018/9/18


Download ppt "PC-LinuxとROOTを用いたCAMACデータ収集システム開発"

Similar presentations


Ads by Google