Proceedings of the 5th Annual Meeting of Particle Accelerator Society of Japanand the 33rd Linear Accelerator Meeting in Japan (August 6-8, 2008, Higashihiroshima, Japan)

Construction of Linux Computer System for Acceleration Equipment
Ryosen Fujihara 1 ,A), Akihiro YamashitaA) , Masahiko KoderaA) , Masaru TakaoA)
Takashi HamanoA) , Toko HironoA) , Masamichi YoshiokaB) , Hideyuki HirayamaB)
Takamitsu KatsubeB), Shoji MatonoB) , Makoto HasegawaB) , Kazuyuki KajimotoB)
A)
Japan Synchrotron Radiation Research Institute (JASRI/SPring-8)
1-1-1 Kouto, Sayo-cho, Sayo-gun, Hyogo, 679-5198
B)
SPring-8 Service Co., Ltd. (SES)
2-23-1 Kouto, Kamigori-cho, Ako-gun, Hyogo, 678-1205
Abstract
In November of 2007, we replaced computer servers from HP-UX system to Linux-PC to obtain better CPU andgraphic performance. In Spring-8, accelerator is operated with many GUI program applications on eighteen computer
servers. The computer server require high graphic performance to monitoring some GUI programs at the same time anddisplay a program forms of long square related linac. In this paper, the replacement of computer system and theproblem attendant to it about both of softwares and hardwares is discribed.

加速器制御のためのLinux計算機環境の構築
１．はじめにSPring-8における加速器の運転は主となる18台の計算機端末上に立ち上げた多数のGUIプログラムにより行われる。少人数で安定した運転を行うには、1台の端末画面上で複数のGUIプログラムをモニタリングしたり、線型加速器に関わる直線状のGUIを十分な大きさで表示させるなど、運転用計算機に高いグラフィック性能が要求される。
こうした計算機性能の需要に対応するため、当施設では2007年12月に、中央制御室における加速器制御のための計算機環境を、従来のHP-UX環境からLinux環境に一新させた。また計算機環境の移行に伴い、端末上で動作させる全てのGUIプログラムの移植作業を行った。これら計算機環境の移行と移行時に発生した問題点およびその対策に関し、ハードウェアとソフトウェアの両面について述べる。

２．計算機環境移行の方針
2.1 従来の計算機環境
従来の計算機環境はPA-RISC CPUをベースとした計算機を用い、モニタ出力をアナログ延長器により制御卓上の21インチディスプレイに表示させていた。
OSはHP-UX 11.0を使用し、HP-UX Cコンパイラにより作成したGUIプログラムにより運転を行っていた。計算機環境移行に際し、計算機を従来のものと同じPA-RISCを搭載した新機種に更新し、HP-UXを1アップグレードすることにより、グラフィック性能への需要に対処する案も検討したが、後継バージョンのHP-UXを導入でき、かつ最新のグラフィックカードを搭載可能なワークステーションは機種が極めて限定されており、将来販売される見込みが少なかったため、計算機本体の機種仕様変更を含めた、計算機環境の大幅な更新が検討された。
2.2 計算機環境移行の方針
移行後の計算機環境の条件として、従来のCおよびFortranで書かれたGUIプログラムを性能を落とすことなく移植可能であることと、多数のGUIプログラムを表示させるためのより高いグラフィック性能を持つことが挙げられた。また計算機本体は加速器運転に耐えうる信頼性、保守性を持ったものでなければならない。さらにプラットフォームとなるOSは、広く利用されており、将来の保守・アップグレードが期待できるものであることが望ましい。そしてこれら新システムは、加速器停止期間中に構築できること、また問題が生じた場合、以前のシステムにすみやかに立ち戻せることが条件となる。

図１：計算機環境移行後の中央制御室

E-mail: fujihara@spring8.or.jp-779-Proceedings of the 5th Annual Meeting of Particle Accelerator Society of Japanand the 33rd Linear Accelerator Meeting in Japan (August 6-8, 2008, Higashihiroshima, Japan)

図２： Linux計算機環境
以上の条件を踏まえて検討した結果、LinuxOSにおいて、GUIプログラムにgccコンパイラを利用しX11上に表示させる環境が選ばれた。ハードウェアは、PCI-Expressグラフィックカードが拡張可能なx86系CPUを搭載した計算機本体とデジタル延長器を用いることで、解像度の高い多画面ディスプレイを利用できる構成とし、機種選定に向けてX11での2画面、4画面表示の検証を行った。保守性を高めるため、筺体はラックマウント型を採用し18台の計算機を集中的に配置させることとした。また電源・ストレージ・ファンをホットスワップ仕様とし、冗長電源、冗長ストレージ、故障時のフロントパネル警告表示を採用することで、計算機の信頼性を確保した。

３．ハードウェア構成
3.1 ハードウェア構成
上 記 方 針 に 基 づ き 、 新 環 境 の 計 算 機 に は HP
Proliant DL385G2 を 採 用 し た 。 ま た グ ラ フ ィ ッ ク
カードは複数画面に高解像度で出力可能なNVIDIA
Quadro NVS285(2画面), NVS440(4画面)を採用した。
OSは、ハードウェアドライバが充実しており、商用サポートにより信頼性の高いSUSE Linux EnterpriseServer 10を採用した。

