データ記録システム CSL

17
デデデデデデデデデ CSL デデデデデデデ デデデデデ デデデデ デデデデデデデデ デデ デ デデデデ デデ デ デデ 2007 731@ Fermilab

description

データ記録システム CSL. 宇宙史拠点実習 最終報告会 筑波大学 素粒子実験研究室 修士2年 山崎秀樹 2007年 7月31日@ Fermilab. Contents. Introduction CSL system Archiving of log files in CSL nodes Making Calibration CSL Monitor. DAQ system of CDF. CDF Detectorで起こるEvent Rateは 膨大なので、Triggerをかけ、Event Rateを下げる。 - PowerPoint PPT Presentation

Transcript of データ記録システム CSL

Page 1: データ記録システム CSL

データ記録システム CSL

宇宙史拠点実習 最終報告会

筑波大学 素粒子実験研究室 修士2年 山崎秀樹

2007年 7月31日@ Fermilab

Page 2: データ記録システム CSL

Contents

Introduction CSL system Archiving of log files in CSL nodes Making Calibration CSL Monitor

Page 3: データ記録システム CSL

Upto 80MB/s

Current:〰 10MB/s

DAQ system of CDF

CDF Detectorで起こる Event Rateは膨大なので、 Triggerをかけ、 Event Rateを下げる。Rateが下げられた Event dataは CSL(Consumer-Server/Logger ) に流れ、 FCC( Feynman Conputing Center)に渡され、 tapeに保存される

Page 4: データ記録システム CSL

CSL system

FCC(Feynman computing Center)

CSL(Consumer-Server/Logger ) CDF 実験におけるデータの輸送と記録係

多数のサーバーとネットワークスイッチ、記録装置より構成される処理系

logger

Page 5: データ記録システム CSL

CSL Monitor Smart Sockets

CSLの主要な機能実際に Detectorで起こった

Event dataの輸送各 nodesの情

報、 Error情報の監視(Monitoring )

CSL Monitor系

なぜMonitoringが必要か? CSLが正常に data takingをしているか把握でき

今回、Monitoring系の整 備、改良を行った

Page 6: データ記録システム CSL

Monitoring系の整備、改良 Motivation

CSL systemにおける各マシンの情報、またその履歴、 Error Massageの取得、表示をした

い CSLにおけるMonitoringの方法 GUI Monitor History Log files Error Messge の調査

Page 7: データ記録システム CSL

Receiverと Logger

CSLの data輸送は Receiverと Loggerに大別される

Receiver nodes(1台と spare) Level 3 trigger を通った Event dataはReceiver で分類されて Loggerに渡さ

れ、 その一部はconsumer →に渡される 最後には FCCに渡される

Logger nodes(8台と spare) Receiver から渡された Event dataを log し、 diskにバッファし、 FCC(Feynman Conputing Center)に渡され、 tape に保存される

Page 8: データ記録システム CSL

Archiving of log files in CSL nodes

Loggerと Receiver用の Scriptを作り各 Spare nodeでテストし、成功

実際に dataをとっている CSL nodeの一部でもテストした

各 nodeのディスクに Log fileがたまり続けているdiskの容量を圧迫しているLog fileの数も膨大になる

定期的に Log file をアーカイブし、圧縮することで整理しやすくする

60日たった Fileを Zip、アーカイブにまとめる

Perl Scriptで記述

定期的に Scriptを走らせるため、各 nodeの crontab に Perl scriptを登録し、またテストも行った

問題点

Page 9: データ記録システム CSL

Summary (Archiving of logfile)

Log fileを archieveするための Perl Scriptを用意し、テストしたところ無事 archiveが実行でき

たCrontabに Logger用と Receiver用の Perl Scriptを登録し、問題が発生することなく定期的に Log fileを archiveすることが出来るようになった

Page 10: データ記録システム CSL

CSL Monitor Smart Sockets

CSL Monitorでは receiverがMessage(nodeの運転状況 )をSmartSockets経由で、 Java Clientである CSLMonに流

