データ記録システム CSL
-
Upload
odysseus-patton -
Category
Documents
-
view
28 -
download
2
description
Transcript of データ記録システム CSL
データ記録システム CSL
宇宙史拠点実習 最終報告会
筑波大学 素粒子実験研究室 修士2年 山崎秀樹
2007年 7月31日@ Fermilab
Contents
Introduction CSL system Archiving of log files in CSL nodes Making Calibration CSL Monitor
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に保存される
CSL system
FCC(Feynman computing Center)
CSL(Consumer-Server/Logger ) CDF 実験におけるデータの輸送と記録係
多数のサーバーとネットワークスイッチ、記録装置より構成される処理系
logger
CSL Monitor Smart Sockets
CSLの主要な機能実際に Detectorで起こった
Event dataの輸送各 nodesの情
報、 Error情報の監視(Monitoring )
CSL Monitor系
なぜMonitoringが必要か? CSLが正常に data takingをしているか把握でき
る
今回、Monitoring系の整 備、改良を行った
Monitoring系の整備、改良 Motivation
CSL systemにおける各マシンの情報、またその履歴、 Error Massageの取得、表示をした
い CSLにおけるMonitoringの方法 GUI Monitor History Log files Error Messge の調査
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 に保存される
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を登録し、またテストも行った
問題点
→
→
→
Summary (Archiving of logfile)
Log fileを archieveするための Perl Scriptを用意し、テストしたところ無事 archiveが実行でき
たCrontabに Logger用と Receiver用の Perl Scriptを登録し、問題が発生することなく定期的に Log fileを archiveすることが出来るようになった
CSL Monitor Smart Sockets
CSL Monitorでは receiverがMessage(nodeの運転状況 )をSmartSockets経由で、 Java Clientである CSLMonに流
す 各 nodeの情報を CSLMonに渡す経路は、 Cronを通してnodeの statusや履歴情報を渡す経路と、 SmartSocketsを通して nodeの運転状況をリアル
タイムで渡す経路がある
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
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等が同じインターフェースで使えて便利
実装にあたっての手順目的
Main CSL の dataを catchするMonitorの GUI インターフェースを製作する
手順 Messageを経由してい
るSmart Socketsに関して理解す
る Messageの受け手側のコー
ド (CSLMon.java)を理解
し、書き換えを行う不要な情
報 (Logger Nodeのマシン情報など )を削る
Messageの送り手側のコー ド (CSL_mon_send.C)
を理解し、 書き換えを行う Main CSLの codeを参考
に、 Messageを送るように変更
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としては ...
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が完成した↓ これから実際に立ち上げてみます
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の書き換え
SummaryCDF 実験 CSL systemのMonitor系の整備、改良を行った Log fileを Archiveする Perl Scriptを用意、 crontabに Perl Scriptを登録し、定期的に archiveが出来るようになった
Calibration CSL の GUI Monitorのプロトタイプの製作を行った
、
Server側からのMessageの送り出し部分を実装すれば Calibration CSLのMonitoringが出来る