図2に計算機環境の概略図を示す。計算機本体は別室の計算機ブースのラック上に集中配置されている(図3)。計算機本体のモニタ映像出力とUSB信号は、延長器送信側を介し、4本のシールドケーブルを通じてケーブル長10m~25m離れた延長器受信機へ転送され、受信機に接続された制御卓上にある多画面ディスプレイ(図4)に高解像度(1920×1200)で表示される。
3.2 延長器使用時の問題と解決環境移行後の動作試験において、延長器を使用した端末画面上にノイズが現れたり画面表示がゆがむなどの現象が現れた。延長器単体での試験では問題が発生しなかったことと、延長器ケーブルが長い端末に問題が集中していたことから、原因として、延長器を多数用いたことによりケーブルが重複・交差しノイズが発生したためと判断した。ケーブル長を配置上問題ない程度に短いものに交換し、一部シールドケーブルに交換したことより、ケーブル環境が改善され、不具合の出ていた端末で問題が解決した。

(a)

(b)

図４：多画面構成ディスプレイ
図３：加速器運転用計算機本体(a) 24inch×2-780-(b) 24inch×4

Proceedings of the 5th Annual Meeting of Particle Accelerator Society of Japanand the 33rd Linear Accelerator Meeting in Japan (August 6-8, 2008, Higashihiroshima, Japan)

図５：GUIプログラムによる加速器運転

４．GUIプログラムの移植
4.1 MADOCA制御フレームワーク
計算機のリプレースに伴い、計算機上で使用するソフトウェアの移行作業を行った。
加速器制御に関わるソフトウェアは、機器制御、通信、また運転員が直接操作するインターフェース等、制御系全体にわたり、それらすべてを移行させることは現実的ではない。
当施設では加速器の制御フレームワークとしてMADOCAを導入している。MADOCAはクライアン
ト・サーバ型であり、運転員が直接操作するクライ
アントソフトウェアが、サーバソフトウェアすなわち通信や機器制御ソフトウェアと完全に分離されてい る 。 ま た フ レ ー ム ワ ー ク 自 体 が HP-UX, Linux,Solaris, MacOS上で動作可能であり (1) 、Linuxへの導入ケースについては他施設において確認されている(2-3)
。このことにより、計算機リプレース時のソフトウェアの移行は、クライアントソフトウェアに相当するGUIプログラムの移行のみで可能となり、大幅な労力の削減となった。
4.2 GUIプログラムの移植
旧環境で使用していた約260種のGUIプログラムをLinuxのgcc環境へ移植した。GUIプログラムの一例を図5に示す。移植は新環境にコピーしたプログ
ラムソースを修正し、gccコンパイルにより発生したエラー、ワーニングに対処し、正常にGUIが立ち上がるまで問題点を探し修正するデバッグ作業の繰り返しにより行われた。
プログラムの修正点としては、主に、旧PA-RISC/ HP-UX C 環境と移行後のx86 CPU / Linux gcc 環境のコンパイル仕様の違いからくるものと、GUI起動時のエラー対処がある。コンパイル仕様の違いについては、コンパイル時に詳細なワーニングを表示させたうえで、構文や関数名、関数への変数受け渡しの仕様、endianの違いなどについて修正した。GUI
起動時のエラーについては、NULLポインタアクセスによるセグメンテーションフォルトやデータベースアクセス関数・ライブラリのバグ等があった。
エラーの原因究明に際し、GDBを用いたブレークポイントの割り出しや、メモリへのアクセスエラーを検出するPurifyソフトウェアによるメモリリークの監視など、ソフトウェアを用いた効率的なデバッグ作業を行った。
これら移植作業には、正常動作に至るまで多大な時間と労力を要し、計算機環境移行作業全体の中でも時間に比して大きな部分を占めた。移植作業の結果、運転開始までにほぼすべてのGUIプログラムについて移植が完了し、2008年1月21にLinux化とGUIに関する総合的な試験がなされ、正常に動作することが確認された。また副次的な効果として、旧計算機環境で問題となっていた、GUIが原因不明のエラーにより落ちるなどのプログラム上の不具合が修正された。

５．まとめ
中央制御室における加速器制御のための計算機環境を、従来のHP-UX環境からLinux環境に移行させ、GUIプログラム移植作業を行った。計算機環境移行の結果として、計算機処理能力が上がったことと、複数ディスプレイ構成・グラフィック性能の向上によりGUIによる運転作業効率が向上した。
新計算機環境は2008年1月より本格運用され、本発表時まで延べ130日間の運転が行われた。この間、移植されたGUIプログラムは正常に動作し、また運転開始直前まで心配された画面転送によるノイズは発生せず、トラブルなく推移している。なお本報とは別に、中央制御室の大画面ディスプレイを開発中のDisplayWall(4)に置き換える計画もあり、加速器制御のための計算機環境が今後より向上するものと思われる。

参考文献[1] R.Tanaka, "SPring-8独自開発の制御システム-MADOCA",
日本加速器学会誌, Vol.2 No.2, (2005) p.162-169[2] "SCSS X-FEL Conceptual Design Report", May 2005.
http://www-xfel.spring8.or.jp/SCSSCDR.pdf[3] T.Fukui, et al., "Status of the X-Ray FEL Control System at
SPring-8", ICALEPCS07(2007), p.50-52[4] T.Hamano, et al.,"Development of High Resolution Large
Display for SPring-8 Central Control Room", 第5回加速器学会年会(2008, 本大会)

-781-