TOP > 国内特許検索 > 自己最適化演算装置

自己最適化演算装置 コモンズ 外国出願あり

国内特許コード P06A009456
掲載日 2006年11月17日
出願番号 特願2003-434625
公開番号 特開2005-190430
登録番号 特許第3879002号
出願日 平成15年12月26日(2003.12.26)
公開日 平成17年7月14日(2005.7.14)
登録日 平成18年11月17日(2006.11.17)
発明者
  • 馬場 敬信
  • 横田 隆史
  • 大津 金光
出願人
  • 学校法人宇都宮大学
発明の名称 自己最適化演算装置 コモンズ 外国出願あり
発明の概要

【課題】その時々のプログラムの実行挙動に応じた最適化を動的に行うことで究極の最適化(高速化)を達成した自己最適化演算装置を提供する。
【解決手段】複数の単位処理ユニットを具える自己最適化演算装置において、各々の単位処理ユニットが、プログラムを実行する演算処理ユニット、実行中のプログラムの挙動を観測する観測処理ユニット、観測結果に基づいて最適化処理を行う最適化処理ユニット、及び、実行内容の変更など装置全体の資源管理を行う資源管理処理ユニットのうち少なくとも1つとして動作する。
【選択図】図1

従来技術、競合技術の概要


ひとつの計算機システム内に複数の処理ユニットを擁し、各処理ユニットにプログラムの実行局面に応じた役割を分担させることで、効果的な最適化処理とその結果による処理速度の向上を図ることができる。



第1の従来技術として、特開2003-30050「マルチスレッド実行方法及び並列プロセッサシステム」に記載されているような、並列計算機、マルチスレッドプロセッサ技術がある。この技術は、複数の処理ユニットを用いて二種類の並列性を引き出すことにより高速化を実現する。具体的には、演算処理装置において複数の命令を同時に実行する命令レベル並列と、さらに命令列(スレッド)を単位として並列化するスレッドレベル並列である。これら二種の並列化の組み合わせにより高速化が実現される。並列計算機やマルチスレッド方式による演算処理装置では、内包する複数の処理装置を有効に使用し高速化を果たすために、命令レベル、および、スレッドレベル(ないし並列処理)の各レベルでの並列性を十分に引き出すことが必須である。しかし、一般のアプリケーションプログラムはこれらのレベルでの並列性を十分に引き出す意図では記述されていないために、コンパイラによる並列性抽出を十分に行えない問題がある。すなわち、複数の処理装置があっても、それらを同時並行的に稼動させ高速処理を実現すること、また、その高速処理を持続させることが難しいことが問題である。



第2の従来技術として、特開2001-147820「コード最適化方法および記録媒体」に記載されているような、静的最適化、最適化コンパイラ技術がある。この技術は、プログラムとして記述された処理内容を論理的に解析し、上記二種の並列化技術(命令レベル並列、スレッドレベル並列)を適用することで高速化を実現する。いったんプログラムを実行しその時の挙動を記録(プロファイリング)することにより、最適化効果を向上するコンパイラ技術も用いられている。最適化コンパイラは、上述の並列性抽出の問題に応えようとするものであるが、一般的にコンパイルの時点で解析できる範囲は限られており、したがって最適化の効果が限られる問題がある。また、プロファイリングの結果をもとに、より高度な最適化効果を得る方法も行われているが、収集されるプログラム実行挙動情報が、観測期間を通しての累積的な結果であるため、実行時間全体を通して平均的な高速化は可能であるが、細かな挙動の変化には追随できない問題がある。また、プログラムの処理内容が入力データの性質に依存する場合には、この技術による高速化効果が得られない問題がある。



第3の従来技術として、特開2002-222088「コンパイルシステム、コンパイル方法およびプログラム」に記載されているような、動的最適化技術がある。プログラムの挙動に適応して、プログラム実行中に採取された情報をもとにプログラムコードを最適化する(ないし再コンパイルする)技術も存在する。プログラムの動的な挙動に追随した最適化を行うため、プログラム実行中の挙動を監視し、必要に応じてより適切なプログラムコードを生成する動的最適化がある。この技術では、本来のアプリケーションプログラムに挙動監視用の処理を追加するか、あるいは別個に監視用のプログラムを動作させる必要があり、いずれの場合でも監視の分だけ効率が低下する。さらに、実行途中に最適化処理を行うためのオーバーヘッドが課されるため、最適化による性能向上が相殺される問題がある。

産業上の利用分野


本発明は、演算装置に関し、特に、複数の処理ユニットを具える自己最適化演算装置に関する。

特許請求の範囲 【請求項1】
複数の均質な単位処理ユニットを具える自己最適化演算装置において、
各々の単位処理ユニットが、プログラムを実行する演算処理ユニット、実行中のプログラムの挙動を観測する観測処理ユニット、観測結果に基づいて最適化処理を行う最適化処理ユニット、及び、実行内容の変更など装置全体の資源管理を行う資源管理処理ユニットのうち少なくとも1つとして動作し、
前記単位処理ユニットの各々が、前記演算処理ユニットの実行状態および実行プログラムそのものを動的に変更できる機能を有し、
前記最適化処理ユニットが、
前記観測処理ユニットによって観測されたプログラムの挙動の観測結果をもとに実時間で最適なプログラムコードを生成し、前記演算処理ユニットの実行内容を動的に変更する、
ことを特徴とする自己最適化演算装置。

【請求項2】
請求項に記載の自己最適化演算装置において、
プログラムの最適化状況に応じて、前記演算処理ユニット、観測処理ユニット、最適化処理ユニット及び資源管理処理ユニットの数の比率を変える、
ことを特徴とする自己最適化演算装置。
産業区分
  • 演算制御装置
国際特許分類(IPC)
Fターム
画像

※ 画像をクリックすると拡大します。

JP2003434625thum.jpg
出願権利状態 権利存続中
ライセンスをご希望の方、特許の内容に興味を持たれた方は、下記までご連絡ください


PAGE TOP

close
close
close
close
close
close
close