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

J-PARC MR における EPICS IOC のソフトウェアツールキットの更新
UPGRADE OF SOFTWARE TOOLKITS FOR EPICS INPUT OUTPUT CONTROLLERS
IN J-PARC MAIN RING
山田秀衛
Shuei YAMADA∗High Energy Accelerator Research Organization (KEK) / J-PARC Center

Abstract
J-PARC Main Ring started operation in 2008. Its control system is developed based on EPICS toolkit running onLinux. Input Output Controllers have been using EPICS 3.14.7 and Scientific Linux 4. Upgrades to the latest versions ofEPICS and Scientific Linux are planned since the support for Scientific Linux 4 was ended. This article describes status
and prospects of the upgrade.

1.

はじめにJ-PARC Main Ring (MR) は 2008 年 5 月からビーム運転を開始した [1] 。その後、加速器の性能を着実に向上させながら、T2K ニュートリノ振動実験施設及びハドロン実験施設へのビーム供給運転を続けている。
MR の加速器制御システムは、OS に Scientific Linux[2](SL) を、制御システムのフレームワークに EPICS[3] を用いて構築されている [4] 。ビーム運転を開始した当初は、制御対象となる機器のフロントエンド計算機である
EPICS I/O Controller (IOC; 紛らわしいことに IOC 上で実行される EPICS アプリケーションもしばしば IOC と呼ばれる) には VME シングルボード計算機 (VME SBC)を採用していた。
5 年間のビーム運転の間に、MR 加速器は着実に性能を向上させてきた。それとともに IOC も増強され、そのハードウェアの種類も多様になってきた。
本論文では、まず今後 5 年間を見据えた新しい環境の構築について述べ、次に IOC の計算機環境が過去 5年間にどのように変化したかを振り返り、最後にまとめる。

2.など、MR 制御システムの開発初期の状態が残されている。これらも IOC の保守性を悪化させる要因となっている。

2.1

更新の対象となる IOC

MR の運転に用いている IOC の多数を占めるもの、即ち VME SBC のうち VME バス I/O を行わないものと、仮想マシン上の IOC の OS と EPICS を現時点で最新のものである SL6 と EPICS 3.14.12.3 に更新し、ソースコードを整理することにした。これら以外の IOC、即ち VME バス I/O を行うものと F3RP61-2L については2.3 節で述べる。
SL6 は 2020 年まで、EPICS 3.14.x は今後数年 [10] の間にわたってメンテナンスされることが予定されている。新旧の環境の比較を Table 2 に示す。
2.2

更新の手順

新しい環境への以降は以下の手順で、2013 年夏からの長期シャットダウン期間 [1] に行う:

OS と EPICS の更新

開発環境と実行環境の OS と EPICS を最新バージョンに揃え、保守性を向上させることで、今後 5 年間の運用に耐え得る環境の構築を目指すことにした。
ビーム運転を開始してから 5 年間で、MR 加速器はTable 1 に示すような多様な IOC を運用するに至った。
その結果、開発環境と実行環境で新旧バージョンの OSと EPICS が混在するようになり、保守の際に混乱を来たすようになった。
また、運転に用いている IOC のソースコードの中には• 一見すると使用されているように見えるが、実際には使用されていないものがある、• 個人の解析プログラムやデータファイルが紛れている、• EPICS の開発スタイルに則っていないものがある∗ shuei@post.kek.jp- 1106 -1. IOC のバックアップ
既存の IOC のソースコードと実行ファイル一式はバックアップしておき、万が一の場合には元の状態に戻せるようにしておく。
2. OS の更新
多数の IOC の一括管理を容易にするため、MR では IOC を PXE を用いてネットワークブートしている。OS を更新するには、ファイルサーバに置かれたブートイメージを新しい OS のものに差し替えて再起動すればよい。
3. EPICS の更新
MR では EPICS を NFS サーバ上にインストールし、各 IOC が共有することで一括管理を行っている。新バージョンの EPICS は既存のものとは別のディレクトリにインストールする。IOC のソースコードをコンパイルする際に、EPICS がインストールされているディレクトリを指定し、新バージョンのEPICS が用いられるようにする。
4. 再コンパイル
MR 加速器の運転に必要なファイルだけを残し、新Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)Table 1: Various IOCs Used in J-PARC MR as of 2013
Type