す 各 nodeの情報を CSLMonに渡す経路は、 Cronを通してnodeの statusや履歴情報を渡す経路と、 SmartSocketsを通して nodeの運転状況をリアル

タイムで渡す経路がある

Page 11: データ記録システム CSL

Main CSL と Calibration CSL CDFでは2種類の CSL systemを切り替えて使っているMain CSLでは Detectorで起こっている Event Dataを流している

Calibration CSLでは Event の Calibration dataを 流す

Calibration CSLには Logger Nodeがなく、全データを Consumerに渡してい

るconsumer

receiver

logger

receiverconsumer

Main CSL Calibration CSLMain

Calib

Page 12: データ記録システム CSL

Calib CSL Monitorの作成Motivation

Calib CSL の GUI Monitorは現在存在しない Nodeの情報(緊急Message等、Monitorがあればすぐさま欲し

い情報)を取得、表示したい Calibration中の異常を検知し、即座に run controlに通知するその際 GUIなら、目で確認出来るので便利

実装にあたっての問題点 Calib CSL の GUI Monitor用のmessage を送る仕組みが出来ていない

また、そのmessage を受け取る仕組みも出来ていな い

Mainと Calibは元々同じ code Mainの SmartSocketsインターフェースを Calibに移

植→

Error HandlerにMessageを送ることや、 GUI Monitor等が同じインターフェースで使えて便利

Page 13: データ記録システム CSL

実装にあたっての手順目的

Main CSL の dataを catchするMonitorの GUI インターフェースを製作する

手順 Messageを経由してい

るSmart Socketsに関して理解す

る Messageの受け手側のコー

ド (CSLMon.java)を理解

し、書き換えを行う不要な情

報 (Logger Nodeのマシン情報など )を削る

Messageの送り手側のコー ド (CSL_mon_send.C)

を理解し、 書き換えを行う Main CSLの codeを参考

に、 Messageを送るように変更

Page 14: データ記録システム CSL

GUI Monitorの主要な code

CslMon.java 無限 roopをまわ

し、 表示する情報の update を行っているMonpage.java Frame にボタンやパネル等を実装しているLoggerMon.java Logger nodeの情報について定義してい

るDataInThread.java SmartSocketsに関するオブジェクトを呼び出して、どの Serverにつなぐか定義し、 Streamから読み込んだMessageを Boxに格納しているDefs.java Logger、 Receiverの nodeの数の定義や、表示される情報のNaming等をしている

GUI Monitorは多くの codeから成り立っているが、主要な codeとしては ...

Page 15: データ記録システム CSL

GUI Monitorの作成Main Monitorの構造とインターフェース(SmartSockets)を流用する不要な情報を cutする

Receiver の Spare node → CSLMon.java、Monpage.java 、

Logger nodeの情 報

Selbutton の部分

→ Monpage.java Diskで Buffer している割合を表示する箇所

→ LoggerMon.java

結果Calibration CSL用の GUI Monitorが完成した↓ これから実際に立ち上げてみます

Page 16: データ記録システム CSL

Summary (CalibCSL GUI monitor)

実装部分 Calibration CSL用の GUI Monitorのプロトタイ

プは完成した未実装部分 Server側から Calibration CSLの nodeの情報 (運転状況 )を GUI Monitor側に送っていな

↓いTo Do

Dummyな L3環境を作る Standalone(実際に稼動している nodeとは独立 )な

nodeを用意する 問題点 Receiverの Spare nodeがテストに使えそうだが、これはMain CSLとは完全に切り離されてるわけでないので、おいそれとテスト出来ない

CSL_mon_send.cの書き換え

Page 17: データ記録システム CSL

SummaryCDF 実験 CSL systemのMonitor系の整備、改良を行った Log fileを Archiveする Perl Scriptを用意、 crontabに Perl Scriptを登録し、定期的に archiveが出来るようになった

Calibration CSL の GUI Monitorのプロトタイプの製作を行った

Server側からのMessageの送り出し部分を実装すれば Calibration CSLのMonitoringが出来る