• 検索結果がありません。

今後の課題

ドキュメント内 向上に関する研究 (ページ 105-114)

X+100 High

5.2 今後の課題

本研究では,交換システムに既製コンピュータを適用可能とするため,可用性を向上させる ライブパッチ方式によるソフトウェアのオンライン修正とIO優先度制御方式による実時間性 の向上について提案した.

ライブパッチ方式の今後の課題として,オンライン修正中に修正対象ソフトウェアを停止す る時間の更なる低減化を検討しており,現在分岐命令を用いて実行遷移を行なっているが,割 り込みを適用して書き換えの一貫性を保つ方法を検討している.分岐命令を上書きする際,事 前に書き換え箇所にバイパスを作成し,修正対象関数のアドレスを実行する際に、割り込みを 発生させ、このバイパスを割り込みハンドラにて実行させることにより、他CPUを停止せず に処理の分岐を行うことができると考える.

具体的には、x86-64 アーキテクチャのint3割り込み命令 (デバッグ用のトラップ命令)を 使用することにより、任意のアドレスで割り込みを発生させ、動的に処理を挿入する.本処理 をカーネル内に実装した機能としてkprobes[70]が存在し、バージョン2.6.10以降のLinux カーネルには標準で取り込まれている.この機能は、主にカーネル内の性能計測用に使用され る.ライブパッチ方式においても、int3命令埋め込みのアトミック性を利用して分岐命令の書 き込みを行うことにより、高速かつ安全に分岐命令の書き換えを行えると考える.

また,利便性を高めるために,修正モジュールの作成支援ツールの拡充を行い,より簡易に 修正モジュール及び関連ファイルの作成を行えること,さらにライブパッチによって変更され たメモリイメージとロードモジュールを一致させる方式について検討している.

IO優先度制御技術では主にファイルシステムとIOスケジューラの優先度制御に取り組ん だが,更なる遅延の低減化により実時間性を向上させるためにより下位のデバイスドライバで も,優先度制御を行うことを今後の課題として検討している.

本研究では交換システムに求められる要件のうち可用性と実時間性のみを対象としている が,既製コンピュータでは他の要件である保守性と障害解析性の向上も行う必要がある.これ ら要件を満たすよう既製コンピュータの課題点を解決し,既製コンピュータを適用した交換シ ステムの完成度を高めることは実務の観点からも極めて重要である.

謝辞

本研究を進めるにあたり,ご指導ならびにご助言いただいた電気通信大学大学院情報システ ム学研究科情報ネットワーク学専攻高性能コンピューティング学講座 本多弘樹教授,平澤将 一助教に心より感謝いたします.また,本論文に対して有益なご助言,ご示唆頂いた,電気通 信大学大学院情報システム学研究科 曽和将容教授,加藤聰彦教授,多田好克教授,吉永努 准教授に厚くお礼申し上げます. また,常々ご指導頂き本論文執筆の機会を与えて頂いた NTTネットワークサービスシステム研究所・清野浩一所長,内田直樹部長に心から感謝致し ます.本研究は,筆者がNTT ネットワークサービスシステム研究所において,2003年から 行ったものであり,上司として本研究を行う機会を与えて頂いたNTTソフトウェア・白石智 部長,山田哲靖部長に深く感謝致します.そして,研究遂行にあたり,日々,有益なご討論,

ご助言を頂いた,日野村聡氏,野口昌彦氏,河原崎裕朗氏,岩田哲弥氏,四七秀貴氏,田中慎 司氏をはじめ,NTTネットワークサービスシステム研究所の方々に心から感謝申し上げます.

最後に,研究を献身的に支えてくれた愛する妻の知子,両親をはじめ多くの方々のご協力を得 て研究成果をまとめることができたことを深く感謝致します.

関連論文

(1) 池邉隆,河原崎裕朗,内田直樹,平澤将一,本多弘樹,ネットワークサービス提供に向けた 汎用システムにおけるソフトウェア修正方式,電子情報通信学会論文誌B Vol.J91-B, No.1, pp.1-13, Jan. 2008.

第3章の関連論文

