Top > Search of Japanese Patents > SELF-OPTIMIZATION OPERATING DEVICE

SELF-OPTIMIZATION OPERATING DEVICE commons foreign

Patent code P06A009456
Posted date Nov 17, 2006
Application number P2003-434625
Publication number P2005-190430A
Patent number P3879002
Date of filing Dec 26, 2003
Date of publication of application Jul 14, 2005
Date of registration Nov 17, 2006
Inventor
  • (In Japanese)馬場 敬信
  • (In Japanese)横田 隆史
  • (In Japanese)大津 金光
Applicant
  • (In Japanese)国立大学法人宇都宮大学
Title SELF-OPTIMIZATION OPERATING DEVICE commons foreign
Abstract PROBLEM TO BE SOLVED: To provide a self-optimization operating device which enables ultimate optimization (improvement of speed) by performing dynamic optimization according to executing actions of occasional programs.
SOLUTION: In a self-optimization operating device which has plural unit-processing units, each unit-processing unit is composed to activate at least one of units such as an operating processing unit to execute a program, observation processing unit which observes the executing program, optimization processing unit which performs optimization processing based on observed results, and resource management processing unit which manages resources of the whole device such as changing executing contents.
Outline of related art and contending technology (In Japanese)


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



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



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



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

Field of industrial application (In Japanese)


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

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

【請求項2】
 
請求項1に記載の自己最適化演算装置において、
プログラムの最適化状況に応じて、前記演算処理ユニット、観測処理ユニット、最適化処理ユニット及び資源管理処理ユニットの数の比率を変える、
ことを特徴とする自己最適化演算装置。
IPC(International Patent Classification)
F-term
Drawing

※Click image to enlarge.

JP2003434625thum.jpg
State of application right Registered
(In Japanese)ライセンスをご希望の方、特許の内容に興味を持たれた方は、下記までご連絡ください


PAGE TOP

close
close
close
close
close
close
close