Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)	 SPring-8 線型加速器ビーム位置モニター用同期データ収集システムの更新	 
UPGRADE OF THE EVENT-SYNCHRONIZED DATAACQUISITION SYSTEM FOR THE
SPRING-8 LINAC BPMS
増田剛正#, 植田倉六, 清道明男, 松本崇博, 柳田謙一
Takemasa Masuda #, Souroku Ueda, Akio Kiyomichi, Takahiro Matsumoto, Ken-ichi Yanagida
Japan Synchrotron Radiation Research Institute (JASRI/SPring-8)

Abstract
In the SPring-8 linac, the event-synchronized data acquisition system for about 50 sets of non-destructive beam
position monitors (BPMs) with four electrodes has been utilized for beam diagnostics and feedback control during thetop-up operation since 2004. The system can collect all the BPM data synchronizing to every beam shot with maximum
repetition rate of 10Hz and record all the synchronized data into the relational database. Recently, the new six-electrode
BPM system has been developed for measurement of second-order moments from which we can deduce beam size ofthe beam. In order to treat the six-electrode BPMs, the event-synchronized data acquisition system has been upgraded.
Since no physical space for the system expansion was left, a new OPT-VME slave board with 128-bit digital inputs wasdeveloped for the interface with a signal-processing unit for six-electrode BPMs. Reflective memory boards have been
employed as the hardware shared-memory network to realize fast and real-time data transmission and synchronous
control of all the related software processes running on the VME computers. Both stable operation of data-acquisition
processes in real-time scheduling class in Solaris OS and performance improvement of the OPT-VME device driver bybusy-waiting have been achieved by introducing multi-core CPU boards into the VME system. As the result of theseimprovements, we have succeeded in the data acquisition of all the BPMs within 16ms while the number of acquired
signals was increased.

1.

CPU$:$Pen+um$III$850MHz$
OS$:$RedHat$6.2$(2.2$kernel)

はじめに !$PC$
$
$

DB

SPring-8 線型加速器では、主にトップアップ運転(~250Mbps)に対応するために、約 50 台の 4 電極非破壊ビーム
位置モニター(BPM)からの全てのデータをビームに
busy$waitOPTFCC $~1ms/1 $同期して取得してデータベースに記録する同期データ収集システムを 2004 年から整備しており、ビー
VME$
VME$
ム不安定性の原因究明やフィードバック制御に役立 !$VME$
CPU:$てている[1]。これは、6 台の VME 計算機と 1 台のVME$$Pen+umM$1.8GHz
PC を共有メモリネットワーク（SHM-net）で接続し、VME$VME$
VME 計算機で取得した全 BPM データを PC で集め !!$OPTFRMT$DI64!$て、商用リレーショナルデータベース（RDB）であ "8MB(16bit+1$strobe)x4$
る Sybase に書き込むシステムで、当時は線型加速器の最大繰り返し周期である 10Hz 運転に対応してい Figure 1: Schematic diagram of the original eventた。更新前の同期データ収集システムの構成図を synchronized data acquisition system for the Linac BPMs.
Figure 1 に示す。
システムの更新
線型加速器では、ビーム監視機能を強化するため、 2.
[2]
BPM の 6 電極化を進めている 。6 電極 BPM の導 2.1 128+8 ビットデジタル入力光伝送ボードの開発
入によりビームの二次モーメントが測定出来るよう分散設置された BPM 信号処理回路からのデータになり、ビームの広がりに関係する物理量が得られを6 台の VME 計算機に高速かつ確実に集約するたるようになる。6 電極 BPM の導入に合わせて、昨年
め、SPring-8
で開発された光リンクのリモート I/O
度 BPM 同期データ収集系の更新を実施した。また、[3]を使用してシステムである光伝送ボードシステムシステムのハードウェアおよびソフトウェアの老朽いる。4電極
BPM信号処理回路との取り合いには、化対策も併せて実施した。
本稿では、同期データ収集システムの具体的な更 4 電極×(16 ビット+1 ストローブビット)のデジタル入力リモートボードである OPT-RMT DI64 ボードが新内容と更新後のパフォーマンスについて述べる。
用いられている。
6 電極化を進めるにあたり、取り合い信号数を 2系統分増やす必要が生じる。この増加分を補うアプ#
masuda@spring8.or.jp.com
ローチとして、信号密度を変えずに設置スペースを____________________________________________- 1118 -Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