(2) Takashi Ikebe, Yasuro Kawarasaki, Naoki Uchida,Shoichi Hirasawa, Hiroki Honda, Runtime software modification method used on COTS system for high-availability network service, in Proceedings of the 1st New Technologies, Mobility and Security (NTMS2007), pp.237-250, May 2007.

第3章の関連論文

(3) Takashi Ikebe, Naoki Uchida, Shoichi Hirasawa, Hiroki Honda, Reduction of syn-chronous Write response time on call control server, in Proceedings of the Aus-tralasian Telecommunication Networks and Applications Conference 2007 (ATNAC 2007), pp.509-514, Dec 2007.

第4章の関連論文

参考論文

(1) 池辺隆,河原崎裕朗,山中淳司,ネットワークサービス提供に向けたLinuxOSの高可用 化ライブパッチ手法,電子情報通信学会 信学技報 NS2005-50, 2005.

(2) 池辺隆,河原崎裕朗,山中淳司,ネットワークサービス提供に向けた汎用OS の高可用化 ライブパッチ手法,電子情報通信学会 信学技報 NS2004-175, PN2004-71, 2004.

(3) Takashi Ikebe, Yasuro Kawarasaki, Junji Yamanaka, Practical TCP session take-over method for high-availability network service, in Proceedings of the 6th Asia-Pacific Symposium on Information and Telecommunication Technologies (APSITT 2005), pp. 1-6, November 2005.

(4) 池辺隆,本多弘樹,弓場敏嗣,帯域予約開始までの待ち時間を考慮したRSVPの提案,電 子情報通信学会論文誌B Vol.J85-B NO.8, pp.1172-1181, 2002.

参考文献

[1] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R.

Sparks, M. Handley, and E. Schooler, “SIP: Session Initiation Protocol,” RFC3261, http://www.ietf.org/rfc/rfc3261.txt?number=3261, June 2002.

[2] Omri Serlin(著),渡辺榮一(編),フォールト・トレラント・システム,pp.33-56,マグロ ウヒル出版,東京,1990.

[3] K.Koyanagi, H.Sunaga, T.Yamada, and H.Ikeda, “Applicability evaluation of service feature enhancement using plug-in modification technique,” IEICE Trans. Commun., VOL.E81-B, NO.1, pp.58-65, Jan. 1998.

[4] ITU-T, “Open Communications Architecture Forum (OCAF) Focus Group,”

http://www.itu.int/ITU-T/ocaf/.

[5] Service Availability Forum, http://www.saforum.org/home.

[6] Service Availability Forum, “Service Availability Interface,”

http://www.saforum.org/home.

[7] Service Availability Forum, “Application Interface Specification Availability Manage-ment Framework,” http://www.saforum.org/home.

[8] Service Availability Forum, “Application Interface Specification Checkpoint Service,”

http://www.saforum.org/home.

[9] Service Availability Forum, “Application Interface Specification Cluster Membership Service,” http://www.saforum.org/home.

[10] Service Availability Forum, “Application Interface Specification Event Service,”

http://www.saforum.org/home.

[11] Service Availability Forum, “Application Interface Specification Information Model Management Service,” http://www.saforum.org/home.

[12] Service Availability Forum, “Application Interface Specification Lock Service,”

http://www.saforum.org/home.

[13] Service Availability Forum, “Application Interface Specification Log Service,”

http://www.saforum.org/home.

[14] Service Availability Forum, “Application Interface Specification Message Service,”

http://www.saforum.org/home.

[15] Service Availability Forum, “Application Interface Specification Naming Service,”

http://www.saforum.org/home.

[16] Service Availability Forum, “Application Interface Specification Notification Service,”

http://www.saforum.org/home.

[17] Service Availability Forum, “Application Interface Specification Security Service,”

http://www.saforum.org/home.

[18] Service Availability Forum, “Application Interface Specification Software Manage-ment Framework,” http://www.saforum.org/home.

[19] Service Availability Forum, “Application Interface Specification Timer Service,”

http://www.saforum.org/home.

[20] Service Availability Forum, “Hardware Platform Interface Specification,”