NumberArchitecture

OSEPICSVME SBC∼ 60x86

Scientific Linux 4

3.14.7 / 3.14.12.3

w/o VME bus I/O

VME SBC∼ 25

x86

Scientific Linux 4

3.14.7w/ VME bus I/O

Virtial Machine∼ 25x86

Scientific Linux 6

3.14.7 / 3.14.12.3

KVM-based

F3RP61-2L∼ 25

PowerPC

BSP1 (based on ELDK 4.1)

3.14.9 / 3.14.12.3

PLC CPU module

しい環境で再コンパイルする。
5. 動作試験
IOC が正しく起動し、期待通りに動作することを確認する。

2.3

OS と EPICS を更新しない IOC

F3RP61-2L と VME バス I/O を行う IOC については、今回は更新の対象としない。
F3RP61-2L を用いた IOC は、CF からブートしている。そのため、OS を移行するには CF を新たに作成し、交換する必要がある。EPICS は NFS サーバ上にインストールされており、2.2 節の 3 以降に述べた手法で更新する。若干の作業が必要ではあるが、OS と EPICS を更新するにあたって技術的な困難はない。今回の更新対象となっている IOC の新しい環境への移行が終わり次第、
F3RP61-2L の OS と EPICS をそれぞれ BSP2 と EPICS3.14.12.3 へ更新する予定である。
VME バス I/O を行う VME SBC の SL6 への移行には課題がある。SL4 と SL6 が採用している Linux カーネ
ルは同じバージョン 2.6 系であるが、デバイスドライバのためのインタフェースが大幅に変更されている。そのため、SL4 で使用していた VME バスブリッジのデバイスドライバを SL6 ではコンパイルできなくなってしまった。今後の調査が望まれる。

3.

過去 5 年間での IOC の進展

MR で用いられている IOC とそれを取り巻く計算機環境が、運転開始から 2013 年現在までの 5 年間にどのように進展してきたかを簡単に述べる。2013 年において MR で運用している主な IOC の種別は Table 1 のとおりである。
3.1

3.2

Comment

2009 年OS に Linux、CPU に PowerPC を採用した横河電機社製の PLC CPU モジュールである F3RP61-2L の導入が始まった [5] 。これ以前に横河電機社製の PLC を制御する際は、IOC である VME SBC がイーサネットを介して PLC CPU と通信を行っていた。F3RP61-2L の導入により、IOC がバックプレーンを介して FA-M3 シリーズの PLC I/O モジュールと直接通信を行うことが可能となり、高い信頼性と保守性が得られるようになった [6, 7] 。
3.3

2010 年

IOC が VME バス I/O を行わないのであれば、必ずしも VME SBC を用いる必要はない。そこで、IOC のためのハードウェアとして仮想マシンを導入した [8] 。ホ
ストマシンには Blade 計算機を用い、ゲスト OS に SL6を採用している。
IOC に仮想マシンを用いることで、計算機資源と IOCの設置スペースを有効に活用できるようになった。また、新たな制御対象機器などのための開発・試験用のIOC を短時間で準備することが可能となった。IOC の可用性を高められることも期待されている。
3.4

2011 年EPICS 3.14.12 を導入した。このバージョンの EPICS
は、3.14.7 に対して多くのバグ修正と機能の追加がされている [9] 。
既存の IOC を EPICS 3.14.12 に移行するには、C/C++で記述された IOC のソースコードを再コンパイルする必要がある。EPICS のヘッダファイルの構成やマクロが変更されているためにソースコードの修正が必要である。また、IOC の起動時に読み込まれる、各機器の信号に対応したチャンネルを記述するテキストファイルの構2008 年運転を開始した当初の MR 加速器の制御システム
は SL4 と EPICS 3.14.7 を用いており、IOC のハードウェアには VME SBC を用いていた。VME SBC には
サンリツオートメイション社製の SVA-041、GE Intelligent Platforms 社製の VMIVME-7700RC、VMIVME7807RC、V7865 など複数のものを採用している。いずれも Intel x86 アーキテクチャであり、VME バス I/O を行わないのであれば、IOC を動かすプラットホームとしての差違は小さい。VME バス I/O を行う IOC には
VMIVME-7700RC を使用し、それ以外の IOC は必要となる CPU やメモリ容量に応じた VME SBC を使用していた。VME SBC を用いた IOC の例を Fig. 1 に示す。

