BELLE 高速データ転送・記録システム


このメモは、 BELLE 実験 のための、計算機システムの一部をなす 高速データ転送・記録システムの部分の仕様を決める際のたたき台とした 私(藤井啓文)の個人的メモです。高速データ転送・記録システム の役割等を、私個人がどのように考えているかを示すものであって 公式のものではないことにご注意下さい。 (現在、導入されようとしている、このシステムの概略図(GIF 18KBytes) はここ)。

システムの概要


1.目的
BELLE 実験における各測定器からのデータは、事象単位にまとめられ、 オンラインファームで処理される。要求される処理速度を満たすため にオンラインファームは多数の CPU を用いて事象単位で並列処理 を行う。本システムはオンラインファームで処理された事象データを、 テープライブラリ装置1へ転送し直列化して記録することを目的とする。

2.持つべき機能
本システムは次の機能を持つものとする。


システムの範囲


構成要素
本システムは次の構成要素から成る。

また、本システムに直接接続される要素(本所が用意する)に次の ものがある。 これらの各部間を接続するため、本システムは次のインターフェイス を有する。 事象データの直列化は、転送前に筑波実験室側で行ってもよいし、 転送後にトリスタン計算機棟側で行ってもよい。ただし、転送後に 直列化する場合は、筑波実験室側に設置されるバックアップ記録装置に 対しても直列化機構が必要となることに注意すること。 各部およびインターフェイスの関係は、直列化部を用意する場所により 異なる。直列化部を転送部の前に置く場合の各部の位置関係を図1に、 直列化部を転送部の後に置く場合の位置関係を図2に示す。
図1:直列化部を転送部の前に置く場合


図2:直列化部を転送部の後に置く場合

各部の役割


VME 部 VME システムインターフェイスは、各事象データメモリー モジュールから発生する割り込みを受け付け、 指定されたアドレスとデータ長をもとにデータを読み出す。

転送部
送信は各 VME システムインターフェイスにより 読み取られた事象データを長距離転送部の経路数に応じて 直列化し、送信インターフェイスを通じて行う。
単一経路による受信では、転送されてきたデータを記録装置 インターフェイスを通じて記録媒体へ書き込む。 複数経路による受信では、このデータを直列化部へ転送する。

直列化部
直列化部は複数の入力源からのデータを直列に並び変える。これが 転送部より前にある場合は、VME 部からのデータを受信しながら 転送部へ出力することが必要である。転送部より後にある場合は、 受信しながら記録部へ出力することが必要である。 直列化の順序は1事象データを最小単位として任意でよい。

記録部
仕様書テープライブラリ装置1を見よ。


要求要件



本システムに要求される性能は次の通りである。

これを実現するために、各部に対し、以下の性能を要求する。

複数経路に対する転送速度
本システムは毎秒 15Mバイト以上のデータ転送能力を要求している。 これを実現するのに、複数経路を使用する場合、各経路における データ転送能力は、次の表に示す値とする。

表1:複数経路の転送能力
経路数 転送能力(毎秒 MB以上)
1 15
2 11
3 8.7
4 7.5
5 6.7
6 6.1
7 5.7
8 5.3
注:この値は、各経路の転送データ量が独立にゆらぐものとして、 毎秒 15M バイトを経路数の平方根で割ったものである。

VME 部でのデータ転送能力

これらの条件を満たした上で、VME バスの数を経路数とみなして 表1に示してある処理能力があると判断されること。

システムに対する指針


本システムは、ソフトウェア等の設計に依存する部分が多く 存在する。そこで、以下に本システムに対する指針を示す。


本システムの制御

全体制御
本システムは BELLE 実験制御用ネットワークにより制御 される。 BELLE 実験制御用ネットワークはイーサネット媒体上の TCP/IP ネットワークである。 RUN の開始、および終了は、この BELLE 実験制御用ネットワーク を介して行われる。また、これらメッセージに対する応答を 行う。 このメッセージ交換は TCP/IP の特定ポートで行われる。 本システムは、これらのメッセージを送受信するためのサーバ プロセスを含む。 一つのメッセージは ASCII 文字列により形成され、ASCII 0 (NULL) によりメッセージの終端を示す可変長データである。 一つのメッセージは NULL まで含めて 512 バイト以下である。

転送制御
本システムのデータ転送の制御のために、VME メモリ空間の特定アドレス を次の表に示す目的に使用する。

表:転送制御のために使用される VME メモリ
名称 役割
状態フラグ 転送可能状態を示す
要求アドレス 要求する転送開始アドレスを示す
要求データ長 要求する転送データ長を示す
送信系列番号 送信するデータの最初の系列番号を示す
完了アドレス 完了した転送の開始アドレスを示す
完了データ長 完了した転送のデータ長を示す
受信系列番号 次に受け取るべき系列番号を示す

状態フラグ
VME バスのメモリ空間内に、本システムから書き込み可能なフラグ が用意される。 このフラグは事象データメモリからの転送が可能であるか不可能 であるかを示す。このフラグの設定は、本システムが行う。 このフラグを不可能に設定している時、事象データメモリ側からの 割り込みは、無視してよい。 このフラグはオンラインファーム側から読み出し可能である。

転送の開始と完了
転送の制御は7つの VME 空間のメモリを用いて行われる。このうち 要求アドレス、要求データ長および送信系列番号は事象データメモリ側が 書き込む。 残りのうち、完了アドレス、完了データ長および次系列番号は本システムが 書き込む。 状態フラグは双方から読み込み、書き込みを行う。 オンラインファームは事象データメモリに転送用データの準備ができると、 転送開始アドレス、転送データ長および送信系列番号を書き込み、 VME システムインターフェイスに割り込みをかける。 VME システムインターフェイスは、割り込みを受け付けたら、このメモリを 読み取り、転送を開始する。転送が完了したら、この完了した転送の 開始アドレスと転送データ数および受信系列番号を書き込む。


障害処理

本システムに障害が発生した場合は、BELLE 実験制御用 ネットワークを通じて BELLE 実験制御システムへ通知する。 本システムの転送部、記録部のいずれか、 または両方に発生した障害により記録部での 記録が不能になった場合は、バックアップ記録部で記録する。


事象データメモリモジュールの動作

事象データメモリモジュールの動作を以下に記述する。 この動作に基づき、VME システムインターフェイスの 動作を設計すること。
事象データメモリモジュールは、


VME システムインターフェイスの動作

VME システムインターフェイスは事象データメモリモジュール からの割り込みに対し、次の動作を行う。
転送障害を検知した場合は、次の動作を行う。
割り込み Vector から転送レジスタ(メモリ)の決定には 予め決められたテーブルを用いる。 このテーブルは書き換え可能であること(システムリセットを 伴ってもよい)。


直列化
直列化は少なくとも2個所で必要になる。一つは各 VME バス上で 各事象データメモリモジュールから並列に入ってくるデータを 一つの VME システムインターフェイスで処理するために必要であり、 もう一つは、各 VME システムインターフェイスから送られてきた データを一つの記録装置で記録するために必要である。
インターフェイス等は異なるが、基本動作は同じであるので、 ここでは VME システム上での直列化動作について説明しておく。 考慮すべき点は以下の通りである。 これを VME システムインターフェイスで処理する。 実装例を示す。