http://www.saforum.org/home, December 2006.

[21] Service Availability Forum, “HPI-to-AdvancedTCA Mapping Specification,”

http://www.saforum.org/home, December 2005.

[22] Linux Foundation, “Carrier Grade Linux,” http://www.linux-foundation.org/en/Carrier Grade Linux

[23] Linux Foundation, “CGL Requirements Definition Overview,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-overview.pdf, Feburary 2007.

[24] Linux Foundation, “CGL Availability Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-availability.pdf, Feburary 2007.

[25] Linux Foundation, “CGL Clustering Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-cluster.pdf, Feburary 2007.

[26] Linux Foundation, “CGL Servicability Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-serviceability.pdf, Feburary 2007.

[27] Linux Foundation, “CGL Performance Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-performance.pdf, Feburary 2007.

[28] Linux Foundation, “CGL Standards Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-standard.pdf, Feburary 2007.

[29] Linux Foundation, “CGL Hardware Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-hardware.pdf, Feburary 2007.

[30] Linux Foundation, “CGL Security Requirements Definition,”

http://developer.osdl.org/dev/cgl/cgl40/cgl40-security.pdf, Feburary 2007.

[31] PCI Industrial Computer Manufacturers Group, “Advanced TCA PICMG 3.0 Short Form Specification,” http://www.advancedtca.org/, January 2003.

[32] InfiniBand Trade Association, “InfiniBand Architecture, Volume 1,”

http://www.infinibandta.org, October 2004.

[33] PCI Industrial Computer Manufacturers Group, “Advanced TCA PICMG 3.2 InfiniBand for AdvancedTCA Systems Short Form Specification,”

http://www.advancedtca.org/, January 2003.

[34] R. Recio,P. Culley,D. Garcia,J. Hilland, “An RDMA Protocol Specification (Version 1.0),” http://www.rdmaconsortium.org, October 2002.

[35] Intel,Hewlett-Packard,NEC,and Dell, “Intelligent Platform Management Interface Specification Second Generation v2.0,”

http://download.intel.com/design/servers/ipmi/IPMIv2 0rev1 0.pdf, February 2004.

[36] Bradford Nichols,Pthreadsプログラミング,オライリー・ジャパン,東京,1998.

[37] T. Ritzau and J. Andersson. Dynamic deployment of Java applications. In Java for Embedded Systems Workshop, 2000.

[38] M.Dmitriev, “HotSwap technology application for advanced profiling.” Workshop on unanticipated Software Evolution (USE 2002), pp.14-18, June 2002.

[39] T.Yamada, H.Sunaga, S.Tanaka, S.Shiraishi, K.Koyanagi, “Evaluation of partial file modification for Java-based realtime communication Systems, ” IEICE Trans. Com-mun., VOL.E88-B, NO.10, pp.3982-3991, Oct. 2005.

[40] O. Frieder and M. Segal. On dynamically updating a computer program: From con-cept to prototype, Journal of Systems and Software, vol.14, pp.111-128, 1991.

[41] J. Peterson, P. Hudak, and G. S. Ling. Principled dynamic code improvement. Techni-cal Report, YALEU/DCS/RR-1135, Department of Computer Science, Yale University, July 1997.

[42] M. Hicks and S. M. Nettles, Dynamic Software Updating, ACM Transactions on Programming Languages and Systems (TOPLAS), 27(6), November 2005.

[43] D. Gupta , P. Jalote and G. Barua, A Formal Framework for On-line Software Version Change, IEEE Transactions on Software Engineering, v.22 n.2, pp.120-131, February 1996.

[44] Object Management Group, “Online Upgrades Specification,” 2002.

[45] L. A. Tewksbury, L. E. Moser and P. M. Melliar-Smith, “Live Upgrade Techniques for CORBA Applications,” Proceedings of the Third IFIP WG 6.1 International Work-ing Conference on Distributed Applications and Interoperable Systems, pp.257-271, Krakow, Poland, 2001.

[46] L. A. Tewksbury, L. E. Moser and P. M. Melliar-Smith, “Live Upgrades of CORBA Applications Using Object Replication,” Proceedings of the IEEE International Con-ference on Software Maintenance, pp.488-497 , Florence, Italy, 2001.

