岡田浩之 - 核融合科学研究所

Download Report

Transcript 岡田浩之 - 核融合科学研究所

平成16年度NIFS共同研究「次世代実験のための核融合データ処理システム技術検討作業会
平成16年5月26日、核融合科学研究所研究I期棟6階601会議室
ヘリオトロンJにおける
データ処理システムの取り組み
京都大学エネルギー理工学研究所
岡田浩之
[email protected]
内容
1.はじめに
2.ハードウェア構成と
各種デバイスドライバー
3.ソフトウェア構成
4.ユーザーインターフェース
5.まとめ
プラズマ実験におけるデータ処理
プラズマ閉じ込め評価、物性研究には多変量分布測定が必要
多数の計測器が同時に稼動
多チャンネル、多種(ADC、スケーラー等)の効率的なデータ収集
多人数で相互的なデータ参照
実験パラメータ(ショット番号、磁場強度、ガス条件等)の参照
固有のデータ処理システム
ヘリオトロンにおけるデータ処理
1980年(ヘリオトロンE実験開始)
沖電気製ミニコンと特殊ADC、CAMAC、IO。
Tektro4014端末。
CAMACを増強、M200導入。
1992年
ミニコンからSunSPARCへの変更。
CAMACのみ。デジタルIOを変更。
ディレイトリガー新設。
WS、X端末(グラフィックはTektroモード)。
1999年
SunからAT cloneとDEC alphaへ。
セキュリティ強化と拡張性の増大。
グラフィックをXへ。PC-UNIXを活用。
ヘリオトロンにおけるデータ処理
2001年
Grasper3種類を処理系に加える。
2002年
NBI用ローカルシステムの追加。
ヘリオトロンJと同期、非同期取り込み。
2003年
アンプ更新に伴いGPIB制御機能追加。
DASBOX、CAMAC2種類の処理ソフトを加える。
通電カウントダウン表示機能を追加。
HJ用システム開発の動機
• 全システムの老朽化ー計算機に関するシステムの顕著な老朽化
• sun(690MP等)および周辺機器(MOジュークボックス等)の維持困難
• 維持管理費の高さ、拡張性の悪さ
• tektroモードのみのグラフィックの使い難さ
• デバイスドライバーの対応が無いためシステムの変更が困難
• システムの安定性の問題
• CAMAC用インターフェースソフトからのエラーが起きると1時間程度不動
(2-3ヶ月に1度程度)
• 周辺機器が故障すると数日から1週間程度の修理期間が掛かる
1)
2)
3)
4)
5)
システムとして高速・安定であること
拡張が容易であること
ソフト・ハードのバージョンアップが簡便であること
既存のハード・ソフトが利用可能であること
維持管理費が少ないこと
AT cloneとDEC alphaマシンを
使用し、OSとしてNetBSDを中心
に考える。汎用で無いものは
考えない。(サポートの問題、
修理期間の問題)
デバイスドライバーの作成
今回のシステム開発でカギとなったのはデバイスドライバーである。CAMAC
インターフェースのデバイスドライバーは限られたOSに対するものがあるのみ
なので著しくシステム構成を規制してしまう。従ってデバイスドライバー作成の
技術を確立することが必要であった。幸いLinuxのドライバーが見つかったので
CAMACよりの部分はそのまま使用し、OS側の部分を今回用いたNetBSD用に
変えた。また、DMA、IOによるブロック転送を完備させた。転送速度はKinetic製
ADCの4008/4054を使用してテストしたところ約740 kbytes/sec(3922のダブル
バッファON)であった。
1000
Double Buffer Mode
Transfer Rate (kBytes/sec)
900
800
Kinetic 4008(ADC)/
4054(memory、2MB)
を用いた転送テストの
結果。
インターフェースは
Kinetic 2915、クレート
コントローラーは3922。
700
600
500
400
300
Ordinary Mode
200
100
0
1
2
3
4
5
6
Trial Number
7
8
9
10
CAMACドライバーの機能
ioctl の命令
K2915_WAIT_LAM
K2915_RST
K2915_CHK_BRANCH
K2915_SET_BRANCH
K2915_SET_CRATE
K2915_ENA_LAM
K2915_DIS_LAM
K2915_REG_DMP
データ入出力
K2915_SNGL
K2915_SETUP_DMA
K2915_CMD_STAT
K2915_PP
K2915_IENA
K2915_IDIS
K2915_SETUP_BLK
K2915_BLK_TRN
入出力
出力
入力
入力
無し
無し
入出力
入出力
出力
無し
入力
出力
出力
出力
無し
無し
内容
LAM 待ち
インターフェースのリセット
インターフェース番号の確認
インターフェース番号のセット
クレート番号のセット
LAM の有効化
LAM の無効化
インタフェース内のレジスタ内容出力
(syslog へ)
1 データの入出力
DMA の設定
コマンドステータスレジスタ内容の取得
パラレルポーリング
割り込み許可
割り込み無効
データのブロック転送設定
データのブロック転送
サポート済みインターフェース
1.CAMAC関係
KineticSystems
TOYO
2915(PCI)、2927(AT)
CC/PCI(PCI)
2.GPIB
National Instruments PCI-GPIB、AT-GPIB
3.Grasper関係
PCI-DMAC2(PCI)、PCI-DMAC3(PCI)
4.接点入出力
Interface
CONTEC
PCI-2105A(PCI)
PI-64T(AT)
データ処理システムの概要
• ショット番号、磁場設定値等の1500点のリレー信号は
RS232CでCAMACサーバーへ
• CAMAC用トリガー設定値もRS232CでCAMACサー
バーへ
• データ保存はデータファイルサーバーの4TBのハード
ディスクと5”MO(4GBor9.1GB/枚)、DLT320へ
• サーバーの電源は二重化+UPS
Main System
Analog, Scaler
Signals
KUINS Network
CISCO
Router
10BaseT
HUB
‘Fusion’ Network
INS1500
Grasper Sub System
Signal AmplifiersCAMAC System
Relay Signals
ASCEND
Router
Local Laser Printer 10Base5
RS232C
19.2kbps
Grasper,
DASBOX ADC
Relay Signal Processor
Grasper Controller
RS232C
9.6kbps
Discharge Parameter Display System
Shot No. 12345
HV 100% AV 100%
Shot No. 12345
TA 100% IV 0%
Video Signal
Splitter
CAMAC Server(NetBSD)
Delay Trigger
Timing Processor
MO
HV 100% AV 100%
TB 100%
No. 12345
TA 100%Shot
IV 0%
TB 100%HV 100% AV 100%
TA 100% IV 0%
TB 100%
DAT
Data File Server(NetBSD)
100BaseTX SW.HUB
Display Controller
18“ LCD
MO
Power Supply Monitor
Relay Signal
Relay Signal Input Interface
Coil Power Supply Voltage,
Current Signals
Local Laser Printer
Signal Amplifiers CAMAC System Server for System
Maintenance
Calculation Server
(Alpha21264, 21164)
(Linux)
Print Servers
Client Computers
(Linux)
主なサーバー類
CAMAC サーバー: 4台(6、1、1、1クレート)
Grasperサーバー: 2台(3、1ユニット)
DASBOXサーバー: 1台(2ユニット)
データサーバ:
3台(2台はデータ、1台は個人用ファイル)
サポート済みCAMACモジュール
CAMACモジュールはさまざまなものがあるため、パラメータ設定
も1つの画面設定では対応できない。現在は7種類の画面を作成
して下記のモジュールに対応している。今後も実験者の使用に
応じて対応モジュールを増やしていきたい。
ADC/Memory
4008/4054
8212A/8/8800/12
5909
スケーラー/Memory
HNE320/HNE280
クロック発生器
8501
接点入力
3473
Memory
8201
T3500
8212A/32/8800/12
8210
8212A/16/8800/12
2250L
8590/8801
403
8206
629(ヒストグラム)
2161
CAMAC以外のADCモジュール
1.System Design 社
Grasper-12 (32チャンネル、2台)
Grasper-12/300III (40チャンネル)
Grasper-820 (16チャンネル)
DASBOX530 (32チャンネル、2台)
2.部分的サポート
Yokogawa DL2240(ディジタルオシロ)
ライブラリ
データ取得ライブラリ
getdata
入力 信号名、ショット番号、電圧出力・ビット出力切り替え
出力 データ、サンプリング時間、AQDC情報等
データダンプユーティリティ
getfile
入出力
同上
通電データ取得ライブラリ
入力 ショット番号
出力 ECHパワー、パルス幅、プラズマに対するコメント等
データ処理のプログラム構成
Main
Sequence
Control
Parameter Editors
(CAMAC, Graphics)
CAMAC
Control
GPIB
Controller
PC98
Communication
Relay Signal
Processor
Delay Trigger
Delay Trigger
Communication
Timing Processor
Graphic
Graphic Task
Manager
Output Control
Data Storage
(HD, MO)
Relay Signal
Monitoring
Discharge Parameter
Display
Time Control
シーケンスの流れ
通電1分前
heldap起動
CAMAC
サーバー
パラメータ
設定
heldapシーケンス
スタート
LAM用3474
スタート
タイマーソフトの
リセット
Joule遮断10秒前
LAM用3474
接点待ち
Relay、Trigger
モジュールへの送信要求
Relay Signal
Processor
スタート
CAMACサーバーへ
データ送信
Delay Trigger
Processor
スタート
CAMACサーバーへ
データ送信
アンプ設定
読込
コントローラ
GPIB
スタート
Controller
ショット
トリガー
CAMAC
サーバー
全てのCAMACにパラメータを
送信しADCスタート
タイマーの
監視
CAMAC
サーバー
受信
DataとHeaderをデータファイル
サーバーのHD、MOに書き込み
タイマーの
監視
全てのCAMACの
計測終了を示すQ待ち
Qの出たものから1次
ファイルをHDに書きこみ
タイマーソフトの
リセット
Graphic
スタート
heldapシーケンス
スタートへ戻る
全てのデータの
Header作成
取り込みデータの種類
1.ADC、スケーラー等の信号
2.ADC、スケーラー等の設定値(周波数、モジュール名等)
3.ショット番号、磁場設定値、アンプゲイン、フィルター種類
4.ディレイトリガーの設定値
5.測定値(電圧)から物理量への変換係数
6.各測定器のコメント
7.加熱装置、測定装置の設定値
8.生成プラズマに対するコメント
保存データ形式
収集されたデータは信号名
の表(別に定める)から得た
各ファイル名を付けられて次
のようなディレクトリの下に格
納される。
xxx/日付/shot番号
例えば
xxx/991126/00400/ECHG1
の意味は1999年11月26日
のECHG1信号のデータファ
イルということになる。各ファ
イルはヘッダー部とデータ部
に分かれている。ヘッダーは
CAMACモジュールの設定
値と通電条件(接点データ)
からなる298バイトであり、
データ部はビット数により1,
2、4*(データ数、binary)バ
イトとなっている。
項目
No.
記入例
バイト数
1
日付
99-11-26
8
2
通電データ(時刻、ショット番
号、コイル電流)
10:1000400
…
55
3
モジュール名
8212a/32-1
15
4
チャンネル名
25
2
5
データワード数
1234567
7
6
サンプリング時間(3桁)、
0(m秒)、1(m秒)、2(n秒)
1000
4
7
遅延時間
170
3
8
アンプゲイン(負のときは100
分の1)
1000
4
9
アンプフィルタ
2
3
10
パネル設定値
11
スケール
1000
20
12
ユニット
/cc
20
13
最小-最大電圧とADC分解
ビット数
-10+1012
8
14
Information
50
15
データ
データワード
数×1,2,4
99
KUINS
Data files
• データファイルの共有はNFS
によって行う。データファイル
とユーザー領域は完全に分離
した。
• CAMACサーバーへのユー
ザーアクセスはできない。
• データファイルサーバへは読
み込み専用でアクセスできる。
• 大学内部のネットワークには
ルータを通して接続。IPによる
通信制御を行っている。
Temporary data files
セキュリティ制御
CAMAC Server
(CAMAC, Delay Trigger
PC98)
User forbidden area
Data File Server
Prese
rved
data
fi
les
MO
User File Server
MO
User files
IP フィルタリング
ネットマスク
CISCO
ROUTER
Core area
Client Computers
操作
• 操作はXlibによって記述され
たGUIによって行う。
• 右のメインWindowによって
CAMACサーバーのすべて
の機能をコントロールする。
• 下はCAMACの制御パラメ
ターを定義するエディタ。
• グラフの出力制御するエディ
タはクライアントでも動作。
時間
監視
PC98
通信
メイン
シーケンス
MO
保存
CAMAC
エディタ
グラフ
表示
グラフ
エディタ
印刷
出力
メッセージ
‘Crate’ Editor
‘Module’ Editor
‘Function’ Editor
ユーザーの入力
• データ名とCAMACチャンネルの関連付け。
• 物理量への変換データ入力。
• 各データファイルへのコメント
実験オペレーターの入力
• 実験で稼動している主な機器の状況を入力する(加熱設定、測定器設定)。
• 生成されたプラズマあるいは、全体の実験状況のコメントを書く。
グラフ出力
• 実験中にデータ参照が十分できるような操作性と高速性を考慮して開発。
• ディスプレイ出力ではデータ表示を対話的に変えることができる。
• 時間変化(下図)、X-Yプロット、shot by shot変化の3パターンを作成。
• 出力はディスプレイとPSプリンタ(カラーを含む)をサポート。
• プラットホームはXWindowが動作する全てのマイクロコンピュータ。
システムのコンポーネント
ショット番号、コイル電流設定(18インチLCD)
CAMACサーバーとファイルサーバー
CAMACとアンプ
ファイルサーバー2
ディレイトリイガーと接点取り込み部分
クライアントコンピュータ
システムのコンポーネント
接点付アンプ
接点入力器
CAMACクレート
接点ボード
トリガー発生器
サーバー群
システムの特徴
• メインコンピュータにATクローン、周辺機器にも一般部品のみで
システムを構成したため維持管理が廉価・簡便で、アップグレー
ドも容易。
• CAMAC(現在約500チャンネル)、Grasper、DASBOX、リレー
接点(1500点)、GPIB経由の設定値を一括して処理。
• CAMACサーバー、データファイルサーバーは必要に応じて拡
張可能。
• データ表示(時間発展、X-Y、shot by shot)もサポート。
• C、FORTRANからのデータ利用のためのライブラリ。
• 全てのプログラムはソースコードレベルで管理。
• デバイスドライバーを除いて移植性を考慮したプログラム。