1.5 倍に拡張する方法と、信号密度を 1.5 倍に増やして設置スペースを変えない方法がある。しかし実際には機器の設置スペースに余裕がない場所が存在するため、拡張方法としては後者を採用することになった。そこで新たに 128+8 ビットのデジタル入力リモートボードである OPT-RMT DI128 ボードの開発を行った。6 電極 BPM 信号処理回路との取り合いのためには 96+6 ビットの入力ボードで十分であるが、対称性を考慮して 2×（64+4）ビットの入力が可能なボードとして製作した。現場での信号確認がしやすいよう、新たにボード上部にインジケータを設けた。開発した OPT-RMT DI128 ボードを Figure 2に 示 す 。 ま た OPT-RMT DI64 ボ ー ド と の 比 較 をTable 1 にまとめる。

    行は容易に行えるようになった。特に配線距離が長い VME との間の光ケーブルを追加で敷設することなく移行が行えるのは大きなメリットであると言える。
リフレクティブメモリ(RFM)の導入

2.2

SHM-net（アドバネット社製 Advme1533 およびAdpci1523）は、同期データ収集システムにおいて、高速実時間のデータ転送と割込通知による 6 台のVME 計 算 機 間 で の ソ フ ト ウ ェ ア 同 期 制 御 お よ び
ビームショット番号の配信を実現するために使用している重要なデバイスである。しかしながら、
SHM-net が既に生産中止状態にあり代替製品への更新が必要であったこと、および共有メモリサイズの拡大とデータ転送速度の改善を図ることを目的として、今回 SHM-net と同等以上の機能と性能を有するRFM（GE 製 VMIVME5565 および VMIPCIe5565）への更新を実施した。SHM-net と RFM との比較をTable 2 に示す。
RFM は、SCSS 試験加速器や SACLA における同様の同期データ収集システムにおいて導入済みであり、元々SHM-net 用に製作した制御フレームワークを RFM 用に改修して使用していた。今回、SPring-8線型加速器同期データ収集システム用の制御フレー
ムワークも RFM 導入に合わせて修正を行った。
Table 2: Comparison between RFM and SHM-net.
RFM

Figure 2: Newly developed OPT-RMT DI128 board.

Table 1: Comparison between OPT-RMT DI128 andOPT-RMT DI64 board.

入力点数

OPT-RMT DI128

OPT-RMT DI64

128 ビット

64 ビット

入力ストロー 8 ビット
ブ点数

入力コネクタ KEL 80 ピンコネク 高密度 D-Sub 26 ピン
タ×2
コネクタ×4FPGA

Cyclone Ⅳ
EP4CE6F256

ACEX EP1K100

外形寸法

6U １スロット幅

6U 1 スロット幅

転送速度 2.2Gbps

250Mbps

共有メモ 最大 128MB
リサイズ

最大 8MB

割込要求 3 種類，付加情報 32
ビット

1 種類、付加情報 4ビット

接続ノー 最大 256
ド数

最大 255

ハブ有り（最大 6 ポート）、トラブルノード自動切断機能

OPT-RMT DI128 ボードを開発したことで、4 電極
BPM から 6 電極 BPM への制御システムとしての移有り（最大 8 ポート）、トラブルノード自動切断機能

1km(マルチモード)
ノード間 300m(マルチモード),伝送距離 10km(シングルモード)

2.3

4 ビット

SHM-net

マルチコア VME CPU ボードの導入