[47] L. E. Moser, P. M. Melliar-Smith and L. A. Tewksbury, “Online Upgrades Become Standard,” Proceedings of the IEEE 26th International Computer Software and Appli-cations Conference, pp.982-988 Oxford, England, 2002.

[48] E.Biederman, “kexec,” http://www.xmission.com/ ebiederm/files/kexec

[49] 池邉隆,河原崎裕朗,山中淳司, ネットワークサービス提供に向けたLinxuOSの高可用 化ライブパッチ手法, 信学技報, NS2004-175,2004.

[50] 池邉隆,河原崎裕朗,山中淳司, ネットワークサービス提供に向けた汎用OSの高可用 化ライブパッチ手法, 信学技報, NS2005-50,2005.

[51] NTT, “Pannus project,” http://pannus.sourceforge.net

[52] J.R. Levine(著),榊原一矢(監訳),ポジティブエッジ(訳),Linkers & Loaders,オー ム社,東京,2001.

[53] Advanced Micro Devices, “AMD64 Architecture Programmer’s Manual Volume 3:

General-Purpose and System Instructions,” http://www.amd.com

[54] D.P. Bovet,M.Cesati, Understanding the LINUX KERNEL, Third ed., O’Reilly &

Associates,Sebastopol,2006.

[55] F.Ukai “livepatch,” http://ukai.jp/Software/livepatch/

[56] Ts’o, Theodore, and S. Tweedie, ”Planned Extensions to the Linux Ext2/EXT3 Filesystem,” Proceedings of the 2002 Usenix Technical Conference FREENIX Track, 2002.

[57] S. L. Pratt and D. A. Heger, “Workload Dependent Performance Evaluation of the Linux 2.6 I/O Schedulers,” Linux Symposium, Ottawa, Canada, July 2004.

[58] S. Iyer and P. Druschel, ”Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O,” SOSP 2001, August 2001.

[59] J. Axboe, “ionice(1) - Linux man page,” http://linux.die.net/man/1/ionice [60] samba project, ”rsync,” http://rsync.samba.org/

[61] J. Bruno, J. Brustoloni, E. Gabber, B. “Ozden, and A. Silberschatz. Disk scheduling with quality of service guarantees,” In IEEE ICMCS, June 1999.

[62] S. Chen, J. A. Stankovic, J. F. Kurose, and D. Towsley. “Performance evaluation of two new disk scheduling algorithms for real-time systems,” Journal of Real-Time Systems, 3(3):307-336, Sept 1991.

[63] L. Golubchik, J. C. S. Lui, E. de Souza e Silva, and H. R. Gail. “Evaluation of tradeoffs in resource management techniques for multimedia storage servers,” In IEEE ICMCS, June 1999.

[64] L. Huang and T. Chiueh. “Implementation of a rotation latency sensitive disk sched-uler,” Technical Report ECSL-TR81, SUNY, Stony Brook, Mar. 2000.

[65] S. Iyer and P. Druschel. “The effect of deceptive idleness on disk schedulers,” Tech-nical Report CSTR01-379, Rice University, June 2001.

[66] D. Jacobson and J. Wilkes. “Disk scheduling algorithms based on rotational position,”

Technical Report HPL-CSP-91-7rev1, Hewlett-Packard, Feb. 1991.

[67] C. Lumb, J. Schindler, G. Ganger, D. Nagle, and E. Riedel. “Towards higher disk head utilization: Extracting free bandwidth from busy disk drives,” In 4th USENIX OSDI, Oct. 2000.

[68] T. Mowry, A. Demke, and O. Krieger. “Automatic compiler inserted I/O prefetching for out-of-core applications,” In 2nd USENIX OSDI, Oct. 1996.

[69] A. L. N. Reddy and J. Wyllie, “IO issues in a multimedia system,” IEEE Computer 27(3):69-74,1994

[70] IBM Linux Technology Center, “Kernel Probes,”

http://sourceware.org/systemtap/kprobes/

ドキュメント内 向上に関する研究 (ページ 105-114)