マルチプラットフォームでのソフトリアルタイム技術の明確化(第6章 課題4)に関して、Java動 的コード再配置技術および動的データ配置技術を提案した。
動的コード再配置技術および動的データ配置技術により、キャッシュのヒット率を向上させるとい う取り組みは、プログラム全体の性能向上の観点から効果があることが確認できた。
今後の課題としては、今回実装した動的コード再配置機能においては、プロファイリングの開始 をタイマによって設定したが、これを自動化する手段が必要である。また、コードの再配置方式や メソッド分割方式についても、例えばキャッシュの特性を考慮するなど、チューニングの余地がある と思われる。
動的データ配置技術の今後の課題としては、オブジェクトへのアクセス頻度を効率的に収集する こと、それに基づいて精度の高いオブジェクト配置情報を生成することがあげられる。また、今回 は、ガーベジコレクション時に頻度別の扱いは考慮しなかったが、世代別ガーベジコレクションに 対応するには、各世代にそれぞれ2種類の頻度別ヒープを用意し、ガーベジコレクション時には同 種の頻度別ヒープへ移動することなどの機能追加が必要である。
参考文献 119
参考文献
[1] Tetsuyasu Yamada, Hiroshi Sunaga, Shinji Tanaka, Satoshi Shiraishi, and Keiichi Koyanagi,
“Evaluation of Partial File Modification for Java-based Realtime Communication Systems,”
IEICE Trans. Commun., vol.E88-B, no.10, pp.3982–3991, Oct 2005.
[2] 山田哲靖,田中慎司,白石智,小柳惠一, “Javaプログラム実行速度高速化のための動的コード 再配置技術,” IEICE Trans. Commun., vol.J87-B, no.6, pp.855–864, June 2004.
[3] Shinji Tanaka, Tetsuyasu Yamada, and Satoshi Shiraishi, “Dynamic code repositioning for Java,” the special issue at IEICE Transactions on Information and Systems, vol.E87-D, no.7, pp.1737–1742, July 2004.
[4] Takaaki Fukuda, Tetsuyasu Yamada, and Tomoharu Yamaguchi, “Quality Improvement in Switching-System Software,” ICSM Experience Paper, pp.353–359, 1999.
[5] Hiroshi Sunaga, Ryoichi Nakamura, and Tetsuyasu Yamada, “Evaluation of ’Plug-in’ Partial File Modification Mechanisms for Node Systems,” IEICE Trans. Commun., vol.E82-B, no.3, pp.500–511, March 1999.
[6] Keiichi Koyanagi, Hiroshi Sunaga, Tetsuyasu Yamada, and Hiromasa 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.
[7] Hiroshi Sunaga, Tetsuyasu Yamada, Kenji Nishikawara, and Tatsuro Murakami, “Evaluation of Software Development Productivity and Analysis of Productivity Improvement Methods for Switching Systems,” IEICE Trans. Commun., vol.E81-B, no.12, pp.2519–2527, Dec. 1998.
[8] Keiichi Koyanagi, Tetsuyasu Yamada, Hiroshi Sunaga, Akira Okamoto, and Michihiro Monden, “Non-Stop Service-Enhanceable Communications Platform Based on an Object-Oriented Paradigm,” IEICE Trans. Commun., vol.E78-B, no.7, pp.1043–1055, July 1995.
[9] Keiichi Koyanagi, Hiroshi Sunaga, Tetsuyasu Yamada, Makoto Tomura, and Nobuaki Kuri-hara, “Distributed Communications System Technology,” IEICE Trans. Commun., vol.E77-B, no.1, pp.1350–1362, Nov. 1994.
[10] Tetsuyasu Yamada, Keiichi Koyanagi, Hiroshi Sunaga, and Hajime Matsumura, “Reli-able Real-time Software Structure for Distributed Switching Nodeds,” IEEE Globecom’94, pp.495–499, Nov. 1994.
[11] Tetsuyasu Yamada, Hiroshi Sunaga, Keiichi Koyanagi, and Hajime Matsumura, “NOSES Object-Oriented Switching Software in C++,” IEEE Globecom’94, pp.828–832, Dec. 1994.
[12] Hiroshi Sunaga, Akira Okamoto, Tetsuyasu Yamada, and Keiichi Koyanagi, “A Reliable Communication Switching Platform for Quick Service Provisioning,” IEEE ICC’95, pp.77–
82, June 1995.
[13] Akira Okamoto, Hiroshi Sunaga, Tetsuyasu Yamada, and Keiichi Koyanagi, “NOSES Plug-in Platform for Quick Service ProvisionPlug-ing,” APCC’95, pp.598–602, 1995.
[14] Hiroshi Sunaga, Tetsuyasu Yamada, Keiichi Koyanagi, and Satoshi Sunaga, “Applicability Evaluation of Service Feature Enhancement using the Partial-File ’Plug-in’ Modification Technique,” IEEE ICC’96, pp.32–36, June 1996.
[15] Hiroshi Sunaga, Ryoichi Nakamura, Tetsuyasu Yamada, and Toshiyuki Moriya, “Software Development Environment for the Object-oriented NOSES Platform,” IEEE Globecom’96, pp.2001–2006, Nov. 1996.
[16] Hiroshi Sunaga and Tetsuyasu Yamada, “NOSES Distributed Communication Switching Software Structure Based on CORBA,” IEEE ICC’97, pp.760–764, Feb. 1997.
[17] Hiroshi Sunaga, Tetsuyasu Yamada, Kenji Nishikawara, and Tatsuro Murakami, “Improved Software Productivity of a Switching System by Advanced Software Development Methods,”
IEEE APCC’97, pp.277–281, Dec. 1997.
[18] Hiroshi Sunaga, Ryoichi Nakamura, and Tetsuyasu Yamada, “Applicability of ”plug-in”
online file modification capabilities to STM/ATM networks and its extension,” IEEE ICC’98, pp.314–318, June 1998.
[19] Tetsuyasu Yamada, Shinji Tanaka, and Satoshi Shiraishi, “Reliable API Software Technolo-gies for Call Agent,” IEEE ISS/WTC’2002, Sept. 2002.
[20] Shinji Tanaka, Hideki Shina, Tetsuyasu Yamada, and Satoshi Shiraishi, “High performance platform for multiple openAPIs,” IEEE ICT2003, pp.1259–1263, March 2003.
[21] Shinji Tanaka, Tetsuyasu Yamada, and Satoshi Shiraishi, “Dynamic code repositioning for Java,” PACT-SHPSEC2003, Sept. 2003.
[22] Shinji Tanaka, Tetsuyasu Yamada, and Satoshi Shiraishi, “Shared Heap for Java,” AP-SITT2003, Nov. 2003.
[23] Keiichi Koyanagi, Takao Shimizu, and Shuji Tomita, “A hierarchically structured switching software,” GLOBECOM ’93, 1993.
[24] Makoto Tomura, Hiroshi Sunaga, and Nobuaki Kurihara, “Autonomous system control for a distributed switching,” GLOBECOM ’93, 1993.
[25] K. Maruyama, Nobuyuki Watanabe, Keiichi Koyanagi, Toshihiro Kai, and Shuji Tomita,
“A concurrent object-oriented switching program in chill,” IEEE Communication Magazine, vol.29, no.1, Jan. 1991.
[26] CCITT, Z.200 CCITT High-Level Language CHILL, CCITT, 1988.
参考文献 121 [27] Kiyoshi Ueda, Hisayoshi Inamori, Hiroshi Sunaga, et al., “Applying TMN to a Highly
Reli-able Distributed Switching Node,” IEICE Trans. Commun., vol.E78-B, no.1, Jan. 1995.
[28] Hisayoshi Inamori, Kiyoshi Ueda, Keiichi Koyanagi, Hiroshi Sunaga, and Tatsuya Kishi,
“Applying TMN to a Distributed Communications Node System with Common Platform Software,” IEEE, ICC’95, 1995.
[29] Hiroshi Sunaga, Kiyoshi Ueda, Hisayoshi Inamori, Keiichi Koyanagi, and Akira Okamoto,
“File Operation for a Nos-stop Service Enhanceable Software (NOSES) Platform,” IEEE GLOBECOM’95, pp.1957–1961, Nov. 1995.
[30] Ryoichi Nakamura, Kenji Nishikawara, et al., “Reliable system recovery in a switching sys-tem,” IEEE GLOBECOM ’94, 1994.
[31] Ryoichi Nakamura, Kenji Nishikawara, et al., “Reliable system recovery in communication switching system platform software,” IEICE APCC ’95, 1995.
[32] Hajime Matsumura, Hiroshi Sunaga, Keiichi Koyanagi, and Syunroku Kasuga, “Highly Re-liable On-line Partial File Modification For Office Data Provisioning in NOSES,” IEEE Globecom’94, pp.1238–1242, Nov. 1994.
[33] Hiroshi Sunaga, et al., “The basic concept of switching control in ctron,” IEEE ICC’91, June 1991.
[34] 大南正人,山田俊文,山田哲靖, “拡張OSとソフトウェア流通支援技術— IROS製品の流通性 向上を目指して—,” NTT技術ジャーナル, vol.7, no.2, pp.18–23, 1995.
[35] Ohm-sha, Outline of CTRON, Original CTRON Specification Series 1, Ohm-sha, 1989.
[36] Ohm-sha, Kernel Interface, Original CTRON Specification Series 2, Ohm-sha, 1989.
[37] OMG, Common Object Request Broker Architecture (CORBA/IIOP), revision 3.0.2 ed., OMG, revision 3.0.2 ed., 2003.
[38] Makoto Furukawa, Hiroshi Sunaga, Makoto Tomura, et al., “Analysis of reusability of com-munication switching software based on c++ object-oriented design,” IEEE ICC ’96, June 1996.
[39] OMG, Comparison of the OMG and ISO/CCITT Object Models, NMF, August 1993.
[40] The government of Japan, “Basic IT Strategy.” http://www.kantei.go.jp/foreign/it/council/basic it.html.
[41] Multiservice Switching Forum, “MSF.” http:// www.msforum.org.
[42] International Softswitch Consortium, “ISC.” http://www.softswitch.org/.
[43] 清野浩一,白石智,山田哲靖, “次世代ネットワークにおけるソフトスイッチ技術,”電子情報通 信学会誌, vol.85, no.12, pp.910–913, Dec. 2002.
[44] Session Initiation Protocol, “SIP.” http://www.ietf.org/rfc/rfc2543.txt.
[45] ITU-T, “H-series.” http://www.itu.int/ITU-T/studygroups/com16/index.html.
[46] IETF, “MEGACO/H.248.” http://www.ietf.org/rfc/rfc3015.txt.
[47] IETF, “MGCP.” http://www.networksorcery.com/enp/rfc/rfc2705.txt.
[48] Sun Microsystems, Inc., “JAIN.” http://java.sun.com/ products/ jain/.
[49] The PARLAY Group, “Parlay.” http://www.parlay.org.
[50] Satoru Furukawa, Hidefumi Nakamura, and Satoshi Shiraishi, “IP Multiservice Support in the Next Generation Network Architecture,” IEICE (ComSoc) APSITT 2001, pp.144–148, Nov. 2001.
[51] Hidefumi Nakamura, Masayuki Akutsu, and Satoshi Shiraishi, “Requirements for provid-ing carrier-grade IP telephony services in the next generation network architecture,” AP-SITT2001, pp.149–153, Nov. 2001.
[52] R. Jain, F.M. Anjum, P. Missier, and S. Shastry, “Java call control, coordination, and transactions,” IEEE Commun. Magazine, vol.38, no.1, pp.108–114, Jan. 2000.
[53] S. Moyer and A. Umar, “The impact of network convergence on telecommunications soft-ware,” IEEE Commun. Magazine, vol.39, no.1, pp.78–84, Jan. 2001.
[54] S. Beddus, C. Bruce, and S. Davis, “Opening up networks with JAIN Parlay,” IEEE Com-mun. Magazine, vol.38, no.4, pp.36–143, April 2000.
[55] Toshio Suganuma, Takeshi Ogasawara, Mikio Takeuchi, Toshiaki Yasue, Motohiro Kawahito, Kazuaki Ishizaki, Hideaki Komatsu, and Toshio Nakatani, “Overview of the IBM Java just-in-time compiler,” Tech. Rep. 39 1, IBM Systems Journals: Java Performance Issue, Feb.
2000.
[56] Albert M. K. Cheng, Real-Time Systems : Scheduling, Analysis, and Verification, Wiley-Interscience, July 2002.
[57] Bruce Powel Douglass and David Harel, Real-Time UML: Developing Efficient Objects for Embedded Systems, Addison Wesley Longman, Dec. 1997.
[58] J. Loeser and H. Haertig, “Low-latency hard real-time communication over switched Ether-net,” 16th Euromicro Conference on Real-Time Systems (ECRTS), pp.13–22, June 2004.
[59] Roger Mailler, Victor Lesser, and Bryan Horling, “Cooperative Negotiation for Soft Real-Time Distributed Resource Allocation,” Proceedings of Second International Joint Confer-ence on Autonomous Agents and MultiAgent Systems (AAMAS) 2003, Melbourne, pp.576–
583, ACM Press, July 2003.
参考文献 123 [60] Andrew Borg and Andy Wellings, “A Real-Time RMI Framework for the RTSJ,” Euromicro
Conference on Real-Time Systems (ECRTS) 2003, July 2003.
[61] Andy Wellings, Concurrent and Real-Time Programming in Java, Wiley, 2004.
[62] Davic Chappell, Active X and OLE: A Guide for Developers & Managers, Microsoft Press, 1997.
[63] Akira Okamoto, Hiroshi Sunaga, and Keiichi Koyanagi, “Dynamic Program Modification in the Non-Stop Extensible System (NOSES),” IEEE ICC’94, pp.1779–1783, May 1994.
[64] Sun Microsystems, Inc., “J2EE.” http:// java.sun.com/ j2ee/.
[65] Sun Microsystems, Inc., “Enterprise Java Beans Technology.”
http://java.sun.com/products/ejb/.
[66] OSDL, “Carrier Grade Linux.” http://www.osdl.org/ lab activities/ carrier grade linux/.
[67] NTT, “Pannus.” http://pannus.sourceforge.net/.
[68] Fumitoshi Ukai, “Livepatch — Live Patching for Linux.”
http://ukai.jp/Software/livepatch/.
[69] M. Dmitriev, Safe Class and Data Evolution in Large and Long-Lived Java Applications, Ph.D. thesis, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, March 2001.
[70] M. Dmitriev, “Towards Flexible and Safe Technology for Runtime Evolution of Java Lan-guage Applications,” Workshop on Engineering Complex Object-Oriented Systems for Evo-lution (OOPSLA 2001), Oct. 2001.
[71] M. Dmitriev, “HotSwap Technology Application for Advanced Profiling,” Workshop on unanticipated Software Evolution (USE 2002), June 2002.
[72] Sun Microsystems, Inc., “JDPA Enhancements.” http:// java.sun.com/ j2se/ 1.4.1/ docs/
guide/ jpda/ enhancements.html.
[73] K. Arnold and J. Gosling, Java programming language, Addison-Wesley, 1996.
[74] Evan Quinn and Chris Christiansen, “Java pays — Positively,” in IDC Bulletin #W16212, IDC, May 1998.
[75] Jennifer Jessup, “Java from the Horse’s mouth : An inside look at how Java has increased developer productivity,” in CMP Media LLC Software Development, CMP Media LLC, March 1999.
[76] Paul Tyma, “Why are we using Java again?,” Commun. of the ACM, vol.41, no.6, pp.38–42, June 1998.
[77] Gordon E. Moore, “Cramming more components onto integrated circuits,” Electronics, vol.38, no.8, pp.114–117, April 1965.
[78] Toshiaki Yasue, Kazunori Ogata, and Hideaki Komatsu, “An optimization technique using profile based branch prediction for dynamic compilers,” J. IPSJ, vol.43, pp.75–84, Jan. 2002.
[79] Toshio Suganuma, Toshiaki Yasue, Motohiro Kawahito, Hideaki Komatsu, and Toshio Nakatani, “A dynamic optimization framework for a Java just-in-time compiler,” ACM Con-ference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2001), pp.180–194, Oct. 2001.
[80] Sun Microsystems, Inc., “Java HotSpot technology.”
http://java.sun.com/products/hotspot/.
[81] H. Boehm, A. J. Demers, and S. Shenker, “Mostly parallel garbage collection,” ACM SIG-PLAN ’91 Conference on Programming Language Design and Implementation, pp.157–164, June 1991.
[82] D. Doligez and X. Leroy, “A concurrent, generational garbage collector for a multithreaded implementation of ML,” ACM SIGPLAN-SIGACT Symposium on Principles of Program-ming Languages, pp.113–123, 1993.
[83] Karl Pettis and Robert C. Hansen, “Profile guided code positioning,” ACM SIGPLAN ’90 Conference on Programming Language Design and Implementation, pp.16–27, White Plains, 1990.
[84] Toshio Suganuma, Toshiaki Yasue, and Toshio Nakatani, “A region-based compilation tech-nique for a Java just-in-time compiler,” ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI 2003), June 2003.
[85] Takeshi Ogasawara, Hideaki Komatsu, and Toshio Nakatani, “A study of exception han-dling and its dynamic optimization in Java,” ACM Conference on Object-Oriented Pro-gramming, Systems, Languages, and Applications (OOPSLA 2001), pp.83–95, Oct. 2001.
http://www.trl.ibm.com/projects/jit/paper/edo.htm.
[86] Takeshi Ogasawara, “Handler cloning for optimizing exception handling,” tech. rep., IBM Research Report RT0529, 2003.
[87] Kazuaki Ishizaki, Kazuaki Ishizaki, Motohiro Kawahito, Toshiaki Yasue, Hideaki Komatsu, and Toshio Nakatani, “A study of devirtualization techniques for a Java just-in-time com-piler,” ACM SIGPLAN Conference on Object-Oriented Programming Systems, languages, and Applications (OOPSLA 2000), pp.15–19, ACM Press, Oct. 2000.
[88] Katherine Barabash, Yoav Ossia, and Erez Petrank, “Mostly concurrent garbage collection revisited,” ACM SIGPLAN conference on object-oriented programming systems, languages, and applications (OOPSLA), pp.255–268, ACM Press, Oct. 2003.
参考文献 125 [89] Trishul M. Chilimbi and James R. Larus, “Using generational garbage collection to imple-ment cache conscious data placeimple-ment,” 1998 International Symposium on Memory Manage-ment (ISMM’98), pp.37–48, ACM, British Columbia, 1998.
[90] Kazuaki Ishizaki, Mikio Takeuchi, Kiyokuni Kawachiya, Toshio Suganuma, Osamu Go-hda, Tatsushi Inagaki, Akira Koseki, Kazunori Ogata, Motohiro Kawahito, Toshiaki Yasue, Takeshi Ogasawara, Tamiya Onodera, Hideaki Komatsu, and Toshio Nakatani, “Effective-ness of cross-platform optimizations for a Java just-in-time compiler,” ACM SIGPLAN con-ference on object-oriented programming systems, languages, and applications (OOPSLA), pp.187–204, ACM Press, Oct. 2003.
[91] 坂井修一, コンピュータアーキテクチャ, 電子情報通信レクチャーシリーズ C-9, コロナ社, March 2004.
[92] Intel, “IA-32 Intel Architecture Software Developer’s Manual, Volume3: System Program-ming Guide,” 2004.
[93] 吉岡 弘隆, “Intel Xeonにおけるメモリレイテンシの測定について.” http://sourceforge.jp/
projects/hardmeter/docman/.
[94] 山田哲靖ほか,ハッキングLinuxザウルスSL-C3100/SL-C1000対応版,ソフトバンクパブリッ シング, Aug. 2005.
[95] 山田哲靖ほか,ハッキングLinuxザウルス,ソフトバンクパブリッシング, June 2004.
[96] 山田哲靖ほか,新情報通信概論,電気通信協会, Sept. 2003.
[97] 四七秀貴, 山田哲靖, “高信頼通信ノードシステムにおけるオンライントレーサの検討,”電子 情報通信学会 B-6-47, March 2005.
[98] 田中慎司,山田哲靖,白石智, “Javaにおける高速データ共有,”情報処理学会, 2003.
[99] 杉村一,池邊隆,山田哲靖, 白石智, “マルチベンダ環境における自律運用型サービス実行環境 を利用した信頼性向上技術,”情報処理学会, 2003.
[100] 田中慎司,山田哲靖, “Javaにおけるスレッドグループヒープ,”電子情報通信学会, 2003.
[101] 池辺隆,白戸宏佳,山田哲靖, “ユビキタスネットワーク実現に向けたサービス発見法の提案,”
SB-4-3, 2002.
[102] 四七秀貴, 田中慎司, 山田哲靖, “OpenAPIプラットフォームにおける呼処理モデル統合方式
の検討,”電子情報通信学会B-6-118, 2002.
[103] 田中慎司,山田哲靖, “Javaにおける高速データ共有,”電子情報通信学会B-6-35, 2002.
[104] 池邊隆,杉村一,白戸宏佳, 山田哲靖, “ユビキタスサービスにおけるサービス指向ネットワー
ク制御機能の提案,”電子情報通信学会, 2002.
[105] 四七秀貴, 田中慎司, 山田哲靖, “高信頼OpenAPIプラットフォームにおけるオブジェクト復 元方式の検討,”電子情報通信学会B-6-92, 2002.
[106] 田中慎司, 四七秀貴, 山田哲靖, “OpenAPIにおけるクラスタ切替時のインターフェイス,”電
子情報通信学会B-6-84, 2002.
[107] 松本健一郎, 山田哲靖,白石智, “次世代IP網に向けたオープンAPIへの要求条件に関する考
察,”電子情報通信学会B-6-133, Sept. 2001.
[108] 白戸宏佳,山田哲靖,白石智, “Open APIを用いた次世代ネットワークサービスプラットフォー
ムの検討,”電子情報通信学会B-6-132, Sept. 2001.
[109] 四七秀貴, 山田哲靖, “OpenAPIプラットフォームにおけるアプリケーションポータビリティ
の実現,”電子情報通信学会B-6-131, 2001.
[110] 田中慎司,山田哲靖, “次世代ネットワークにおけるOpenAPIのアプリケーション認定プログ
ラム,”情報処理学会, Sept. 2001.
[111] 四七秀貴,山田哲靖, “次世代ネットワークにおける分散環境の適応性について,”電子情報通信
学会総合大会 B-6-105, 2001.
[112] 田中慎司, 山田哲靖, “Javaにおけるリソースの量的制御の次世代ネットワークへの適用,”電
子情報通信学会総合大会 B-6-106, 2001.
[113] 澤崎文彦,山田哲靖,中村秀文, “IP Telephonyネットワークのセキュリティ向上に関する検討 ,”電子情報通信学会B-6-115, March 2001.
[114] 銭谷由彦,岡本明,山田哲靖, “次世代ネットワークにおけるコールセンタの実現方法,”情報処
理学会分散アプリケーション(3), Oct. 2000.
[115] 岡本明,山田哲靖,白石智, “次世代ネットワークに対する信頼性条件の考察,”電子情報通信学
会 SB-4-6, Oct. 2000.
[116] 松本健一郎, 山田哲靖,白石智, “次世代ネットワークにおけるOpenAPIに関する検討,”電子 情報通信学会B-6-63, Sept. 2000.
[117] 森谷俊之,田中ゆかり,山田哲靖,白石智, “通信網の統合とコンテンツトレースAPI,” 電子情
報通信学会B-6-35, March 2000.
[118] 浜田信,山田哲靖,岡本明, “プログラム変更を考慮したテストカバレッジ率に関する一考察,”
情報処理学会5ZC-1 1-287, Sept. 1999.
[119] 篠原英二,浜田信,山田哲靖, “C++ソフトウェアにおけるバグとメトリクスデータとの相関,”
情報処理学会5ZC-9 1-303, Sept. 1999.
[120] 中西弘毅, 岡本明,山田哲靖, “大規模交換ソフトウェア開発におけるレビュー支援システム,”
電子情報通信学会B-6-68, March 1999.