第 9 章 結言
9.3. 今後の取り組むべき課題
本研究では,命令仕様がRISC系のCPUをホストとしたインタプリタ方式のエミュレー ション性能の向上に焦点を当て研究してきた.それは,x86系のCPUはPCを中心とした コンシューマ志向の製品であり,長期間に渡る製品供給を必須条件とする産業用途には馴 染まない側面があったからである.しかしながら,インテル社も 2008年4月からATOM プロセッサを正式に発表して出荷し始めたことから,これまで安定供給されてきたRISC系 の組込み用途のCPUの淘汰が加速する懸念もある.したがって,x86をホストとしたイン タプリタの高性能化や,同64ビットモードを活用して明示的に利用可能なレジスタ本数を 拡大してそのインタプリタ性能を向上させる研究も必要になると思われる.
本研究のモチベーションとなった異種マルチプロセッサシステムは組込み機器の一般的 な構成であり,今後,そのシミュレーションのニーズが高まる.シミュレーション対象の 命令セットアーキテクチャにx86を加えた拡張や,マルチスレッド機能があるCPUコアの 高速シミュレーションのニーズも増えてくる.そして,まだ研究するべきことには,現時 点ではモデリングに手間が掛かる I/O を簡易的にモデル化してかつ高速にシミュレーショ ンする技術などがある.また,本研究で扱った性能評価向けのバイナリ変換アクセラレー タの研究も,ホストCPU単体の性能向上が飽和しつつあることに対応し,今後はマルチコ ア構成のホストを意識した性能向上にも取り組むべきと考える.シミュレーション対象が 複数個のCPUという好条件下でも,キャッシュメモリの並列シミュレーションによりホス ト間のオーバヘッドが大きくなり性能上の課題となることがSimOSなど過去の研究結果か ら,予見できている.マルチコアのホストでは 2次キャッシュや3次キャッシュが共有さ れ細粒度の並列化も可能となるため,従来のデータ並列性に着目した手法ではなく機能並 列を含めたシミュレータの高速化も新たな研究課題になると考える.
本研究の成果を,命令レベルシミュレーションの高速化の更なる研究と応用に活用いた だき,組込み機器の発展に寄与いただければ幸いである.
謝辞
本研究において長年に渡りご指導とご鞭撻を頂いた慶応義塾大学情報工学科教授 天野 英晴博士に深く感謝申し上げます.また,本論文の執筆にあたり,慶応義塾大学情報工学 科教授 山本喜一博士,情報工学科准教授 山崎信行博士,システムデザイン工学科准教授 西宏章博士には,ご多忙中にも関わらず懇切丁寧な助言を頂き論文の完成ができ深く感謝 致します.
慶応義塾大学理工学研究科博士課程への社会人入学の機会を与えて下さった,三菱電機
(株)情報技術総合研究所元所長 肥塚裕至氏に深く感謝します.博士課程派遣に推挙し励 まして下さった元同副所長 風間成介氏に深く感謝します.また,研究を進めるにあたりご 指導ご鞭撻を頂いた西井龍五氏,勝山光太郎氏,菅隆志氏,中川路哲男氏,白井健治氏,
高畑泰志氏,武田保孝氏,小島泰三氏に御礼申し上げます.評価にあたり,マシンを提供 して協力下さったリアルタイムプラットフォーム技術部の方々に感謝致します.
また,慶応義塾大学天野研究室での環境設定,ベンチマークSPLASH-2向けの同期マク ロ作成に助言を頂き,論文の初稿の査読にコメントを頂いた田辺靖貴氏に感謝の意を表し ます.親子ほど年の離れた私に温かく接してくださった天野研究室の学生の方々に感謝い たします.
論文目録
本研究に関する論文
【公刊論文】
1. 近江谷康人,天野英晴,“C言語実装を用いたインタプリタ方式の命令エミュレー ション性能の向上”,電子情報通信学会論文誌 和文D vol. J91-D No.2
pp.413-434, 2008年2月
2. 近江谷康人,天野英晴,“性能評価シミュレータESPRIT/simにおける動的バイナ リ変換アクセラレータの簡易実装”,電子情報通信学会論文誌 和文D vol. J91-D No.10 pp.2449-2465, 2008年10月
3. 平岡誠一,近江谷康人,西川浩司,山崎弘巳,“ソフトウェア資産活用に有効なバ イナリトランスレーション技術”,三菱電機技報 vol.77, no.7, pp.487-490, 2003 年7月
【国際会議】
1. Y.Ohmiya and H.Amano “ESPRIT/sim: A HIGH SPEED
PERFORMANCE-SIMULATOR FOR HETEROGENEOUS EMBEDDED MULTIPROCESSORS”, IASTED International Conference Parallel and Distributed Computer and Systems, pp.252-257, Nov. 2008
【その他】
1. Y.Ohmiya and H.Amano, “Dynamic Power Analysis of Embedded Systems Based on Instruction Execution Driven Simulation”, Coolchips XI poster vol.2008 pp.128, Apr. 2008
2. 近江谷康人,天野英晴,“インタプリタ方式による命令エミュレーション処理性 能”,情報処理学会研究報告 vol.2005, no.164, pp.85-90, 2005年8月
3. 近江谷康人,天野英晴,“命令シミュレーション手法を用いた性能シミュレータ”, 情報処理学会研究報告 vol.2006,no.169, pp.133-138, 2006年8月
参考文献
[1] C. Cifuents, V. Malhotra, “Binary Translation: Static, Dynamic, Retargetable?”, pp.340-349, Software Maintenance 1996, Proceedings, International Conf. on 4-8 Nov. 1996.
[2] E. Altman, D. Kaeri, and Y. Sheffer, “Welcome to the Opportunities of Binary Translation”, IEEE computer, 33, pp.40-45, 2000.
[3] C. Zheng, and C. Thompson, “PA-RISC to IA-64: Transparent Execution, No Recompilation”, IEEE computer, vol.33, no.3, pp.47-52, 2000
[4] R.A. Uhlig and T.N. Mudge, “Trace-Driven Memory Simulation: A Survey”, ACM Computing Surveys, vol.29, no.2, pp.128-170, 1997.
[5] 吉瀬謙二,片桐孝弘,本多弘樹,弓場敏嗣,“SimCore/Alpha Functional Simulator の設計と実装”,信学論(D-I),vol.J8-D-I no.2, pp.143-154, Feb. 2005.
[6] 近江谷康人, 天野英晴 “インタプリタ方式による命令エミュレーション性能”,情処 学研報,vol.2005, no.164, pp.85-90, Aug 2005.
[7] D. Burger, T.M. Austine, “The SimpleScalar tool set, version 2.0”, Tech. Report 1342, Computer Science Department, University of Wisconsin-Madison, June 1997.
[8] http://www.mips.com/content/PressRoom/TeachLibrary/RseriesDocs/
[9] Motorola,“PowerPCTM Microprocessor Family: The Programming Environments for 32-bit Microprocessors”, Motorola, 1997.
[10] ル ネ サ ス テ ク ノ ロ ジ ( 株 ),“ SuperH RISC engine フ ァ ミ リ ”,
http://japan.renesas.com/media/products/mpumcu/child_folder/03_sh.pdf
[11] ル ネ サ ス テ ク ノ ロ ジ ( 株 ),“M32R フ ァ ミ リ M32R/ECU シ リ ー ズ ”,
http://japan.renesas.com/media/products/mpumcu/child_folder/04_m32r.pdf
[12] Freescale semiconductor, “MPC7450 RISC Microprocessor Family Reference Manual, http://www.freescale.com/files/32bit/doc/ref_manual/MPC7450UM.pdf [13] SPEC CPU95, http://www.spec.org/cpu95/
[14] M. Rosenblum, S. Herrod, E. Witchel, A. Guputa, “Complete Computer Simulation: The SimOS Approach”, vol.03, no.4, pp.34-43, IEEE Parallel and Distributed Technology, 1995.
[15] B. Cmelik, D. Keppel, “Shade: A Fast Instruction Set Simulator for Execution Profiling”, pp.128-137, ACM SIGMETRICS, Nashville, TN, 1994 (also available from http://portal.acm.org)
[16] “命令エミュレーション方法”,近江谷康人, 特開2002-182928
[17] 平岡精一,近江谷康人,西川浩司,山崎弘巳,“ソフトウェア資産活用に有効なバイ
ナリトランスレーション技術”,三菱電機技報,vol.77, No7,pp.59-62,July 2003.
[18] 中田尚,大野和彦,中島浩,“高性能マイクロプロセッサの高速シミュレーション”, 先進的計算基盤システムシンポジウムSACSIS2003論文集,pp.89-96, 2003
[19] 小谷田重則,平井義郎,和田美加代,“GRANPOWER6000 シリーズの高速化技術”,
FUJITSU, vol.49, no.1, pp.21-25, Jan. 1998 [20] FLEX-ES, http://www.funsoft.com/
[21] R. Yung, “Evaluation of a Commercial Microprocessor”, TR-98-65, pp.5-6, Sun
Microsystems Inc, USA, 1998.
(http://research.sun.com/techrep/1998/smli_tr-98-65.pdf)
[22] “System/370 Architecture Reference Summary”, pp.14-17, NY, USA, 1986.
[23] H. Lowery, B. Mitchell, “Mission computer replacement prototype for special operations force aircraft an application of commercial technology to avionics”, Digital Avionics Systems Conf. 2000. Proc. DASC. The 19th, vol.1, pp.7-13, Oct.
2000.
[24] Transitive corporation, http://www.transitive.com/
[25] 萩原 宏,“マイクロプログラミング”,産業図書,1977
[26] S.S. Mukherjee, S.V. Adve, T.Austin, J.Emer, and P.S. Magnusson: “Performance simulation tools”, Computer, vol.35, no.2, pp.38-39, 2002.
[27] C. Cifuentes, and M.V. Emmerik, “UQBT: Adaptable Binary Translation at Low Cost”, IEEE computer, vol.33, no.3, pp.60-66, 2000.
[28] IBM corporation, ”DAISY: Dynamically Architected Instruction Set from Yorktown”, http://www.research.ibm.com/daisy/
[29] E. Witchel and M. Rosenblum, “Embra: Fast and Flexible Machine Simulation”, Proc. of the 1996 SIGMETRICS Conf. on Measurement and Modeling of Computer Systems, pp.68-79, Philadelphia, May 1996.
[30] M. Wakabayashi, H. Amano, “Environment for multi-processor simulator development”, Parallel Architectures, Algorithms and Networks, 2000. I-SPAN 2000 Proc. pp.64-71, International Symp. Dec. 2000.
[31] T. Nakada, H. Nakashima, “Design and Implementation of a High Speed Microprocessor simulator BurstScalar”, Proc. 12th IEEE/ACM International Symp. Modeling, Analysis and Simulation of Computer and Telecommun.
Systems, pp. 364-372, October 2004.
[32] T. Nakada, T. Tsumura, H. Nakashima, “Design and Implementation of a Workload Specific Simulator”, Proc. of 39th Annual Simulation Symp. pp.230-243, 2005.
[33] S.C. Woo, M. Ohara, E. Torrie, J.P. Singh, and A.Gupta, “The SPLASH-2 programs: Characterization and methodological considerations”, Proc. 22nd International Symp. on Computer Architecture, pp.24-36, Jun. 1995.
[34] SimpleScalar LLC, http://www.simplescalar.com/
[35] 近江谷康人,天野英晴,“命令シミュレーション手法を用いた性能シミュレータ”,情
処学研報,vol. 2006, no.169, pp.133-138, Aug. 2006.
[36] P.S. Magnusson, “Efficient Instruction Cache Simulation with a Threaded-Code Interpreter”, Proc. of the 97 Winter Simulation Conf. pp.1093-1100, 1997.
[37] P.S. Magnusson, F. Dahlgren, “SimICS/sun4m: A Virtual Workstation”, Proc. of USENIX Annual Technical Conf. New Orleans, pp.1-10,1998.
[38] 近江谷康人,天野英晴,“C言語実装を用いたインタプリタ方式の命令エミュレーショ
ン性能の向上”,信学論(D),vol.191D no.2, pp.413-434, Feb. 2008 .
[39] C. Cifuentes, B. Lewis and D. Ung, “Walkabout – A Retargetable Dynamic Binary Translation Framework”,
http://research.sun.com/techrep/2002/smli_tr-2002-106.pdf
[40] M. Gschwind, E.R. Altman,S. Sathaye, P. Ledak and D. Appenzeller, “Dynamic and Transparent Binary Translation”, IEEE computer, 33, pp.54-59, 2000.
[41] Crusoe CMS, http://www.transmeta.com/crusoe/download/pdf/crusoetechwp.pdf [42] SystemC, open systemc initiative, http://www.systemc.org/
[43] 新舎隆夫,伊藤徳義,小野裕幸,大西洋一,“ハードウェア/ソフトウェア協調検証の
高速化技術の開発と製品化”,Embedded Technology 2005 最先端SoC設計技術セ ミナー,Nov. 2005(http://www.starc.jp/download/et2005/02_shinsha.pdf)
[44] 若林正樹,天野英晴,“並列計算機シミュレータの構築支援環境”,信学論(D-1),no.3,
pp.247-256, Mar. 2001.
[45] 田辺靖貴,塙敏博,天野英晴,“マルチプロセッサシステム構築支援スーパスカラプ
ロセッサモデルの開発”,信学論(D-I),vol.J90-D, no.6, pp.1428-1444, Jun. 2007.
[46] R.F. Cmelik and D. Keppel, “Shade: A Fast Instruction Set Simulator for Execution Profiling”, SUN Microsystems Technical Report TR-93-12, July 1993.
[47] F.G. Soltis, 日本アイビーエム, “Inside the AS/400 (second edition) ”,インフォク リエイツ, 1998.
[48] H. Matsuo, S. Imafuku, K. Ohno, H. Nakashima, “Shaman: A Distributed Simulator for Shared Memory Multiprocessors”, In Proc. 10th IEEE/ACM International Symp. on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, pp. 347–355, Oct. 2002.
[49] Patrick Bohrer, James Peterson, Hazim Shafi, “Advances in PowerPC System Simulation”, pp.1-74, ISPASS Workshop, March, 2003 (http://www.power.org/resources/devcorner/cellcorner/MamboTutorial-2003-03.pdf )
[50] T. Lindholm and F. Yelli, Sun Microsystems Inc., ”Java Virtual Machine Specification 2nd Edition”, 2000.
[51] T. Suganuma, T.Ogasawara, M. Takeuchi,T.Yasue, M. Kawahito, K. Ishizaki, H.
Komatsu and T. Nakatani, ”Overview of the IBM Java Just-in-Time compiler”, IBM System J. vol.39, 1, pp.175-193, 2000.
[52] Sun Microsystems Inc., ”The CLDC HotSpot(tm) Implementation Virtual
Machine”,
http://java.sun.com/producs/hotspot/dosc/whitepaper/Java_Hotspot_v1.4.1/Java_
HSpot_WP_v.1.4.1_1002_1.html [53] http://www.vmware.com/jp/
[54] F. BELLARD,”QEMU a Fast and Portable Dynamic Translator”, USENIX Association, FREENIX Track: USENIX Annual Conf. pp.41-46, 2005.
(http://bellard.org/qemu)
[55] R.D. Nielsen, “DOS on the DOC”, NeXTWorld, pp.50-51, Mar. 1991.
[56] Sparc, http://www.sun.com/
[57] Cygwin, http://www..cygwin.com/
[58] Rosseta, http://www.apple.com/jp/rosetta/
[59] V. Bara, E. Duesterwald and S. Banerjia, “Dynamo: a transparent dynamic optimization system”, Proc. of the 2000 ACM SIGPLAN Conf. on Prgramming Language Design and Implementation (PLDI), pp.1-12, 2000.
[60] 矢野聖宗,中田尚,津邑公暁,中島浩,“時間軸分割並列化による高速マイクロプロ
セッサシミュレーション”,情処学研報,vol. 2006, no.169, pp.139-144, Aug. 2006.