昨今 CPU のマルチコア化は進んでおり、組み込み計算機の世界にも広がっている。SPring-8 ではフロントエンド用 VME 計算機として x86 系 CPU を搭載した CPU ボードを利用しているが、x86 系 VME
CPU ボードでも 2 コア（4 スレッド）の CPU を搭載したものが利用可能になっている。フロントエンド計算機においてもマルチコア CPU は非常に強力で導入効果が高いことが分かっている。今回、6 台の VME 計算機の CPU ボードをサンリツオートメイション製 SVA-041(シングルコア Pentium M 1.8GHz)から Concurrent Technologies 社製 VX813(デュアルコ- 1119 -Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

ア Core i7 2.2GHz)に更新した。なお VME 計算機で CPU では避けたい処理である CPU を消費する busy	 
は OS として Solaris を使用している。
wait 型の wait 処理によって、HZ 値で指定された最同期データ収集系にマルチコア VME CPU ボード 小分解能よりも短い時間での wait が現実的となる。
を導入するメリットは以下の 3 点である。
仮に busy wait 処理によって 1 つの CPU の負荷が高• プロセスの並列化による高速化が可能。
くなっても、他の空き CPU によって処理が続行で• Solaris リアルタイムクラスで動作するプロセス きるからである、例えば 2.4 で示す光伝送ボードデの安定運用が可能。
バイスドライバの場合、ハードウェアとしては 40µs
• Busy wait の導入によってきめ細かいプロセス 待てば十分であるところでも、non-busy wait 型の処待ち時間の設定が可能。
理では 1ms も待たなくてはならない（HZ=1000 の場
同期データ収集系では、決められた時間内にデー 合）。一方 busy wait 型の処理では 40µs をそのままタの取得が確実に行えるよう、関連するプロセスは 指定できる。このように busy wait 処理の導入により、全て Solaris のリアルタイムクラスに設定している。 きめ細かな待ち時間の設定が可能となり、プロセスFigure 3 に示す通り、Solaris のリアルタイムクラス の処理時間の短縮が可能となる。のプロセス優先度は、システムの優先度よりも高い
2.4 光伝送ボード用デバイスドライバ高速化
ため、シングルコア CPU においては、仮にリアル
元々線型加速器同期データ収集系では、RDB へのタイムクラスのプロセスが無限ループに陥ってしまうとシステムがハングアップしてしまうという問題 書き込み処理に掛かる 50ms を除けば、最大 60Hz のがある。こうなると、現場に行って CPU ボードの 同期データ取得が可能であった。光伝送ボードシスハードリセットを行うしか方法がなくなり、運用上 テムの拡張に伴って何度かデバイスドライバの改修を行う中で、無駄な wait 処理が入り込んでしまい、大きな問題となる。
一方マルチコア CPU の場合、同時に 2 つ以上の 改修前は 10Hz の同期収集にも対応出来ない状況にプロセスが動作し得るため、仮に 1 つのプロセスが なっていた。具体的には、1 台の VME で取得するリアルタイムクラスで無限ループに陥ったとしても、 最大の信号点数は 96 点であるが、その取得に約システムは動作を継続出来る。通常の無限ループプ 130ms も掛かってしまっていた。
ロセスと同じように、遠隔から計算機にログインし、 そこで光伝送ボード用デバイスドライバの処理を無限ループプロセスを kill することで復旧可能であ 見直し、高速化を図った。具体的には、無駄な処理る。このようにマルチコア CPU の導入は、Solaris の削除、マルチコア CPU の導入を前提とした nonリアルタイムクラスの導入を容易にし、安定的な運 busy wait 処理から busy wait 処理への変更を行った。
これにより、デバイスドライバの同じ処理の実行時用に供することを可能にする。
間を約 1/10 まで短縮することに成功した。
2.5

データ収集・RDB 書込用 PC の更新

RFM 経由でデータを収集し、RDB へデータを書き込むプロセスが動作する PC のハードウェアおよびソフトウェアの老朽化が著しかったため、更新を行った。CPU は Dual Core Xeon 2.66GHz、HDD はRAID1 構成とした。また管理すべき OS の種類を極力減らすために、中央制御室のオペレータコンソールに合わせて SUSE Enterprise Linux Server 11 を OSとして使用した。
2.6

Figure 3: Global priorities of Solaris scheduling classes.
デバイスドライバ内部でハードウェアの状態が変化するのを待つ wait 処理を行う場合、通常は CPUに負荷を掛けない non-busy 型の wait 処理であるタイマーによるスリープ処理を行う。Solaris の場合、システムの HZ 値によって、スリープ時間の最小分解能が決まる。デフォルトの HZ 値は 100 であるのでスリープの最小時間は 10ms となるが、我々はHZ=1000（スリープの最小時間は 1ms）に変更して使用している。HZ=2000 までは動作確認を取ったことがあるが、これ以上大きくするとシステムが不安定になることが分かっている。
マルチコア CPU を用いる場合、シングルコア

