交換システムへ既製コンピュータを 適用するための可用性と実時間性の
向上に関する研究
池邉 隆
電気通信大学大学院情報システム学研究科 博士(工学)の学位申請論文
2008 年 3 月
交換システムへ既製コンピュータを適用する ための可用性と実時間性の向上に関する研究
博士論文審査委員会
主査 本多 弘樹 教授
委員 曽和 将容 教授
委員 加藤 聰彦 教授
委員 多田 好克 教授
委員 吉永 努 准教授
著作権所有者
池邉 隆 2008
The switching system provides lifeline network service such as telephony service, and is required to serve more than 99.999% time of a year. Typical network service requires to be performed as real time; the call control should be performed within deadline. Therefore switching system of PSTN (Public Switched Telephone Networks) had been developed by using specialized hardware and software in order to satisfy service availability and real time capability.
Though, the cost of the specialized switching system is high, the most of the specialized switching system is aging, and hard to obtain the repair parts. Consequently, the demand of replace aging specialized switching system by using cost effective COTS (Commercial off-the-shelf) such as Intel Architecture computer, is so high. However, it is difficult to sat- isfy the requirements of the switching system by just applying COTS system. Especially, availability and real time capability are missing on COTS system.
In this paper, I propose the approaches that improve availability and real time capability of COTS system, using Intel x86-64 CPU SMP machine and Linux, in order to satisfy requirements of the switching system.
First, I propose the live patching approach that enables dynamic modification of process and kernel without restarting. The proposed approach enables to fix the software without restarting, within deadline, and without disrupting real time service.
Then I propose the priority control of disk IO that reduces the maximum response time of high-priority write system call. The adoption of COTS components causes the call processing to record transaction log to hard disk drive, and that recording increase in the service response time. The proposed approach reduces bottlenecks of write mechanism in the kernel.
The proposed approaches enable to adopt COTS system to switching system. The approaches are not only for switching system but also for the system which use COTS system and improve the availability and the real time capability.
近年ライフラインたるネットワークサービスの交換システムに既製コンピュータであるIA サーバ(Intel Architecture)に代表されるデファクトスタンダードたるCOTS (Commercial
off-the-shelf)を適用することが要望されている.交換システムが提供するネットワークサー
ビスはライフラインたるサービスであり,年間99.999%以上のサービス稼働時間であるこ とが要求される.同時に実時間性が要求され,サービス処理を要求される時間以内に実施す ることが求められる.PSTN (Public Switched Telephone Network)及びISDN(Integrated Services Digital Network)に代表される電話サービスを提供するデジタル交換システムには,
従来,専用コンピュータによるシステムが適用され,要求される可用性と実時間性を実現して きた.
専用コンピュータの多くは製造から長い歳月が経過し,ハードウェアが老朽化,保守部品の 製造が困難となっている.このため専用コンピュータは更改の必要性に迫られている.
しかし,単純に交換システムに既製コンピュータを適用するだけでは,交換システムに要求 される可用性及び実時間性をはじめとした要件を満たせない課題が存在する.特に可用性と実 時間性はサービス提供上優先度を高く取り組むべき課題である.そこで本論文ではCOTSで
あるIAサーバとLinuxを用いて特にサービス提供に直結する可用性と実時間性を向上させ,
交換システムに既製コンピュータを適用するための方式を研究する.
第一にLinuxを使用したシステムの可用性の向上技術として,ソフトウェア修正方法に着
目する.既製コンピュータのソフトウェア修正では,修正されたロードモジュールを再ロード する必要があり,クラスタを用いた稼動系切換を行なったとしても,稼動系切換時間が長期化 しサービスの可用性が低下する.そこでプログラムを再起動させることなく,かつサービスの 実時間性を損なわずにソフトウェアをオンライン修正することで,サービスの可用性を向上さ せる.本論文ではシステム上の主要ソフトウェアであるユーザプロセスとカーネルを,サービ スのタイムアウト値以内の停止時間で,稼働中のまま修正するライブパッチ方式を提案してお り,ソフトウェアの再起動に伴うサービスの停止時間を削減し,サービスの可用性を向上さ せる.第二にサービス処理の高優先化による実時間性の改善として,ディスクIOの優先度制 御技術を提案する.電話サービスでは障害復旧時にも途切れなくサービスを継続するために,
個々のセッションの状態遷移のトランザクションログをディスクに記録する.しかしLinux のディスクIOは十分な優先度制御技術を有しておらず,ディスクが輻輳する場合,優先度が 高い書込み処理が遅延しサービスの実時間性に影響を及ぼす.本論文で提案するディスクIO 優先度制御技術では,IO 処理を優先度に応じた順序で処理することで,システムコール単位 の処理レスポンスタイムを低減し,サービスの実時間性向上を行なう.
本論文で有効性が実証された技術は交換システムへ既製コンピュータ適用可能とするが,こ れら技術は交換システムにしか適用できないわけでない.これら技術は様々な領域のシステム へと適用可能であり,コストに優れる標準的な既製コンピュータを使用したシステムにより提 供されるサービスの可用性及び実時間性を向上することが可能である.
目次
第1章 序論 1
1.1 本論文の目的と意義 . . . 1
1.2 本論文で取り組む課題 . . . 3
1.3 本論文の構成と範囲 . . . 3
第2章 交換システムへの既製コンピュータ適用にむけた技術動向と本研究の位置づけ 4 2.1 交換システムの概要 . . . 4
2.1.1 デジタル交換システムの概要 . . . 4
2.1.2 VoIPでの交換システムの概要 . . . 7
2.1.3 交換システムの要求条件 . . . 7
2.2 専用コンピュータによる交換システム . . . 10
2.2.1 システム構成 . . . 10
2.2.2 可用性を高める技術 . . . 11
2.2.3 実時間性を向上する技術 . . . 13
2.2.4 保守性を向上する技術 . . . 14
2.2.5 生産性を向上する技術 . . . 15
2.2.6 障害解析性を向上する技術 . . . 15
2.3 通信交換システムへの既製コンピュータ適用実現の技術動向 . . . 15
2.3.1 標準化動向. . . 16
2.3.2 システム構成 . . . 17
2.3.3 可用性の現状と課題 . . . 17
2.3.4 実時間性の現状と課題 . . . 21
2.3.5 保守性の現状と課題 . . . 22
2.3.6 生産性を向上する技術 . . . 23
2.3.7 障害解析性向上の現状と課題 . . . 23
2.4 結言. . . 25
第3章 ライブパッチ:ソフトウェアオンライン修正による可用性の向上 27 3.1 研究の背景 . . . 27
3.2 高可用化のためのソフトウェア修正 . . . 28
3.2.1 既存のオンライン修正方法及び関連技術 . . . 30
3.3 ライブパッチ方式による既製コンピュータでのオンライン修正. . . 31
3.3.1 修正用ロードモジュールの作成 . . . 34
3.3.2 修正用ロードモジュールのロード . . . 34
3.3.3 修正用ロードモジュールへの実行遷移 . . . 34
3.4 ライブパッチ方式の実装 . . . 47
3.4.1 プロセスライブパッチの実装 . . . 50
3.4.2 カーネルライブパッチの実装 . . . 51
3.5 ライブパッチの適応性評価. . . 52
3.5.1 プロセスライブパッチの評価と考察 . . . 52
3.5.2 カーネルライブパッチの評価と考察 . . . 58
3.6 結言. . . 58
第4章 ディスクIOの優先度制御方式による実時間性の向上 61 4.1 研究の背景 . . . 61
4.2 交換システムのHDDアクセスに関する要求条件と制約 . . . 63
4.2.1 既製コンピュータを用いる交換システムでのハードウェアの制約 . . . 63
4.2.2 交換システムでのHDD書込み処理の要求条件. . . 65
4.3 書込み処理に関する研究動向:スループット向上とレスポンスタイム削減 . . 67
4.3.1 Linuxカーネルの同期Writeシステムコールの挙動 . . . 67
4.3.2 ファイルシステムの書込み処理 . . . 69
4.3.3 IOスケジューラによるIOリクエスト制御. . . 69
4.3.4 IONICE:IO優先度フレームワーク . . . 73
4.3.5 IOアクセスの順序性 . . . 73
4.4 Writeシステムコールのレスポンスタイム向上 . . . 74
4.4.1 Writeシステムコールのレスポンスタイムの遅延 . . . 75
4.4.2 レスポンスタイムを向上させるWrite処理の提案 . . . 75
4.5 実験を通じた提案方式の効果測定 . . . 83
4.6 実験の考察 . . . 85
4.7 結言. . . 91
第5章 結論 92 5.1 研究成果の概要. . . 92
5.2 今後の課題 . . . 94
謝辞 95
関連論文 96
参考論文 97
参考文献 98
著者略歴 103
図目次
2.1 伝送路でのデジタル交換システムの配置. . . 5
2.2 伝送路及び信号路でのデジタル交換システムの配置. . . 6
2.3 VoIPでの交換システム . . . 8
2.4 専用コンピュータによる交換システムのアーキテクチャ . . . 12
2.5 既製コンピュータを用いた交換システムのアーキテクチャ . . . 18
2.6 COTSベースの交換システムのアーキテクチャ . . . 19
3.1 jump命令上書きによる修正関数の実行例 . . . 32
3.2 ライブパッチ方式を使用したシステムの運用 . . . 35
3.3 ライブパッチ方式によるオンライン修正. . . 36
3.4 カーネルのメモリ管理を介した特権メモリアクセス. . . 37
3.5 コンパイルによるシンボル情報の出力 . . . 39
3.6 jump命令の上書き. . . 42
3.7 PLT及びGOTによる実行遷移 . . . 43
3.8 修正対象プロセスの実行状態停止 . . . 45
3.9 ターゲットソフトウェアのスタック確認による実行アドレスとの競合確認 . . 46
3.10 カーネルライブパッチでのカーネルの停止と分岐命令の上書き. . . 48
3.11 ライブパッチ方式のシーケンス . . . 49
3.12 プロセスライブパッチ実施時の修正対象プロセスの停止時間 . . . 53
3.13 プロセスライブパッチにてスケジューラ上のプロセス実行状態を停止するま での時間 . . . 55
3.14 プロセスライブパッチでのjump命令上書き時間 . . . 56
3.15 プロセスライブパッチにてスケジューラ上のプロセス実行状態を復旧するま での時間 . . . 57
3.16 カーネル修正時のカーネル停止時間 . . . 59
4.1 永続データの記録方法 . . . 62
4.2 セッションの状態遷移とトランザクションログ記録. . . 64
4.3 OSのページキャッシュとディスクキャッシュ,同期書込みと非同期書込みの 関係. . . 66
4.4 Linuxの同期書込みの概要 . . . 68
4.5 EXT3ファイルシステムの書込み処理. . . 70
4.6 IOスケジューラの処理 . . . 71
4.7 IOアクセス輻輳時の問題 . . . 76
4.8 既存IOスケジューラを使用した場合の高優先Writeシステムコールのレス ポンスタイム . . . 77
4.9 IOスケジューラの問題 . . . 79
4.10 IOスケジューラの改善 . . . 81
4.11 EXT3ファイルシステムの問題 . . . 82
4.12 EXT3ファイルシステムの改善 . . . 84
4.13 高優先Writeシステムコールのレスポンスタイム. . . 86
4.14 実験中の平均IOスループット. . . 87
4.15 レスポンスタイムの頻度グラフ . . . 89
4.16 レスポンスタイムのパーセンタイルグラフ . . . 90
表目次
2.1 要求条件と達成技術のまとめ . . . 26
3.1 既存のオンライン修正方法の比較 . . . 31
3.2 評価環境 . . . 52
4.1 評価環境 . . . 78
第 1 章
序論
1.1 本論文の目的と意義
近年のコンピュータ技術の発展,とりわけIAサーバやCOTS(Commercial off-the-shelf) に代表される既製コンピュータを使用したシステムの技術進歩は,従来専用コンピュータや汎 用コンピュータにて実現されてきた様々なコンピューティングを既製コンピュータで代替可能 としている.
例えば従来極めて高性能なスーパーコンピュータに代表される専用コンピュータにて実現さ れてきたバッチ型の大規模計算は,複数のIAサーバをローカルネットワークで接続するHPC クラスタリングや,広域ネットワークで多数のパーソナルコンピューターを接続するGridコ ンピューティングにより代替されつつある.
また,従来メインフレーム等に代表される汎用コンピュータにて実現されてきた企業内の人 事システムや給与システムといった業務管理システムのみならず,銀行の勘定系システムや,
交通機関の座席予約システム,証券取引システム等,企業の営利活動に直接関係するソフトリ アルタイムかつミッションクリティカルなコンピューティング処理に,既製コンピュータを使 用したシステムによる代替が進んでいる.
このようにIAサーバに代表される既製コンピュータの技術進歩による,専用コンピュータ や汎用コンピュータからのマイグレーションは,ソフトウェアの開発効率を向上させ,ハード ウェアにかかるコストを下げ情報化社会の発展に大きく貢献している.
さて,専用コンピュータの1つである交換システムは,独自の技術により以下に示す要件を 満たし,ライフラインたるサービスである電話サービスを提供してきた.
可用性 通信事業者では一般的に年間99.999%以上のサービス稼働時間であることが要求さ れる.
実時間性 電話サービスは実時間性を要求されるサービスであるため,サービスの処理を一定 の処理時間以内に実施することが要求される.
問題解析性 問題発生時には原因を確実に解析できるよう十分な障害情報を収集できること,
同時にこの障害情報収集によりサービス提供へ影響を与えないことが要求される.
保守性 サービス提供時に異常が発生した場合には即座に対応が行えるよう,迅速な障害通知 を行えることが要求される.また異常時の制御は保守者によって行われるだけでなく,
ある程度までシステム自律で障害回復を試みることも要求される.
生産性 サービス追加や変更が頻繁に発生してもソフトウェアの生産性を高く保ち,維持管理 コストを低く抑えることが要求される.
性能 上述の実時間性を保ちながら数百から数千のセッション制御を多重処理で実施すること が要求される.
PSTN (Public Switched Telephone Network)及びISDN(Integrated Services Digital Net-
work)に代表される電話サービスを提供する従来の交換システムでは,専用に研究開発された
独自技術を有する専用コンピュータにより前述の要件を満たし,信頼性の高いサービスを提供 可能とするが,非常にシステムのコストが高い.今日の電話サービスをはじめとしたネット ワークサービスには,より安いコストで従来と同様もしくは従来以上の信頼性を持つサービス を提供することが求められている.
更に専用コンピュータによる交換システムの多くは製造から長い歳月が経過しておりハード ウェアの老朽化や保守部品の製造が困難となっており,早急な対応が必要である.
しかし,単純に今日の代表的な既製コンピュータであるIAサーバと,昨今通信系システム に適用されるOSであるLinuxを交換システムに適用するだけでは,前述の要件を満たすこと は困難である.特に可用性と実時間性は,今日既製コンピュータが適用されているコンピュー ティング領域で必要とされるレベルよりもはるかに厳しいものであり,交換システムのサービ ス提供上外す事のできない要件である.
IAサーバでも専用コンピュータのようなベンダ独自のハードウェアの高可用化技術を有し たハードウェアも存在し,このようなハードウェアを適用することも一案ではあるが,高価で ある。更に独自のハードウェアの高可用化技術に依存したシステムアーキテクチャを選択する と,そのハードウェアが製造困難となった際に新たなシステムへの更改のコストが増加する.
またそのハードウェアを製造するベンダしか選択できず,ベンダロックインが発生し調達コス トが増大する.コストダウンのためには極めて一般化・標準化されたハードウェア及びソフト ウェアを調達し,それら標準的かつデファクトスタンダードである既製製品をベースに交換シ ステムに要求される要件を満たすべく課題を解決する事が重要である.
今後既製コンピュータにて,専用コンピュータによる交換システムを更改するためには,既 製コンピュータの可用性および実時間性を始めとする課題の解決が必要である.特にサービス 提供に直接影響を与える可用性と実時間性は優先度を高く課題解決に取り組む必要がある.そ こで本論文では交換システムに既製コンピュータを適用するために可用性と実時間性を向上さ せる研究に取り組む.
1.2 本論文で取り組む課題
今日のハードウェアの処理能力はプロセッサの進歩をはじめとする技術進歩により,交換シ ステムのサービス処理である呼処理へ十分適用可能な処理性能を有している.しかし交換シス テムの要件は処理性能だけではなく,上述した各種要件を満たすことが求められる.
特にこれら要件の中でも,サービスの提供に密接に関係する可用性と実時間性は,交換シス テムにとって重要な要件である.
しかし既製コンピュータのソフトウェアの可用性は,ハードウェアの可用性にはるかに劣 る.これは今日の高度なソフトウェアの状態遷移はハードウェアの状態遷移よりも圧倒的に複 雑かつ大規模であり,ソフトウェアのデバッグにて全ての状態の組み合わせでの走行ルートを 試験することは極めて困難である.このため数多くのバグを内包したままリリースされる事が 多く,バグが顕在化した際,システムを停止しての対応が必要となり,結果としてサービスの 可用性が低下する.
また実時間性は,タスクの実行や割り込みを制御するソフトウェアによって実現される.現 在の既製コンピュータではハードディスクのIO処理においてタスク単位の優先度は考慮せ ず,ディスク全体の最適化を最優先とするため,呼処理に伴うディスクIO処理が遅延し,結 果としてサービスの実時間性を著しく低下させてしまう.そこで本論文では上記課題を以下に 示す取り組みにて解決する.
第一にシステムの可用性の向上技術として,システム上の主要ソフトウェアであるユーザプ ロセスとカーネルを稼働中のまま修正することで,ソフトウェア修正時の再起動に伴うサービ スの停止時間を削減するライブパッチ技術を提案し,その有用性を示す.
第二にIO処理の高優先化による実時間性の改善に取り組む.電話サービスでは障害復旧時 にも途切れなくサービスを継続するために,個々のセッションの状態遷移をディスクに記録す る動作を行なう.しかし既製コンピュータのディスクIO処理は十分な優先度制御技術を有し ておらず,IO処理が競合する場合優先度が高いサービス処理が遅延する.本論文ではIO処 理を優先度に応じた順序で処理することで,システムコールあたりのレスポンスタイムを削減 するディスクIO処理の優先度制御技術を提案し,その有用性を示す.
1.3 本論文の構成と範囲
本論文は5つの章から構成される.第1章は本章であり,本研究の目的と意義について述べ た上で,本研究で取り組む課題を明らかにする.第2章では,本研究で取り組む交換システム へのCOTS適用に向けた技術動向を示した上で,本研究の位置付けを明らかにする.第3章 では従来技術では可用性に課題を持つソフトウェア修正を対象に,提案したライブパッチ方式 について詳細に述べる.第4章では従来方式では実時間性に課題を持つディスクIO制御処理 を対象に提案したディスクIOの優先度制御方式について詳細に述べる.第5章は本研究の結 論として,研究成果の概要についてまとめる.また,本研究の今後の課題についても述べる.
第 2 章
交換システムへの既製コンピュータ 適用にむけた技術動向と本研究の位 置づけ
2.1 交換システムの概要
交換とは多数の端末が接続される通信網において,任意の端末間に通信のための回線及び セッション(呼)を設定することであり,この回線及びセッションの接続を行なうものが交換 システムである.
2.1.1 デジタル交換システムの概要
デジタル交換システムにおいて,通信のための回線は電話番号の値により選択される.一 般に加入者を直接収容する加入者交換システム(Local switch system)は市単位などの地域単 位で配置され数万〜10万人程度を収容する.この加入者交換システム間を中継交換システム (Tool switch system)が結びつけ(図2.1),ホップ・バイ・ホップで回線(トランク)を確立 し,確立された回線に音声・データ等が伝送される.この際,End-to-End間で何らかの理由 で1箇所でも回線が確保できない場合は,そのサービスセッションである呼は確立されず呼損 となる.
またデジタル交換システムでは,回線を割り当てるために交換システム間で制御信号で ある共通線信号を伝送路とは別の専用の通信網と専用の交換システムであるSTP(Signal Transport Point)を用いてやりとりする(図2.2 ).
デジタル交換システムはこれらセッション制御に加えて,輻輳時の制御,課金管理,付加 サービス管理をリアルタイムかつ多重に行うことができ,かつ遠隔地からの集約監視,各種制 御を行うことが可能である.
端末間の距離が長距離になるほど,端末間の回線は複数の交換システムを経由して設定さ れ,音声・データは設定された多数の回線を経由して伝送される.このため個々の交換シス
LS LS LS
TS
Local switch layer Toll switch layer
Terminal
LS LS
LS TS TS
Terminal
Terminal Terminal
・・・・・・・・ ・・・・・・・・
LS:Local Switch TS:Toll Switch
LS LS
LS TS
Local switch layer Toll switch layer
Terminal
LS LS
LS TS TS
Terminal
Terminal Terminal
・・・・・・・・ ・・・・・・・・
LS:Local Switch TS:Toll Switch
図2.1.伝送路でのデジタル交換システムの配置
LS LS LS
TS TS
LS LS LS
TS SEP SEP SEP
SEP
SEP SEP
SEP SEP SEP STP
Transport Network
Signaling Network
LS:Local Switch TS:Toll Switch
SEP:Signal End Point STP:Signal Transfer Point STP
STP
LS LS
LS
TS TS
LS LS LS
TS SEP SEP SEP
SEP
SEP SEP
SEP SEP SEP STP
Transport Network
Signaling Network
LS:Local Switch TS:Toll Switch
SEP:Signal End Point STP:Signal Transfer Point STP
STP
図2.2.伝送路及び信号路でのデジタル交換システムの配置
テムが十分な可用性と実時間性を実現できなければ,サービス自体提供することができなく なる.
2.1.2 VoIP での交換システムの概要
VoIP(Voice Over Internet Protocol)とは,音声を各種符号化方式で圧縮しパケットに変換 した上でIP(Internet Protocol:インターネットプロトコル)ネットワークでリアルタイム 伝送する技術である.
VoIPにおいてはパケットの伝送を行うルータ及びスイッチと,SIP[1] 等のプロトコルを 用いてセッション制御を行う交換システム(ソフトスイッチやCall Agentと呼ばれる場合も ある)が存在する.ユーザは交換システムに対して接続要求を出し,交換システムは複数の 交換システム間で制御情報を通信し,対向のユーザの呼び出しを行い通信のためのセッショ ンを確立する.ユーザ間の通信に用いられる音声データの伝送には一般的にRTPプロトコ ルを用いてEnd-to-Endで伝送される (図2.3).また音声データをEnd-to-Endで直接伝送 するのではなく,一旦中継の交換システムにて音声データのセッションを終端して伝送する B2BUA(Back to Back User Agent)[1]方式も存在する.VoIPにおいてはSIP等の制御信号 もIPプロトコルを用いる.またデジタル交換システムとは異なり,音声データと制御信号が 同一のネットワーク上を流れる.
一般的にVoIPでは交換システムと伝送装置は連携しないため,伝送路にて音声データの優 先度が管理されていない場合や,音声データが複数事業者間のネットワークを中継して伝送さ れる場合,伝送路の品質確保が困難となる場合がある.
このため,サービス種別によっては交換システムと伝送装置が連携を行なう場合や,外乱要 因のないVoIPサービス専用のIP網を用いてサービスを構成する場合もある.
VoIPは基盤となるネットワークにIP技術を使用するため,様々な装置へCOTSの適用が 容易であるが,1つの機器の故障が大規模な障害につながる可能性があり,各装置の品質や管 理・運用面での課題が存在する.
2.1.3 交換システムの要求条件
電話サービスに代表される交換システムが提供するネットワークサービスは,社会のライフ ラインとしての役割を担っており,交換システムの障害は社会に甚大な影響を及ぼす.
このため電話サービスを提供する交換システムには,特に可用性が重要視される.またその 他の要件として実時間性,保守性,生産性,性能が求められる.
これら要求条件について説明する.
• 可用性
可用性(Availability)とは,平均故障間隔(MTBF:Mean Time between Failure)
Terminal
IP Network
Terminal
TA
1. Encode to digital data
3. IP routing by router/switch 2. Find destination IP
address from phone number, reserve network resources
CA
4.Decode to analog data
Analog data Voice data on IP packet
CA
TA: Terminal Adapter CA: Call Agent
Router/Switch
Router/Switch
Router/Switch
Terminal
IP Network
Terminal
TA
1. Encode to digital data
3. IP routing by router/switch 2. Find destination IP
address from phone number, reserve network resources
CA
4.Decode to analog data
Analog data Voice data on IP packet
CA
TA: Terminal Adapter CA: Call Agent
Router/Switch
Router/Switch
Router/Switch
図2.3.VoIPでの交換システム
と平均復旧時間(MTTR:Mean Time To Recover)によって示される.
Availability = M T BF M T BF +M T T R
交換システムは,年間99.999%以上のサービス稼働時間であることが求められる [2].障害やサービス追加・修正にともなうソフトウェア修正のためのファイル更新 作業によってサービス停止が許容される時間はおよそ5分程度である.またサービ ス提供中は要求されるすべてのセッションのサービス処理を遅滞なく処理すること が要求される.
一般にこの平均故障間隔は信頼性を表す値でもある.交換システムでは上述の平 均故障間隔が長いことに加えて,系切り替えの際に,コールデータと呼ばれる各 ユーザのセッション状態を可能な限り待機系へ引き継ぎ,障害発生によりフェイル オーバーした後も,可能な限り処理中のサービスをそのまま継続することが要求さ れる.
• 実時間性
実時間性とはリソースに限りがある状態でジョブの実行が命令された時,その処 理を要求時間内に終了することができることである.実時間性を持つシステムとし て以下の分類が存在する.
ハードリアルタイムシステム システムに課せられたある処理が要求される時間内 に終了しない時(タイムアウト),システム全体にとって致命的ダメージが生 じる.
ファームリアルタイムシステム システムに課せられたある処理が要求される時間 内に終了しない時(タイムアウト),システム全体に致命的なダメージを与え ることはないが,その処理自体の価値は即座に0となる.
ソフトリアルタイムシステム システムに課せられたある処理が要求される時間内 に終了しない時(タイムアウト),システム全体に致命的なダメージを与える ことはなく,その処理自体の価値も,終了時間などにより徐々に落ちていく.
交換システムはファームリアルタイムシステムである.呼処理ではセッション制 御を多重処理として処理する.あるセッションの呼処理がタイムアウトした場合そ のセッションは確立することのない呼損となる.呼処理のタイムアウトまでの時間 は処理内容およびサービス仕様によって異なるが,おおむね数ミリ秒から1秒程度 である.またこのタイムアウトにより,システム全体の動作が継続できなくなるわ けではない.ただし障害発生時の影響を最小にするため障害検出の観点より,セッ ション単位のタイムアウトが多発する場合,ソフトウェアまたはハードウェアのい ずれかに何らかの障害が発生したとみなし,障害処理や待機系へのフェイルオー バーを行う場合もある.
また実時間性は上述した要件である可用性と密接な関係にある.交換システムが 提供する電話サービスは実時間性を必要とするサービスである.輻輳等の要因でタ イムアウトが発生しサービスの実時間性が満たされていない場合,そのセッション
は呼損となりサービスの可用性が低下する.ゆえに実時間性もサービスを提供する 上で重要な要件であり,定められたタイムアウト値以内に遅滞なく呼処理を行なう ことが要求される.
• 保守性
サービス提供時にハードウェア,ソフトウェア問わず何らかの異常が発生した場 合には,即座に保守者による対応が行えるよう,迅速な障害検出と通知が行えるこ とが要求される.また異常時の回復に向けた制御は保守者によって行われるだけで なく,ある程度までシステム自律で障害回復を試みることも要求される.
• 生産性
サービスを開発する場合及び,運用中にサービス追加や変更が頻繁に発生して も,高いソフトウェアの生産性を保ち,維持管理コストを低く保つことが要求さ れる.
• 障害解析性
何らかの原因で障害が発生した場合,解析のための情報を確実に取得することが 求められる.またこれら情報取得に当たっては提供中のサービスに与える影響が最 小限であることが要求される.
• 性能
上述した実時間性を保ちながら,おおむね数百から数千のセッション制御を多重 処理で実施することが求められる.さらにサービス及びシステムによって異なる が,おおむね数万から10万人程度のユーザ数を収容可能,最頻時にはセッション 制御を一時間当たり数十万件程度処理することが求められる.一般に10万〜50 万BHCA(Busy Hour Call Attempt)程度の処理能力を有することが求められる.
BHCAとは最煩時呼数であり,電話網が最も混雑する時間帯(busy hour)での 回線呼び出し(call)の回数の総量のことである.BHCAでは実際に受話された呼 び出しに加えて受話されなかった呼び出し(attempt)も含める.
2.2 専用コンピュータによる交換システム
2.2.1 システム構成
以下では典型的な専用コンピュータによる交換システムを例として説明する.専用コン ピュータによる交換システムは,可用性と実時間性をはじめ,求められる要件を満たすために 独自に開発されたハードウェアとOS,ユーザソフトウェアを用い,稼動系と待機系の間に共 有バスを有しすべてのハードウェアコンポーネント単位で冗長化が行われている.専用コン ピュータによる交換システムはデュプレックスシステム構成であり,ソフトウェア・インスタ ンスは稼動系・待機系間で1つとなる.(図2.4 ).
専用コンピュータによる交換システムの特徴として,いくつかの特筆すべき特徴を以下に示 す.なお性能については,CPU及びサービス仕様に依存する点が多いため以下の説明では割
愛する.
2.2.2 可用性を高める技術
専用コンピュータを用いた交換システムには高可用性を実現するための技術として以下の特 徴的な実装・機能が存在する.
• メモリ交絡による完全メモリ同期
専用コンピュータによる交換システムでは稼動系と待機系ハードウェア間で共有 バスを介してメモリが冗長化されており,稼動系のメモリ状態と待機系のメモリ状 態を同期することができる.このため稼動系にてハードウェア障害が発生し,待機 系へ処理切換時には旧稼動系にて直前まで実行していた処理を,新稼動系にて継続 可能である.
本機能により極めて迅速に稼動系の切換が可能であるとともに,ある程度までの ソフトウェア障害においても,メモリ上に存在するコールデータを消失することな く処理継続が可能である.
またメモリ交絡による同期の有効無効はソフトウェアから制御でき,冗長系に おいては任意のポイントのメモリ状態を待機系のメモリに保持することも可能で ある.
• 再開エスカレーションによる局所初期化
専用コンピュータによる交換システムでは,ソフトウェア障害に対して可用性を 向上させるために再開エスカレーション機能を有している.再開エスカレーション とは,致命的なソフトウェア障害が発生時に,既製コンピュータの一般的なソフト ウェアのようにプロセス全体を終了するのではなく,障害が発生したタスクの一部 の処理のみを初期化し再実行することである.
交換システムの多くのソフトウェア障害は,多重実行されるタスク内の特定の処 理が想定外に重なった場合に発生することが多い.またこのようなケースが事前に 検知することが難しく洗い出しきれない現状がある.障害が発生した処理のみを局 所的に初期化し再実行することで,障害発生時の状態とは異なる状態となり処理が 成功する可能性が高い.この再実行でうまく動作しない場合には,初期化及び再実 行を行なうタスクの範囲を徐々に拡大することで可能な限り短時間でサービス処理 を再開させる機能である.
また専用コンピュータによる交換システムではソフトウェア・インスタンスは単 一であり,ソフト障害時には本機能による復旧時間がサービス復旧時間となる.
• ソフトウェアのオンライン修正
専用コンピュータによる交換システムのソフトウェアのオンライン修正方法と して,専用のOSと専用のハードウェア上で実現されるC++言語のオンライン修 正[3]が存在する.サービス処理部分及びカーネル部分等,サービスに使用される
CPU Memory
Active-Node Standby-Node
(Duplex system) Processor B lock
Other
Function Block Disk I/O Function Block HDD
. . .
S ystem file
Memory dump
Real-time memory synchronization by cross circuit.
Rapid switch over without service interruption
Real-time memory synchronization by cross circuit.
Rapid switch over without service interruption
Automatic escalating initialization mechanism using multi-backups.
A utomatic escalating initialization mechanism using multi-backups.
Snap-shot of all memory images by hardware.
Snap-shot of all memory images by hardware.
Firm real-time kernel for 1000s of multi-tasks.
Prioritized processing for critical operations.
Firm real-time kernel for 1000s of multi-tasks.
Prioritized processing for critical operations.
New Function JUMP
Runtime software modification without service Interruption.
(Both for kernel and application programs) Runtime software modification without service Interruption.
(Both for kernel and application programs)
図2.4.専用コンピュータによる交換システムのアーキテクチャ
ソフトウェアの全域をオンライン修正可能であり,ソフトウェアを再ロードするこ となく実行中のまま修正することが可能である.本機能によりサービスを停止させ ず,軽微な機能追加とソフトウェアのバグ修正を実施することが可能である.
メモリ交絡によるリアルタイムでのメモリの冗長化によりMTTRを限りなく0に近づける ことができる効果的な手法である.メモリ交絡機能を持つ専用コンピュータを用いた交換シス テムでは,稼動系と待機系のメモリ状態が完全に同期されるため,系切換を瞬時に行える.今 日の既製コンピュータには,メモリ交絡機能は存在せずシリアライズされたデータをネット ワーク経由で同期するしかできない.このため,完全にリアルタイムでの全データの同期は困 難であり,この点が系切換に時間を要する原因である.また後に示す障害解析性の課題の原因 でもある.
ソフトウェアのオンライン修正はMTBFを長期化できる効果的な手法である.交換システ ムは巨大なメモリを使用するため,ソフトウェアの修正によりディスクから修正されたロード モジュールを再ロードする際,再起動に長時間を要し可用性が低下する.またソフトウェア・
インスタンスは単一であるため修正のためにロードモジュールを再ロードすることは許容され ない.ハードウェアの活線挿抜が可能なように,ソフトウェアにおいてもサービスを停止する ことなくオンライン修正を行うことは可用性を保つためには極めて重要なことである.
2.2.3 実時間性を向上する技術
専用コンピュータによる交換システムには実時間性を向上するための技術として以下の特徴 的な実装・機能が存在する.
• リアルタイムスケジューラによるタスク割り当てと,タスクでのCPU実行権開放の 実装
専用コンピュータによる交換システムではタスクへの実行権割り当てにシンプル な優先度ごとのFIFOキューを持ったリアルタイムスケジューラを使用している.
交換システムに搭載されるソフトウェアの大多数がリアルタイムタスクとして動作 するため,個々の処理ロジックの処理時間をあらかじめ考慮して設計・実装が行な われており,その処理が長時間に及ぶ場合には,タスク側にて処理途中で他の処理 にCPU実行権限を明け渡すよう実装されている.またCPUの実行権限の開放が 適切に行われているかを後述のメーズ監視機構にてチェックしている.
既製コンピュータでは,タイムシェアリング型のスケジューラが使用可能であ り,ドライバやカーネル等の低レベルソフトウェアを除く一般的タスクでは,CPU の実行権開放を意識する実装は稀である.
• メモリ固定割付によるメモリアクセスレイテンシーの排除
専用コンピュータによる交換システムでは,ソフトウェアが使用するメモリは全 て物理メモリと1:1にマッピングされている.このため,システムの状態によっ て,ソフトウェアが使用するメモリが仮想メモリ等に退避されることはなく,メモ
リアクセス速度を常に一定に保つことが可能である.また論理メモリアドレスが マッピングされる物理メモリアドレスも固定であるため,メモリ交絡によるメモリ 同期においても待機系で同期されたメモリ内容をそのまま使用し,処理継続を行う ことが可能である.
専用コンピュータによる交換システムにおいては,ソフトウェアの設計思想が実時間性を考 慮したものであった.メモリ操作においてもシステムコール単位でタイムアウト機能を有して おり,タイムアウトする場合には操作をあきらめる設計思想である.一方,今日の既製コン ピュータにおいては,たとえばメモリ操作においても,可能な限り遅延操作を行い,システ ムとしてリソースの最適使用や動作継続性を優先する.OS上のタスクの動作が完全にコント ロール可能であることを前提としたOSの設計と,どのようなタスクが動作するかを予期不能 であることを前提に設計される汎用OSとでは,実時間性に差がでる.
2.2.4 保守性を向上する技術
専用コンピュータによる交換システムには保守性を向上するための技術として以下の特徴的 な実装・機能が存在する.
• 迅速なハードウェア異常検出
専用コンピュータによる交換システムでは,ハードウェアはパッケージ単位で管 理されており活線挿抜が可能となっている.またパッケージ単位での正常性の自己 判断がハードウェアレベルで実施でき,何らかの異常が発生した際にはCPUに即 座に割り込みをかけ異常を通知することができる.割り込まれたCPUでは,ハー ドウェア異常のハンドラに処理を受け渡す.通常,ハンドラでは障害が発生した パッケージを切り離す,もしくは稼動系の切換を行い,異常を保守システムへ迅速 に通知する.
• メーズ監視機構による迅速なソフトウェア異常検出
2.2.3で示したように,専用コンピュータを用いた交換システムでは,大多数の
タスクがリアルタイムタスクであり,タスク側にてCPU実行権を開放することを 意識した実装がされている.仮に優先度の高いタスク側で無限ループを生じるよう なバグが存在しても,他のタスク及びシステム全域に影響を与えないよう,各タス クの実行時間は厳密に管理されている.
専用コンピュータによる交換システムが有していたメーズ監視機構は,タスク毎 にソフトウェア的なWDT(Watch Dog Timer)を持たせるものである.タスク が一定時間を越えても実行権を手放さず,かつメーズをクリアしない場合,該当タ スクを暴走したものとみなしカーネルは異常系の処理を行う.そのため長時間動作 しなければならないタスクは適時メーズをクリアし,正常に実行し続けていること をメーズ監視機構に通知する必要がある.
専用コンピュータによる交換システムでは,このメーズの間隔は8ms程度であ
り,大部分のタスクは一度実行権を割り当てられれば8ms以内にその処理を終了 できるよう,設計・実装されている.
2.2.5 生産性を向上する技術
専用コンピュータによる交換システムにおいて生産性を向上するための試作として,C++
言語によるソフトウェア開発が行われた.これによりソフトウェア開発効率が向上したが,既 製コンピュータ環境に存在する豊富なライブラリや実装例,POSIXに準ずるインタフェース があるわけではなく,既製コンピュータのソフトウェア開発環境と比べると十分ではない.
2.2.6 障害解析性を向上する技術
専用コンピュータによる交換システムには障害解析性を向上するための技術として以下の特 徴的な実装・機能が存在する.
• サービス無停止での全メモリ領域ダンプ機能
専用コンピュータによる交換システムでは,システムが稼動中に使用するOSを 含むメモリ領域が稼動系・待機系で同期されている.全メモリ領域のダンプを取得 したい場合には,待機系のメモリをディスクにダンプすることで,稼動系の動作を 妨げることなく障害発生瞬間のダンプを取得することが可能である.
高度に専用化されたハードウェアにより,サービスの可用性を妨げることなく障 害解析情報を取得することが可能である.
2.3 通信交換システムへの既製コンピュータ適用実現の技術 動向
専用コンピュータによる通信交換システムでは交換システムに求められる要求条件を満たす よう,コストをかけて設計・実装されていた.
しかしこれらの交換システムは設計・開発時より長期間経過しており,ハードウェアの老朽 化や保守部品が製造困難となっている.またソフトウェアも専用のハードウェアアーキテク チャを前提としており,異なるアーキテクチャへの対応が困難である.
更に昨今の激しいサービスの価格競争により,従来の交換システムの更改に用いるシステム と新たなサービスに用いるシステムをコストに優れる標準に準拠したコンポーネントを用いて 構築する事が要望されている.
このような状況から,今日,既製コンピュータに代表されるCOTSを,交換システムへ適 用するために,世界中の様々なキャリア,ベンダ,団体にて,研究が行なわれている.以下に 標準化動向,既製コンピュータによる交換システムのアーキテクチャ,交換システムの要件に 対する既製コンピュータの充足度を示す.
2.3.1 標準化動向
COTSベースの既存コンピュータによる交換システムの構築に対する標準化として次に示 す団体による標準化が主流である.
• Open Communications Architecture Forum (OCAF)[4]
OCAFはITU-Tにて,COTSで容易にNGN を構成できるようにすること,
とくに通信用ソフトウェアの標準コンポーネントを確立することを目指し,交換シ ステムを含む通信システムのソフトウェアアーキテクチャの参照モデルや具体的な コンポーネントの検討を行い,勧告化することを目的としている.
特定のコンポーネントに関するものではなく,システム全体のアーキテクチャに 対する検討,標準化を目指している.
• Service Availability Forum (SA Forum)[5]
SA Forum は 通 信/コ ン ピ ュ ー タ 業 界 の コ ン ソ ー シ ア ム で あ り ,高 可 用 性 の ネットワーク基盤製品,システム,サービスの開発に利用可能な高可用ク ラ ス タ リ ン グ ソ フ ト ウ ェ ア (High Availability Clustering) の イ ン タ フ ェ ー ス 仕 様 [6] を 開 発 し ,業 界 で の 採 用 と 普 及 を 促 進 し て い る .SA Forum に お い て は ,ア プ リ ケ ー シ ョ ン の 高 可 用 性 を 実 現 す る AIS(Application Interface Specification)[7][8][9][10][11][12][13][14][15][16][17][18][19],ハ ー ド ウ ェ ア を 制 御・監視する HPI(Hardware Platform Interface Specification)[20][21],モニタ リングインターフェースであるSMI(Systems Management Interfaces)を定義し ており,準拠製品によりこれら仕様を満たす実装が行われている.
• Carrier Grade Linux Working Group (CGL-WG)[22]
CGL-WGはOSDL(Open Source Development Laboratories)にて,活動が開 始され,通信事業者向けLinuxの仕様,特にカーネル等,OSの基本的な機能部 分で通信事業者に必須の仕様を規定している.OSDLは2007年1月にFSG(Free Standards Group)と統合されLinux Foundationとなった.
CGL-WGにおいては,Linuxに必要なソフトウェアとしての機能を,可用性,
標準準拠性,保守性,ハードウェアの対応,クラスタリング,性能,セキュリティ といった7つの要件の観点から定義している[23][24][25][26][27][28][29][30].
• Advanced Telecom Computing Architecture(ATCA)[31]
ATCAは,PCI Industrial Computer Manufacturers Group(PICMG)のガ イドラインの元で,100社を超える業界サプライヤおよび通信機器メーカによって 開発された,通信事業者向けのハードウェア仕様である.この標準に基づくプラッ トフォームは通信業界独自のニーズに応えることを目的としており,通信事業者で の使用に必要なラック・サイズ,電源,および環境の条件に対応し,IAサーバの技 術の多くを取り込んだ実装が多く行われている.
これらの標準化団体によって定義される代表的なシステムアーキテクチャを図2.5に示す.
ハードウェアコンポーネントについてATCAを,OSについてはCGL準拠のLinuxを,ミ ドルウェアについてはSAF準拠コンポーネントを適用し,アプリケーションについては独自 のサービスロジックを開発するモデルが一般的である.
またこれら標準は完成されたものではなく,まだ発展途上のものであり,今後標準品のみで 一定の品質が保たれるよう,多くのベンダ,通信事業者がこれら標準化にて検討を行ってい る.また本研究の成果の一部もLinux FoundationのCGL-WGに貢献している.
2.3.2 システム構成
上述の標準化動向を踏まえ,交換システムに既製コンピュータを適用する場合,図2.6に代 表されるシステム構成がとられる.SA Forumに準拠するミドルウェアを用い,稼動系・待機 系のシステム単位での冗長化がとられる.この場合,ソフトウェア・インスタンスは稼動系・
待機系で2つ存在する.
ハードウェアはATCAに代表される通信事業者での使用に耐えうる信頼性を有し,1.1に 示したように標準規格に準拠し複数のベンダから調達可能な,コストに優れるハードウェアが 適用される.
ソフトウェアコンポーネントにおいては,OSのLinuxのようにオープンソースであること は極めて重要である.ブラックボックスであるソフトウェアコンポーネントを用いた場合,障 害発生時,障害解析のターンアラウンドタイムが長く,迅速な対応が困難となるケースが多 い.また最悪の場合には障害を解析できない場合も存在する.専用システム上のソフトウェア のソースコードは通信事業者側で有しており,障害解析を迅速に行なうことが可能であった.
オープンソースであればCOTSのソフトウェアコンポーネントであっても通信事業者側で障 害解析可能であり,実運用に向けた課題を少なくできる.
以下に交換システムの要求条件に対する,それぞれの到達点と課題について説明する.なお 性能については,CPUとサービス仕様に依存する点が多いため以下の説明では割愛する.
2.3.3 可用性の現状と課題
現状
交換システムに既製コンピュータを適用する場合,可用性についてはSA Forumにて定義 されるミドルウェアベースのHAクラスタリングによる高可用化が主である.
• HAクラスタリングによる可用性向上
SA Forumが定めるAIS仕様により,従来専用コンピュータによる交換システ
ムが有していたメモリの同期機能がソフトウェア処理にて実現されている.本機能 により稼動系に障害が発生した場合でも,待機系にて処理を引き継いでサービスを 継続することが可能である.
一方,専用コンピュータではハードウェアにて実現されていた機能をソフトウェ
ATCA, Blade server, Rack mount server
Software Development
tools Carrier Grade Linux
HA Clustering (SAF based)
Components (etc) Components
(Protocols) Components
(Call control) Applications
ATCA, Blade server, Rack mount server
Software Development
tools Carrier Grade Linux
HA Clustering (SAF based)
Components (etc) Components
(Protocols) Components
(Call control) Applications
図2.5.既製コンピュータを用いた交換システムのアーキテクチャ
Memory
Active-Node Standby-Node
(Cluster system) Processor
Block
Network Interface Function Block Disk I/O
Function Block HDD
. . .
Memory dump
Snap-shot of crashed software memory by OS.
Snap-shot of crashed software memory by OS.
Network Interface Function Block Non-real-time Important data synchronization through network.
Non-real-time Important data synchronization through network.
Load
module Swap file CPUCPU CPUCPU
Soft real-time Linux kernel.
Symmetric Multi Processing/Threading.
Soft real-time Linux kernel.
Symmetric Multi Processing/Threading.
Use HDD as part of virtual memory.
Use HDD as part of virtual memory.
Virtual memory allocation that excess physical memory size.
Virtual memory allocation that excess physical memory size.
Reload process from load module whenever process fails.
Reload process from load module whenever process fails.
Memory
Active-Node Standby-Node
(Cluster system) Processor
Block
Network Interface Function Block Disk I/O
Function Block HDD
. . .
Memory dump
Snap-shot of crashed software memory by OS.
Snap-shot of crashed software memory by OS.
Network Interface Function Block Non-real-time Important data synchronization through network.
Non-real-time Important data synchronization through network.
Load
module Swap file CPUCPU CPUCPU
CPUCPU CPUCPU
Soft real-time Linux kernel.
Symmetric Multi Processing/Threading.
Soft real-time Linux kernel.
Symmetric Multi Processing/Threading.
Use HDD as part of virtual memory.
Use HDD as part of virtual memory.
Virtual memory allocation that excess physical memory size.
Virtual memory allocation that excess physical memory size.
Reload process from load module whenever process fails.
Reload process from load module whenever process fails.
図2.6.COTSベースの交換システムのアーキテクチャ
アにて実現するため,遥かにその速度及び転送量には制約があり実時間性は低い.
またユーザプロセスが使用する一部のメモリ領域を引き継ぐに過ぎないため,より 低レイヤのプロトコル処理されるセッション情報などは引き継ぐことが困難であ る.このため障害時に引継ぎ・継続可能なサービス種別が制限される.
課題
交換システムに求められる可用性とは,サービスの可用性を保つことである.このためには MTTRの短縮とMTBFの長期化が重要である.
サービスの一時的な中断が,サービスのタイムアウト時間内であれば,ユーザのセッション は処理継続され,サービスの可用性には影響を与えない.このタイムアウトまでのサービス中 断許容時間は処理内容によって異なるが,おおむね数ミリ秒から1秒程度である.
既製コンピュータの場合HAクラスタリングによる稼動系の切換時間が主なMTTRとなる が,この稼動系の切換は多くのデータ転送や状態遷移処理を必要とし数秒〜10秒程度を要 し,大幅にタイムアウト値を超過する.このため稼動系切換はサービスの可用性低下の一因と なる.
HAクラスタリングを用い交換システムに要求される可用性を低下させないためには,よ り高速な系切換を行ない,MTTRを短縮させる必要がある.この取り組みの一環として Infiniband[32][33]やEthernetを使用したRDMA(Remote Direct Memory Access)[34]の仕 様化が行なわれ,通信事業者向けに標準化されたハードウェアへの適用も検討されている.し かしこれら技術を搭載したハードウェアは高価であり主流ではない.現時点ではCPUブレー ドにはリリースからある程度年月が経過した比較的安定したコントローラチップを搭載したも のが主流であり適用可能である.本研究では,今すぐに商用サービスに適用可能な熟成された 技術及びATCA等の通信事業者向けに標準化されたハードウェアを用いることを前提として おり,現時点でこれら技術は商用へ適用可能な状況ではない.このため系切換の契機自体を削 減するMTBFの長期化が極めて重要となる.
今日の既製コンピュータ及び専用コンピュータではソフトウェアのMTBFはハードウェア に比べて劣っている.これはソフトウェアがハードウェアに比べて遥かに複雑な状態遷移をも ち大規模であるからである.このためあらゆる状態の組み合わせの試験は困難であり,特殊条 件化で発動するバグが発見されないまま運用されてしまう.Linux,上述のミドルウェア,ア プリケーションコンポーネントにおいても潜在的に数多くのバグを有し,更に専用コンピュー タにおいても同様である.これらバグに遭遇した場合、サービス提供に影響を及ぼす場合もあ りMTBFは低下する.
通常これらバグが発見されれば開発者によって速やかに修正され,一般的なコンピューティ ング用途であれば,バグ修正されたロードモジュールに差し替え,ソフトウェアを再起動する ことで修正を行なう.
交換システムは同一のシステムが全国に多数分散配置される.あるシステムでバグが発見さ れた場合,その修正を他システムに迅速に展開することが重要である.更に交換システムは
ライフラインサービスを提供し,24時間365日サービスを提供し続ける必要がある.ソフト ウェア修正によりサービスの可用性が低下することは許容されない.単にソフトウェアを再起 動する場合,サービス復旧までに長時間を要しサービスの可用性が低下する.
既製コンピュータに適用されるHAクラスタリングにより稼動系切換を用い,待機系にてソ フトウェアを更新し系切換を行う場合,仮に系切換時間が十分短縮化されたとしても,待機系 がソフトウェアを再ロードする間一時的にクラスタから切り離されるため,冗長化されていな い状態となり可用性が低下する.更に稼動系切換は複雑な状態遷移を行うため,場合によって は想定外の障害が発生する可能性もある.
また専用コンピュータはデュプレックスシステムによる冗長化構成であり,ソフトウェア・
インスタンスは単一である.このためソフトウェアバグはサービスへ重大な影響を及ぼす恐れ があり,同様に可用性に影響を与えないソフトウェア修正方法であるオンライン修正が適用さ れてきた.
交換システムには可用性に影響を与えないサービスのタイムアウト値以内の停止時間でソフ トウェアを修正することが必要であり,既製コンピュータにて可用性に影響を与えないソフト ウェア修正方法を確立することが求められる.
2.3.4 実時間性の現状と課題
交換システムに既製コンピュータを適用する場合,実時間性についてはOSにて制御される 資源割り当ての処理に依存する.ここではLinuxの資源割り当てについて現状と課題につい て示す.
現状
ハードウェアとしてCPUはSMP(Symmetric Multi Processor)やSMT(Symmetric Multi
Threading)構成を適用可能であり,多数の並列プロセスを同時に処理可能である.一方,こ
のCPUやメモリ,DISK,ネットワーク等の資源はOSによって制御され,各タスクにソフ トリアルタイムでの資源割り当てが行われる.
• CPUスケジューラでの実時間性向上
今日のLinuxのCPUスケジューラでは,タスクに対して1ms単位でのCPU割 り当て変更可能となっている.本機構により優先度が高いタスクが実行可能になっ た際にも,既存のタスクが一般的な実行領域を走行中であれば,より優先度の高い 処理が実行権限を得ることが可能である.
またタスク数が増大した際にも,適切なタスクを高速に選択可能な O(1)スケ ジューラにより,多大なスケジューリング遅延を出さずに実行権を受け渡すことが できる.
• プリエンプティブ性向上による実時間性向上
上述のCPUスケジューラにおいてタスクの実行権を細かい粒度で受け渡し可能