- 1107 -Figure 1: Example of IOC Using VME SBC.

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

Table 2: Comparison of Old and New Platform for IOC
Platform

Scientific LinuxVersionRelease DateOld

SL42005 Apr. 20

NewSL62011 Mar. 3

KernelCompiler

2012 Feb. 29

Linux 2.6.9

gcc 3.4.6

3.14.7

2004 Dec. 62020 Nov. 20

Linux 2.6.32

gcc 4.4.6

3.14.12.3

2012 Dec. 17

文解析が厳格になっているため、既存の IOC では実行時にエラーを起こしてしまうものがあった。これらの理由から、既存の IOC には手を加えないようにし、新規に導入した IOC から EPICS 3.14.12 を採用して試験を行ってきた。

3.5

2012 年SL の配布元による SL4 のサポートが終了した。これに伴って、制御ソフトウェアの開発と上位制御アプリケーションの運用に用いている Blade 計算機の OS をSL6 に更新した。
SL6 でコンパイルしたプログラムは SL4 では実行できない。そこで、SL4 を用いている IOC を保守するために仮想マシン上に SL4 の開発環境を用意した。
SL4 で採用されていた gcc 3.4.6 は、stdlib.h、string.hなどの一部の C 言語の標準ヘッダファイルを暗黙のうちにインクルードする仕様であった。一方、SL6 で採用されている gcc 4.4.6 では、ソースコードでこれらのヘッダファイルを明示的にインクルードしなければならない。そのため、既存のソースコードに修正が必要である。

4.

EPICS

End of Support

VersonRelease Date

[6] D. Takahashi, et al., “Development of PLC-base thermometersystem”, Proceedings of the 7th Annual Meeting of Particle
Accelerator Society of Japan, WEPS120 (2010).
[7] K. Sato, et al., “EPICS-based control system using VXI-11
protocol for skew quadrupole magnets in J-PARC MR”, Proceedings of the 10th Annual Meeting of Particle Accelerator
Society of Japan, SAP097 (2013).
[8] N. Kamikubota, et al., “Virtual IO Controllers at J-PARC MR
using Xen”, Proceedings of the ICALEPCS 2011, Grenoble,
France Oct.2011 p.1165
N. Kamikubota, “J-PARC MR 制御での仮想マシンの応用”,
Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan, SAP092 (2013).
[9] http://www.aps.anl.gov/epics/base/R3-14/12docs/RELEASE NOTES.html[10] A. Johnson, “EPICS 3.14 and 3.15”, Presentation at Spring 2013 EPICS Collaboration Meeting,
http://www.epics2013.org/EPICS2013/Programme.html(2013)

まとめと今後の展望

今後 5 年間の MR の運用に耐え得る加速器制御システムを構築するため、2013 年夏の長期シャットダウン期間中に IOC の OS と EPICS をそれぞれ SL6 と EPICS
3.14.12.3 に更新し、保守性を向上させることにした。
2013 年 8 月の時点で、VME バス I/O を行わない VME
SBC は約 25 台、仮想マシンは約 20 台の更新が完了している。残数も速やかに完了する見通しである。その後は引き続き F3RP61-2L を用いた IOC の OS と EPICS を更新する予定である。VME バス I/O を行う VME SBC
に関しては、VME バスブリッジのデバイスドライバをSL6 でコンパイルできない問題があるため、今後の調査が必要である。

参考文献[1] T. Koseki, et al., “J-PARC MR の運転状況”, 加速器学会誌
2012 年 9 巻 1 号, p30-40 (2012)[2] http://www.scientificlinux.org[3] EPICS - Experimental Physics and Industrial Control System,
http://www.aps.anl.gov/epics/[4] N. Kamikubota, et al., “J-PARC Control toward Future Reliable Operation”, Proceedings of the ICALEPCS 2011, p.378(2011)[5] J. Odagiri, et al., “Development of Embedded EPICS on
F3RP61-2L”, Proceedings of the 5th Annual Meeting of Particle Accelerator Society of Japan and the 33rd Liear Accelerator meeting in Japan, FO27 (2008).

- 1108 -