収集信号の 6 電極 BPM 対応

今回 BPM を 6 電極化したのは未だ数台に過ぎないが、今後順次 6 電極化を進めていく上で都度プログラムを変更したりデータベースの登録信号を変更したりするのは効率が悪い。そこで 4 電極 BPM の信号についても予め 6 電極化し、データベースに登録をしておいた [2] 。これにより同期データ収集システムで扱う信号点数は 1.5 倍に増加した。
6 電極対応に伴い、データベースのテーブルも新しく作成し直した。これに伴いアプリケーションソ
フトウェアから新旧 2 つのテーブルを合わせて閲覧出来るよう API 関数を作成し直した。Web browser
から同期データ収集を簡便に閲覧出来る viewer も更新し(Figure 4)、新旧 2 つのテーブルからデータを閲覧出来るようにした。

- 1120 -Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

Figure 4: Data viewer for the event-synchronized dataacquisition system of the linac BPM.

3.

更新システムのパフォーマンス

更新後のシステムの構成図を Figure 5 に示す。6電極化対応のソフトウェアに変更したため、1 台のVME で取得する最大の信号数は 1.5 倍に増えて 144点となったが、データ取得に掛かる時間は約 16msまで短縮することに成功し、RDB への収集データの書き込み処理を含めて目標としていた 10Hz でのデータ収集およびデータ書き込みはクリア出来た。
仮に 10Hz 書き込みが間に合わない場合には、更にマルチコア CPU のメリットを生かして、データ取得プロセスを 2 つ以上に分離することも考えていたが、それを行わなくても余裕を持って 10Hz 取得をクリア出来た。VME 上で動作するデータ取得のためのプロセスは全てリアルタイムクラスの優先度０（グローバル優先度 100）で動作させている。
RFM を用いたデータ収集システムは安定に運用を続けている。動作試験開始当初は、VME 計算機をリブートした後のデータ収集システム起動時にシステムのハングアップが起きるトラブルが起きていた。
これは RFM ボードに残っている割込要求信号がシステムに割込要求を出してしまったのが原因であることが分かった。同期データ収集ソフトウェア停止
時の VME 間の停止順序の見直しと、ソフトウェア再起動時に割込要求信号をクリアすることでこの問題は回避することが出来た。

CPU$:$Xeon$2.66GHz(dual$core)$
OS$:$SuSE$EL$11$(2.6$kernel)

*#+$'(*$(~2.2Gbps)

-S/W#+.&,.RFM-6BPM
$$PC$
$$

DB

 $busy$wait OPT)CC!)"$~0.1ms/1 $
VME$
VME$

%.!&$

VME$

CPU:$
$Core$i7$2.2GHz(dual$core)

VME$
VME$./~16ms/~140$

VME$OPT)RMT$DI128%.!$(16bit+1$strobe)x8$*#+$'(*%.!$-'(*/128MB

Figure 5: Schematic diagram of the upgraded event-synchronized data acquisition system.

4.

今後の予定

参考文献

本システムは、元々BPM の同期データ収集を行うために整備したものであるが、ビーム電流モニターやモジュレータの PFN 電圧、電磁石電源の電流モニターやタイミング系のモニター信号などを追加で収集したいという要求があり、現在システムの一部拡張を始めている。最終的には VME 計算機を 5 台程度、信号を 200 点程度追加する計画で、ビームと機器との相関調査に役立てる予定である。

[1] T. Masuda et al., Nucl. Instrum. Methods. A 534 (2005)
pp.415-430.
[2] K. Yanagida et al., “Development of Six-electrode BPM
System in SPring-8 Linac”, Proc. of the 9th Particle Accel.
Soc. of Japan, Osaka, 2012, pp.304-308.
[3] T. Masuda et al., “Upgrade of the SPring-8 Linac Controlby Re-engineering the VME Systems for Maxmizing
Availability”, Proc. of ICALEPCS’03, Gyeongju, Korea,
2003, pp.295-297.

- 1121 -