バイナリレベル複数スレッド化による計算機の高速化に関する研究
Project/Area Number |
14780186
|
Research Category |
Grant-in-Aid for Young Scientists (B)
|
Allocation Type | Single-year Grants |
Research Field |
計算機科学
|
Research Institution | Utsunomiya University |
Principal Investigator |
大津 金光 宇都宮大学, 工学部, 助手 (00292574)
|
Project Period (FY) |
2002 – 2004
|
Project Status |
Completed (Fiscal Year 2004)
|
Budget Amount *help |
¥3,400,000 (Direct Cost: ¥3,400,000)
Fiscal Year 2004: ¥500,000 (Direct Cost: ¥500,000)
Fiscal Year 2003: ¥1,400,000 (Direct Cost: ¥1,400,000)
Fiscal Year 2002: ¥1,500,000 (Direct Cost: ¥1,500,000)
|
Keywords | バイナリ変換 / マルチスレッド化処理 / 実行時最適化 / 投機実行 / スレッドパイプライニング |
Research Abstract |
本年度は、研究計画に従い、単一スレッドコードを複数スレッドコードへバイナリレベルで自動変換することでプログラムを高速化するソフトウェア最適化システムのプロトタイプ開発を継続して行なった。システムの開発上必要不可欠な要素技術である、プログラムのバイナリレベルでの詳細解析手法や解析結果を活用した高性能な複数スレッドコード生成手法の両面から開発を進めた。 プログラムのバイナリレベルでの詳細解析手法については、昨年度に「バイナリレベル変数解析手法」の開発を行なっているが、本手法による解析結果を用いて複数スレッドコードを生成する場合に解析内容が実際と合致しているかを実行時に確認する処理が必要となる。本年度はこの実行時チェックコードの効率の良い実装方法について検討を行なった。 高性能な複数スレッドコード生成手法については、スレッド間依存データに着目した手法の検討を行なった。複数スレッド実行において性能を落とす大きな要因はスレッド間の依存、特にスレッド間依存データの存在である。このスレッド間依存データについてその値の予測可能性を調査し、予測しやすいデータ値については値を予測した上で、本来は同期処理を行なう場合においても処理を前もって行なえるようにすることで大幅な高速化を達成する「データ投機実行手法」の検討を継続して行なった。また、予測可能性が高くないデータについては、スレッド間依存とならないように可能な限り同一スレッド内で処理を行なうようにスレッドの分割を考慮する「データ依存に着目したスレッド分割手法」の検討を行なった。それぞれの複数スレッドコード生成手法についてSPEC95およびSPEC2000ベンチマークを対象としてバイナリコード変換を行なった評価を行ない、その有効性について評価を行なった。 本研究に関連して、実行中のプログラムの挙動を正確に把握するために「パスプロファイリング手法」の有効性と問題点の検討を行なった論文"実行時最適化に向けたソフトウェア・パスプロファイリング手法の検討"の電子情報通信学会論文誌(D1)への採録が決定した。また、バイナリレベル変数解析手法における成果を"A Methodology of Binary-Level Variable Analysis for Multithreading"のタイトルで、国際会議"16th IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS 2004)"において発表を行なった。また、昨年度の出願特許「自己最適化演算装置」を"Self-Optimizing Computer System"として米国特許として出願した。
|
Report
(3 results)
Research Products
(62 results)