JP5413969B2 - プロセッサ・システム最適化支援装置、および支援方法 - Google Patents

プロセッサ・システム最適化支援装置、および支援方法 Download PDF

Info

Publication number
JP5413969B2
JP5413969B2 JP2009504916A JP2009504916A JP5413969B2 JP 5413969 B2 JP5413969 B2 JP 5413969B2 JP 2009504916 A JP2009504916 A JP 2009504916A JP 2009504916 A JP2009504916 A JP 2009504916A JP 5413969 B2 JP5413969 B2 JP 5413969B2
Authority
JP
Japan
Prior art keywords
task
processor
optimization
time
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009504916A
Other languages
English (en)
Other versions
JPWO2008114323A1 (ja
Inventor
正臣 寺西
Original Assignee
スパンション エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by スパンション エルエルシー filed Critical スパンション エルエルシー
Publication of JPWO2008114323A1 publication Critical patent/JPWO2008114323A1/ja
Application granted granted Critical
Publication of JP5413969B2 publication Critical patent/JP5413969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、例えばマルチタスク・オペレーティング・システム(OS)上で動作するアプリケーション・ソフトウェアに対応して、タスクの実行状況を示すトレース情報や、システムの性能情報を分析し、その分析結果に基づいてシステムの最適化方法を出力し、システム設計者によるシステム最適化を支援するシステム最適化支援装置、および支援方法に関する。
マルチタスク・オペレーティング・システム(OS)上で動くアプリケーション・ソフトウェアや、マルチタスク・OSを利用した組み込みシステムの評価においては、タスク遷移図などの評価ツールを用いて、複数のデータをつき合わせてシステムの性能を評価し、システム設計者などのノウハウを使ってシステムの最適化を行う必要があった。このため、例えばタスクが稼動していないアイドル時間や、タスクの実行時間と関連させてシステムの最適化作業を行うためには、システム設計者などのノウハウや人手に頼る必要があるという問題点があった。
このようなマルチタスクの性能向上などに関する従来技術としての特許文献1では、所定の条件が満たされる場合に所定のタスクの優先順位を変更するとともに、優先順位の変更のための条件を学習機能により使用環境に応じて最適化する実時間処理装置が開示されている。
次に特許文献2では、POSサーバなどのデータ処理装置において、マルチタスクなどの多数のデータ処理手段の稼働率をリアルタイムで確認可能とするデータ処理装置が開示されている。
特許文献3では、タスクの停止時間をタスク自身が認識し、タスクの停止状況を視覚的に把握し、タスクの実行遅れに対して自動的な回復処理を行うためのタスク監視装置及びタスク監視方法が開示されている。
特許文献4では、マルチタスク・オブジェクト指向プログラムの動作内容をユーザにわかりやすくし、ユーザによるデバッグ、またはテストの作業効率を向上させることができる技術が開示されている。
特許文献5では、タスクの所要時間だけでなく、リソースの効率、仕事率などの能力、およびリソースの負荷を含むリソース処理状態を表示可能とする技術が開示されている。
さらに特許文献6では、タスクの所要時間、リソースの効率、仕事率、およびリソースの処理状態を表示し、かつ複数のタスクの処理量、処理率などを一元管理することができる技術が開示されている。
特開平4−367035号公報 「複数タスクの実時間処理装置」 特開平7−287693号公報 「データ処理装置」 特開平9−179754号公報 「タスク監視装置及びタスク監視方法」 特開平10−240578号公報 「マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法 特開2003−345868号公報 「リソース管理装置、リソース管理方法及びリソース管理プログラム」 特開2004−54396号公報 「リソース管理装置、リソース管理方法、リソース管理プログラム及び記録媒体」
しかしながらこのような特許文献1から特許文献6までの従来技術を用いても、例えばマルチタスク・OSを利用した組み込みシステムの最適化作業において、ノウハウや人手に頼る必要があるという問題点を解決することはできなかった。例えば、タスク内の関数レベル、あるいはループレベルでのミクロの最適化を行うことも考えられるが、システム全体の最適化作業においては、ノウハウや人手に頼らざるをえないという問題点を解決することはできない。
本発明の目的は、上述の問題点に鑑み、例えばマルチタスク・オペレーティング・システムを用いた組み込みシステムのトレース情報や性能情報を分析し、その分析結果に対応してシステムの最適化方法を表示、出力することによって、ノウハウや、システム設計者の人手に頼ることなく、プロセッサ・システムの最適化を可能とする最適化支援装置、および支援方法を提供することである。
本発明のプロセッサ・システム最適化支援装置は、情報取得手段、情報分析手段、および最適化方法出力手段を備える。情報取得手段は、プロセッサ・システムに対するトレース情報と、そのトレース情報に対応する性能情報とをメモリから読み出すものである。
情報分析手段は、メモリから読み出されたトレース情報と性能情報とを分析し、その分析の結果として、例えばシステムの性能指標を求めるものである。システムの性能指標としては各種の指標を求めることができるが、その1つはプロセッサ・システムがマルチタスク・システムである時、トレース情報の取得期間内においてマルチタスクを構成するすべてのタスクが実行状態にないアイドル時間である。
最適化方法出力手段は、情報分析手段による分析の結果に対応して、システム最適化の方法を表示、出力するものである。この最適化方法出力手段は、メモリからさらにシステムの最適化に用いるべき方法のデータを取得し、そのデータと、情報分析手段による分析結果とに対応させて、システムの最適化方法を表示、出力することもできる。
本発明のプロセッサ・システム最適化支援方法は、このシステム最適化支援装置の動作に相当する方法を実行するものである。
このように本発明によれば、プロセッサ・システムに対するトレース情報と性能情報との分析結果に対応して、システム最適化の方法が表示、出力されることよって、プロセッサ・システムの最適化支援が行われる。
本発明によれば、例えばマルチ・プロセッサ用、あるいはシングル・プロセッサ用の組み込みシステムの最適化の方法が、プロセッサ・システム最適化支援装置によって表示、出力されることにより、最適化のために効果の無い作業を繰り返す必要がなくなり、また例えばシステム設計者の技術レベルに依存することなく、プロセッサ・システムの最適化が可能となり、マルチタスク・オペレーティング・システムを用いた組み込みシステムの設計効率の向上に寄与するところが大きい。
本発明のプロセッサ・システム最適化支援装置の原理構成ブロック図である。 第1の実施例におけるシステム最適化支援方法の基本的な機能ブロック図である。 第1の実施例におけるマルチ・プロセッサ・システムの構成例(その1)である。 第1の実施例におけるマルチ・プロセッサ・システムの構成例(その2)である。 最適化支援装置の基本構成ブロック図である。 トレース情報、および性能情報取得手順の説明図である。 トレース情報の例の説明図である。 性能情報の例の説明図である。 アイドル時間の説明図である。 最大レディ状態時間の説明図である。 最大処理完了時間の説明図である。 プロセッサ間通信回数の説明図である。 プロセッサ間通信待ち時間の説明図である。 第1の実施例におけるシステム最適化支援処理の詳細フローチャートである。 第1の実施例におけるシステム最適化支援処理の詳細フローチャート(続き)である。 第1の実施例における性能指標データの例を示す図である。 タスクの状態遷移の説明図である。 第2の実施例におけるシステム最適化支援方法の基本的な機能ブロック図である。 第2の実施例におけるマルチ・プロセッサ・システムの構成例(その1)である。 第2の実施例におけるマルチ・プロセッサ・システムの構成例(その2)である。 第2の実施例における性能指標と最適化方法の表示例である。 第2の実施例における性能指標と最適化方法の表示処理のフローチャートである。 第2の実施例におけるグラフと最適化方法の表示例である。 第2の実施例におけるグラフと最適化方法の表示処理のフローチャートである。 第2の実施例におけるタイムチャートと最適化方法の表示例である。 第2の実施例におけるタイムチャートと最適化方法の表示処理のフローチャートである。 第3の実施例における最適化支援方法の基本的な機能ブロック図である。 第3の実施例におけるグラフと最適化方法の表示例(その1)である。 第3の実施例におけるグラフと最適化方法の表示例(その2)である。 第3の実施例におけるグラフと最適化方法の表示例(その3)である。 第3の実施例におけるグラフと最適化方法の表示処理のフローチャートである。 第3の実施例における性能指標データの例である。 第4の実施例における最適化支援方法の基本的な機能ブロック図である。 第4の実施例におけるグラフの表示例である。 第4の実施例におけるグラフと最適化方法の表示例である。 第5の実施例における最適化支援方法の基本的な機能ブロック図である。 第5の実施例におけるマルチ・プロセッサ・システムの構成例(その1)である。 第5の実施例におけるマルチ・プロセッサ・システムの構成例(その2)である。 第5の実施例におけるデータテーブルの格納内容とシステム最適化方法の表示例である。 第5の実施例における最適化支援処理の詳細フローチャートである。
図1は、本発明のプロセッサ・システム最適化支援装置の原理構成ブロック図である。同図において、最適化支援装置1は情報取得手段2、情報分析手段3、および最適化方法出力手段4を備える。情報取得手段2は、プロセッサ・システムに対するトレース情報と、そのトレース情報に対応する性能情報とをメモリから読み出すものである。
情報分析手段3は、読み出されたトレース情報と性能情報とを分析するものであり、分析の結果として、例えばシステムの性能指標を求めるものである。この性能指標は、例えば後述するアイドル時間、マルチタスク・システムにおけるタスク毎の最大レディ時間、最大処理完了時間、プロセッサ間通信回数、プロセッサ間通信待ち時間などである。
最適化方法出力手段4は、情報分析手段3の分析の結果に対応して、システム最適化の方法を出力するものであり、その出力結果は、例えばモニタに表示される。その表示結果に対応して、例えば組み込みシステムの設計者が最適化作業を行うことによって、システムの最適化が実現される。
最適化方法出力手段4は、メモリからさらにシステムの最適化に用いるべき方法のデータを読み出し、そのデータと情報分析手段3の分析結果とに対応させて、システムの最適化方法を出力することもできる。
以下本発明の実施形態について第1から第5の実施例に分けて説明する。図2は、第1の実施例におけるシステム最適化方法の基本的な機能ブロック図である。同図において、ステップS1でシステムのトレース情報と性能情報がメモリから取得され、ステップS2でそのトレース情報と性能情報とを分析した結果として、システムの性能を示す指標が出力される。この指標としては、システム全体のアイドル時間、例えばマルチタスクを構成するタスクの何れも処理を実行せず、アプリケーション・ソフトウェアも動作していない時間としてのアイドル時間や、タスク毎のプロセッサ間通信回数や、プロセッサ間通信時間などを示す指標であるが、その性能指標についてはさらに後述する。
図2のステップS3で、トレース情報と性能情報との分析結果としてのシステムの性能指標に基づいて、システムの最適化方法が出力され、ステップS4で、出力された最適化方法を用いてシステムの最適化が実施される。本実施形態においては、ステップS4における最適化の実施は、ステップS3で出力され、モニタなどに表示された最適化方法に基づき、さらにモニタに表示された性能指標などを用いて、システムの設計者などによって実施されるものとする。なお本発明の特許請求の範囲の請求項1における情報取得手段は図2のステップS1の処理、情報分析手段はステップS2の処理、最適化方法出力手段はステップS3の処理に対応する。
図3、図4は、第1の実施例におけるマルチ・プロセッサ・システムの構成例のブロック図である。図3は第1の構成例を示し、システムは2つのプロセッサ10、11、これらのプロセッサ間の通信を実行するためのプロセッサ間通信部12、入力部13、モニタ14、メモリ15、およびシステムの最適化方法を出力し、例えばシステム設計者によるシステム最適化を支援する最適化支援装置16、およびこれらのブロックが接続されたバス17によって構成されている。
図4の第2の構成例では、図3でメモリ15が2つのプロセッサ10、11によって共用されるのに対して、プロセッサ10対する専用メモリとしてメモリ15が、プロセッサ11に対する専用メモリとしてメモリ19が備えられている点が図3の構成例と異なっている。
図5は、第1の実施例における最適化支援装置の構成ブロック図である。同図においてユーザアプリケーション20、デバッグモジュール21、リアル・タイム・オペレーティング・システム(RTOS)が言語ツール23に与えられ、データ処理プログラムとしてのロードモジュールファイル24が作成される。ここで、リアルタイム・オペレーティング・システム(RTOS)22を用いる理由は、組み込みシステムではユーザが、例えばボタンを押した時点でオペレーティング・システムが動き出すことが必要であり、そのためリアル・タイム・オペレーティング・システムが用いられる。
ロードモジュールファイル24は、開発処理を進めるための統合開発機構(IDE)25に与えられる。この環境の内部にはアナライザ26とデバッガ28が備えられ、その中間にはRTOSインターフェース・モジュール(RIM)27が備えられる。アナライザ26とRIM27とはRTOSアクセス・インターフェース(RIF)によって接続され、またRIM27とデバッガ28とはターゲット・アクセス・インターフェース(TIF)によって接続されている。
デバッガ28は、メモリアクセス部29を介して、ターゲット30の内部のトレースメモリ31にアクセスすることができる。ターゲット30は、例えばプロセッサであり、その内部にはRTOS22、デバッグモジュール21、ユーザアプリケーション20が備えられている。
図6は、図5の最適化支援装置におけるトレース情報と性能情報取得手順の説明図である。ここでは、まずトレースメモリ31に格納されているトレース情報の取得手順について説明する。アナライザ26においてトレースメモリ31に格納されているデータの取得要求が発生すると、(1)でユーザメモリ領域にあるトレースメモリ31の内容を読み出すためにアナライザ26からRIM27にトレースログの取得が要求され、(2)でRIM27によってトレースメモリ31の内容を読み出す指示がデバッガ28に与えられ、デバッガ28から(3)でメモリアクセス部29を介して、トレースメモリ31に対するデータ・リードアクセスがなされる。
読み出されたトレースメモリ31の内容、すなわちトレース情報は、メモリアクセス部29を介して(4)でデバッガ28に通知され、デバッガ28から(5)でRIM27に通知される。そしてRIM27によって、アナライザ26が必要とするデータが(6)でアナライザ26に通知されて、トレースメモリのデータ取得が完了する。
あるプロセッサによって実行されるタスクと、他のプロセッサとの間の通信回数や、その通信時間などの性能情報のデータはターゲット30、すなわちプロセッサの内部で図示しないメモリに格納され、例えばハードウェア・カウンタのカウント値に対応して、トレース情報と同様にアナライザ26に通知されるものとする。
図7は、図5のトレースメモリ31に格納されているトレース情報の例である。同図においてログタイプはログデータを取る形式を示し、このタイプによってトレースメモリに保存されるデータの内容が決定される。タイプイベントのLOG_LEAVEはログの開始を、LOG_ENTERはログの終了を意味する。タスクIDは、タイプイベントとしてのLOG_LEAVEとLOG_ENTERに対して同一でも良いが、基本的には異なるものである。そして右側の下位時刻はそのタスクの開始時刻、上位時刻は終了時刻を意味する。
図8は性能情報の例である。同図において、例えば実行時間、プロセッサ間通信回数、プロセッサ間通信時間(積算)などの性能データは、それぞれのタスク、すなわちタスクIDに対応させてメモリに格納されているものとする。ここでタスクID=0に対する実行時間は、例えばタスクID=1から5のタスクの処理を実行するプロセッサにおいて、すべてのタスクの実行が行われていない時間を示し、タスク間のディスパッチなどOSの処理のための時間に相当する。
トレース情報や性能情報の分析によって得られるシステムの性能指標について図9から図13を用いて説明する。図9において、システム内で実行されるタスクがタスクAとタスクBの2つであるとすると、これらの2つのタスクの実行が行われていないアイドル時間Tiを積算した値がトレース情報取得開始時刻Tsから終了時刻Teの間で求められ、性能指標の1つとしてのアイドル時間の値とされる。このアイドル時間の(Te−Ts)に対する割合からシステム全体の最適化可能割合や実行率を知ることができる。なおここでタスクAはタスクBより優先度が高いが、アイドル時間の積算においてはこの優先度は無関係である。
図10は、最大レディ状態時間の説明図である。同図においては、3つのタスク、すなわちタスクC、タスクD、およびタスクEが生成されているが、優先度が高いタスクCとタスクDとの間でディスパッチが繰り返され、処理が実行されている。このため、優先度の低いタスクEは実行可能状態を維持しているが、実行権を獲得できない状態が続いている。このようなタスク毎の実行可能状態(レディ状態)の時間をタスク毎に積算し、そのタスクが起動されて1回の処理が開始されてから終了するまでの生存時間内におけるレディ状態時間の積算値を求め、またそのような積算値の中でTsからTeまでの間の最大値を最大レディ状態時間として求める。ここでタスクEの最大レディ状態時間はTeとTsとの差となる。
これに対して、例えばタスクCの1回の処理が時刻Tsの以前から行われ、Td2で終了したとすると、レディ状態時間はTc1とTd1との差となる。1回の処理がTd3までかかったとすれば、レディ状態時間はTc1とTd1の差とTc2とTd2との差を合計したものとなる。トレース情報取得開始時刻Tsから終了時刻Teの間で、タスクの1回の処理の起動時から処理完了時までの生存時間内におけるレディ状態時間の積算値のうちで最大の値が、タスク毎の最大レディ状態時間として求められる。この最大レディ時間から、そのタスクが実行可能でありながら待ち状態となっていた最大時間を知ることができ、最適化の可否とその効果を知ることができる。
図11は、タスク毎の最大処理完了時間の説明図である。ここで処理完了時間はタスクの1回の処理、すなわちタスクの起動時から処理完了時までの生存時間であり、前述のレディ状態時間を含むものである。そして時刻TsからTeの間でタスクの起動から処理終了までの動作が複数回繰り返されている場合に、それらの動作に対応する処理完了時間の最大値がそのタスクに対する最大処理完了時間として求められる。図11においてタスクFが起動されてから他のタスクG、およびOSの処理が行われるアイドル時間を含めて、1回の処理が終了するまでの時間のうちで、TsからTeの間での最大値、ここではTcが最大処理完了時間として求められる。この最大処理完了時間を知ることで、ディスパッチや割込み回数などと関連させて最適化方法を特定することができる。
図12は、プロセッサ間通信回数の説明図である。例えばタスクHは、起動されてから1回の処理を完了するまでの間に、他のプロセッサによって実行されているタスクとの通信を行うためにプロセッサ間通信を行うが、この回数を例えば時刻TsからTeの間でカウントし、例えばTeとTsとの差で割ることによって、システム時間単位のプロセッサ間通信回数が性能指標として求められる。プロセッサ間の通信回数の増大につれてシステムの実行時間が大きくなるために、プロセッサ間通信回数を知ることによって、システム最適化の可否、およびその効果を知ることができる。
図13は、プロセッサ間通信待ち時間の説明図である。同図においてまずタスクJからタスクKへのディスパッチ時に、タスクJと他のプロセッサとの間での通信が開始され、次にタスクKからタスクLへのディスパッチ時に、タスクKから他のプロセッサへの通信要求が生ずるが、この時点ではタスクJからのプロセッサ間通信がまだ終了していないものとすると、その通信は待ち状態となる。タスクJからの通信が終了し、優先度の最も高いタスクJへのディスパッチが行われる時点で、タスクKから他のプロセッサへの通信が可能となり、通信待ち時間は図で示されるTwとなる。このプロセッサ間通信待ち時間をどれだけ小さくできるかによって、最適化の可否、およびその効果を知ることができる。
図14、図15は、第1の実施例におけるシステム最適化支援処理の詳細フローチャートである。図14において処理が開始されると、まずステップS10で、例えば組み込みシステムがマルチ・プロセッサ・システムであるか、シングル・プロセッサ・システムであるかが判定される。ここではまずマルチ・プロセッサ・システムの場合について説明するものとして、ステップS11でシステム全体のアイドル時間の割合が大きいか小さいかが判定され、小さい場合にはステップS12でプロセッサ間通信回数が多いか否かが判定され、多い場合にはステップS13でシステム最適化の方法として、プロセッサ間通信回数を削減するために、あるプロセッサに属するタスクを他のプロセッサに移動、もしくは統合するか、通信粒度、すなわち1回の通信量を拡大すべきことが出力されて、図15で処理を終了する。
ステップS12でプロセッサ間通信回数が少ない場合には、ステップS14でプロセッサ間通信待ち時間が多いか少ないかが判定され、多い場合にはシステム最適化の方法として、プロセッサ間通信回数を削減するためにタスクを別のプロセッサに移動、もしくは統合するか、プロセッサ間通信間隔を拡大する方法が出力されて、処理を完了する。ここでプロセッサ間通信間隔の拡大の具体例として、タスク1が通信中でタスク2が待ち状態となる時には、タスク2と無関係のタクス3の処理を先行させることによって、タスク2の通信待ち時間を結果的に減少させることができる。
ステップS11でシステム全体のアイドル時間が大きいと判定されると、ステップS16で最大レディ状態時間が大きいか小さいかが判定される。このステップS16以降の処理は基本的にタスク単位で行われるものである。この最大レディ状態時間の判定もタスク毎に実行される。
最大レディ状態時間が小さい場合には、ステップS17でそのタスクの最大処理時間が大きいか小さいかが判定され、大きい場合にはステップS18でここで対象としているタスクが、他のタスクとの間で依存関係があるか否かが判定され、ある場合にはステップS19で対象タスクと他のタスクの間でのディスパッチ回数が多いか否かが判定され、多い場合にはステップS20で対象タスクの処理中に複雑な割り込みがあるか否かが判定され、ある場合にはステップS21で最適化方法として割り込み処理の見直しが出力され、処理を完了する。
ステップS17で対象タスクの最大処理完了時間が小さいか、ステップS19で対象タスクのディスパッチ回数が少ないか、ステップS20で対象タスクの処理中に複雑な割り込みがない場合には、ステップS28でタスクの分割や統合などのタスク再設計が最適化処理方法として出力されて、処理を終了する。例えば最大処理完了時間が小さい場合にはタスクが小さいことになり、タスクの統合が有効となる。
ステップS16で最大レディ状態時間が大きいと判定されると、ステップS25で対象タスクと他のタスクとの間に依存関係がないか否かが判定され、ある場合にはステップS28の処理が行われて処理を終了する。ここで依存関係がなければタスクの分割が可能となる。
ステップS25で他のタスクとの依存関係がないと判定されると、ステップS26で対象タスクが属していないプロセッサにおいてアイドル時間の割合が大きいか否かが判定され、小さい場合にはステップS28の処理が行われて、処理を終了する。
アイドル時間の割合が大きい場合には、ステップS27で最適化方法として他のプロセッサへのタスクの移動、もしくは統合が出力されて処理を終了する。ここで他のプロセッサ側でアイドル時間の割合が大きい場合には、当然そのプロセッサ側へのタスクの移動が可能となるが、小さい場合にはそのような移動は不可能であり、ステップS28の方法が出力されることになる。
ステップS10でシングル・プロセッサ・システムと判定された場合、またステップS14でプロセッサ間通信待ち時間が少ないと判定された場合には、図15のステップS30以降の処理が行われる。以降の処理においてはマルチ・プロセッサ・システムにおいてもプロセッサ単位の処理が行われる。
まずステップS30でアイドル時間の割合が大きいか小さいかが判定され、小さい場合にはそのプロセッサに対応する最適化作業が不必要であることがステップS36で出力され、処理を終了する。アイドル時間の割合が大きい場合には、ステップS31からS35で、図14のステップS17、ステップS19からS21、およびステップS28と同様の処理が実行され、ステップS34で割込み処理の見直しが、またステップS35ではタスクの分割、統合などの再設計が必要であることがシステム最適化方法として出力されて、処理を終了する。
図16は、第1の実施例における性能指標の例の詳細説明図である。同図の性能指標の一部は図8と同様であるが、タスクID=0としてのシステム全体に対しては、すべてのタスク、すなわちタスクID=1から5のタスクのすべてが動作していないことを示すアイドル・ルーチンの実行時間が示され、オペレーティング・システムの処理時間としての実行時間との差はオペレーティング・システムが動作していない時間を示す。最大レディ状態時間、最大処理完了時間、プロセッサ間通信回数、プロセッサ間通信待ち時間、および最も下のプロセッサ間通信時間(積算)については前述と同様であり、ディスパッチ回数は時刻TsからTeまでの間のタスク間のディスパッチ回数を示し、また割込み回数は同じ時間の間の回数を示している。
レディ状態時間から未生成時間までの5つの性能指標については、図14、図15の処理フローチャートにおいても使用されていないため、それらの性能指標について図17のタスクの状態遷移図を用いて簡単に説明する。同図においてタスクは基本的には実行状態(ランニング)と実行可能状態(レディ状態)との間でディスパッチとプリエンプトを繰り返すことになる。
実行を中断している状態として、待ち状態と、強制待ち状態(サスペンド)、および二重待ち状態(待ち−サスペンド)の3つの待ち状態がある。待ち状態は、例えばオペレーティング・システムによって待ちを指示され、実行を中断している状態であり、強制待ち状態は、例えば他のタスクから強制的に実行中断を指示されている状態であり、二重待ち状態、すなわち待ち−サスペンド状態は待ち状態と強制待ち状態(サスペンド状態)が重なった状態である。
タスクの状態としてはさらに、タスクが起動されていないか、または処理が終了した状態としての休止状態と、タスクが生成されていないか、削除された状態を示す未登録状態がある。
続いて第2の実施例について説明する。図18は第2の実施例におけるシステム最適化支援方法の基本的な機能ブロック図である。同図を第1の実施例に対する図2と比較すると、ステップS41、S45、およびS46の処理は図2のステップS1、S3、およびS4と同様であるが、第2の実施例においては図2のステップS2に対応する処理として、ステップS42、S43、またはS44の処理が行われる点が異なっている。
ステップS42ではトレース情報と性能情報の分析結果として、性能指標の値がステップS2と同様に求められる。ステップS43では分析の結果として性能指標のグラフが作成され、ステップS44では分析結果として性能指標のチャートが作成される。そしてステップS45では性能指標の値、または作成されたグラフ、あるいはチャートに対応させて最適化方法の出力が行われる。なお、第2の実施例においては、トレース情報と性能情報とを統計的に分析し、その結果のグラフを作成し、作成されたグラフに基づいて最適化の方法を出力することも可能である。
図19、および図20は、第2の実施例におけるマルチ・プロセッサ・システムの構成例である。これらの図を第1の実施例における図3、図4と比較すると、指標表示装置35、グラフ表示装置36、およびチャート情報表示装置37が最適化支援装置16に対応するものとして示されている。
図21は、第2の実施例における性能指標と最適化方法の表示例である。タスク1からタスク5の何れの実行も行われていない期間を示すアイドルルーチンの実行時間が120msであることが表示され、その性能指標に対応してタスクの分割、統合などのタスクの再設計が最適化方法として表示されている。またタスク3に対するプロセッサ間通信待ち時間が100msであることを示す性能指標の表示に対応して、プロセッサ通信の間隔をあけるか、通信先のプロセッサに対象タスクを移動させる最適化方法が表示されている。さらにタスク5の実行時間が“0”であることを示す性能指標の表示に対応して、タスク設計の確認、あるいはタスク優先度を上げることが最適化方法として表示されている。
図22は、図21の表示例に対応する性能指標と最適化方法の表示処理の詳細フローチャートである。同図において処理が開始されると、ステップS51で、例えばメモリ15からトレース情報、および性能情報が取得され、ステップS52で取得された情報が分析され、性能指標が求められ、その指標データがメモリ15に格納される。そしてステップS53で性能指標の値がメモリ15に格納されている閾値データと比較される。この閾値データは、例えばユーザによって予めメモリ15に格納されているものであり、例えばアイドルルーチンの実行時間として閾値50msを示すデータが格納されているとすれば、図21の表示状態に対応してアイドルルーチンの実行時間が閾値よりも大きいことが判明する。なお、閾値データとしては、例えばユーザの設定値が不適切な場合に使用されるデフォルト値も格納されている。
この比較はステップS54で行われ、性能指標が閾値よりも小さい場合には、それ以上の処理を行うことなく、直ちに処理を終了する。閾値よりも大きい場合には、ステップS55でメモリ15に格納されている色データを用いて、閾値表示部、例えばアイドルルーチンの実行時間の表示部分に色をつける処理が行われ、ステップS56でアイドルルーチンの実行時間が閾値よりも大きいことに対応する最適化方法の分析が行われ、ステップS57で性能指標のデータと最適化方法のデータを用いて、性能指標と対応する最適化方法が表示されて、処理を終了する。なお請求項16におけるシステムの最適化方法に関するデータは、例えばメモリ15に格納されている閾値データに相当する。
図23は、第2の実施例におけるグラフと最適化方法の表示例である。同図においては、グラフとしてプロセッサ0に属するタスクとしてのタスクAからタスクGのそれぞれが、他のプロセッサ、図19ではプロセッサ1との間で行ったプロセッサ間通信の回数がグラフとして表示されている。
そして最適化方法として、タスクDとプロセッサ1との間の通信回数が多く、このタスクを通信先プロセッサに移動させることによって、性能向上が期待できるとする最適化方法が表示されている。
図24は、図23の表示例に対応するグラフと最適化方法の表示処理の詳細フローチャートである。同図の処理は図22とほぼ同様であり、図22のステップS55で指標表示部に色をつける処理が行われる代わりに、ステップS58でグラフ表示部に色をつける処理が行われ、ステップS57で最適化方法と性能指標が表示される代わりに、ステップS59で最適化方法とグラフが表示される点だけが異なっている。
図25は、第2の実施例におけるタイムチャートと最適化方法の表示例である。同図においてプロセッサ0側、およびプロセッサ1側でのタスク間のディスパッチ、すなわちタスク遷移状態を示すタスク遷移図と対応させて、100ms付近の時刻でタスクAからタスクBへのディスパッチ、タスクBからタスクCへのディスパッチ、タスクCからアイドル状態へのディスパッチの時点でプロセッサ間通信が行われていることが表示されている。
また最適化方法としては、100ms付近にプロセッサ間通信が集中していることに対応して、通信間隔をあけるか、あるいは他のタスクと依存関係がない場合には通信先プロセッサにタスクを移動させる最適化方法が表示されている。
図26は、図25の表示例に対応する第2の実施例におけるチャートと最適化方法表示処理の詳細フローチャートである。同図も例えば図22における処理と同様であるが、ステップS61でチャート表示部に色をつける処理が行われ、ステップS62で最適化方法とチャートが表示される点だけが異なっている。
第2の実施例における表示装置、例えば図19における指標表示装置35、グラフ表示装置36、およびチャート情報表示装置37の構成は第1の実施例における最適化支援装置16の構成を示す図5と同様であり、またトレース情報と性能情報の取得手順についても図6と同様であり、その説明を省略する。
またトレース情報と性能情報の例は図7、図8と同様であり、用いられる各種の性能指標についても図9から図13で説明したものと同じであり、さらに各種の性能指標データの例も図16と同じであり、その説明を省略する。
図27は、最適化支援方法の第3の実施例における基本的な機能ブロック図である。同図を第1の実施例に対する図2と比較すると、ステップS61、およびS66の処理は図2のステップS1、S4と同様であるが、図27においてはステップS61の処理の後にステップS62、S63、またはS64の処理が行われる。ステップS62では取得されたトレース情報と性能情報からシステム全体のタスク実行率のグラフが作成される。そしてこのグラフとともにステップS65で最適化方法が出力され、ステップS66で最適化が実施される。
あるいはステップS61の処理の後に、ステップS63で取得されたトレース情報と性能情報からタスク毎のタスク実行率のグラフが作成され、ステップS65でそのグラフとともに最適化の方法が出力され、ステップS66で最適化が実施される。
あるいはステップS61の処理の後に、ステップS64で取得されたトレース情報と性能情報から同一優先度タスクの負荷比グラフが作成され、ステップS65でそのグラフとともに最適化方法が出力され、ステップS66で最適化が実施される。
図28は、第3の実施例におけるシステム全体のタスク実行率グラフ、およびそのグラフとともに表示される最適化方法の表示例である。ここでシステム全体のタスク実行率とはシングル・プロセッサ・システムではシステム時間(例えばTe−Tsの値とOSの処理時間との差)に対する各タスクの実行状態時間の割合を示すものであり、マルチ・プロセッサ・システムにおいては、複数のプロセッサによって構成されるシステム全体のタスク実行可能時間に対する割合を示すものである。図28では各タスクの実行状態時間の割合の合計が90%となり、最適化方法として余裕のある10%の範囲での最適化が可能であることが表示されている。
図29は、図27のステップS63で作成されるタスク毎のタスク実行率のグラフと最適化方法の表示例である。ここでタスク毎のタスク実行率は、そのタスクの実行時間の合計と処理完了時間(生存時間)の和との比であり、各タスクの実行率の平均を取ることによって、どの程度の最適化が可能であるかが判定され、その結果の表示が行われる。ここではタスクA、B、およびCの実行率がそれぞれ100%、60%、50%であり、その平均値は70%となる。このため最大30%の最適化が可能であることが最適化方法として表示されている。
図30は、図27のステップS64で作成される同一優先度タスクの負荷比グラフと最適化方法の表示例である。同図において3つのタスクA、B、およびCが同一優先度であるものとすると、システム全体の各タスクの実行率の平均値を“1”として、各タスクの実行率がそれぞれ何%大きいか小さいかが負荷比として表示され、その負荷比に応じて、例えば負荷を均等にするか、あるいはタスクの優先度を変更することが最適化の方法として表示されている。
図31は、第3の実施例におけるグラフと最適化方法表示処理の詳細フローチャートである。同図において処理が開始されると、まずステップS71でメモリ15からトレース情報と性能情報が取得され、ステップS72で取得した情報が分析され、性能指標として、例えばタスク毎のタスク実行率が求められ、ステップS73でその性能指標のデータが分析され、ステップS74で最適化が可能であるか不可能であるかが判定され、不可能な場合には直ちに処理を終了する。
例えば図29においてタスク毎のタスク実行率がすべて100%であれば、最適化は不可能であり、処理を終了するが、図29で説明したように平均値が70%であれば最適化は可能であり、ステップS75でメモリ15から最適化方法のデータが取得されて最適化方法の分析が行われ、ステップS76で最適化方法とグラフが表示されて処理を終了する。
図32は、第3の実施例における性能指標データの例である。ここでシステム全体の実行時間は、タスク1からタスク3までの実行時間に加えて、オペレーティング・システムの処理時間などを含むものである。優先度[1]の負荷比はタスクID=1と2のタスク実行率(システム)の値から求められている。また優先度[3]の負荷比はこの優先度を持つタスクがタスク3だけであることから、タスク3の負荷比が“1”となっている。
第3の実施例においても、プロセッサ・システムの構成、トレース情報や性能情報の取得方法などは前述と同様であり、その説明を省略する。
図33は、最適化支援方法の第4の実施例における基本的な機能ブロック図である。この機能ブロック図は第3の実施例に対する図27と類似しており、第3の実施例ではステップS62、S63またはS64の何れかにおいて、システム全体のタスク実行率グラフ、タスク毎のタスク実行率グラフ、同一優先度タスクの負荷比グラフが作成されるのに対して、図33ではステップS82でタスクの実行可能状態のグラフが作成される点が異なっている。
図34は、図33のステップS82で作成されるタスクの実行可能状態のグラフの例である。同図においては、システム全体で見た実行可能状態(レディ状態)のタスクの数が、ある時間間隔毎に時系列的に表示されている。
図35は、実行可能状態のグラフの表示と最適化方法の表示例である。同図においては、タスクAからタスクDのそれぞれについて実行可能状態保持時間、または保持回数が表示され、実行可能状態が長い間続いているタスクの実行可能状態を短くするために、タスクの分割、統合のようなタスクの再設計を行うべきことが最適化方法として表示されている。なお、このタスクの再設計では、処理の重いタスク1の優先度が高く、処理の軽いタスク2の優先度が低いために、タスク2が動けなくなっているような場合に、タスク2を他のプロセッサ側のタスク3と統合するような方法が用いられる。
第4の実施例においてもプロセッサ・システムの構成、最適化装置の構成、トレース情報、および性能情報の取得方法、トレース情報その他のデータの例、および最適化支援方法の処理フローチャートなどは、例えば第1の実施例におけると同様であり、その説明を省略する。
最後に第5の実施例について説明する。図36は、最適化支援方法の第5の実施例の基本的な機能ブロック図である。この第5の実施例においては、第4の実施例までと異なって、例えばタスクの再設計などによってシステムの最適化を行う代わりに、例えばタスクによって使用されるシステムコールについて検討し、システムの最適化を支援するところに特徴があり、基本的な機能ブロック図においても、例えばシステムコールの中で類似したシステムコールを示すデータテーブルを用いて、ステップS93で最適化方法が出力される点が基本的に異なっている。
図37、図38は、第5の実施例におけるシステム構成例のブロック図である。これらを第1の実施例に対する図3、図4と比較すると、システムコールの類似性を判定するためのデータが格納されたデータテーブル40が追加されている点が異なっている。
図39は、データテーブルの格納内容を用いた最適化方法表示例の説明図である。図37、図38のデータテーブル40には、あるシステムコール、すなわち関数の名称に対応して、類似するシステムコールの名称が格納されている。例えばシステムコールA2はシステムコールA1と類似していることが示されている。
一方トレース情報、性能情報からの分析データとして、各システムコールの発行回数が最適化支援装置16に与えられる。システムコールB2はシステムコールB1に類似するものであるが、システムコールB1の方が処理時間が短いシステムコールであるものとして、比較的多数回発行されているシステムコールB2を、類似したシステムコールB1に置換える最適化方法が出力されている。
図40は、第5の実施例における最適化支援処理の詳細フローチャートである。同図において処理が開始されると、ステップS101でトレース情報、および性能情報がメモリ15から取得され、ステップS102でこれらの情報が分析され、ステップS103で取得した情報がデータテーブル内のデータと比較され、ステップS104で適切な類似システムコールがあるか否かが判定され、無い場合には直ちに処理を終了する。
適切な類似システムコールがある場合、例えば類似したシステムコールであって、処理時間の短いシステムコールがある場合には、例えばそのシステムコールの呼び出し回数を表示するデータ表示部に色を付ける処理がステップS105で行われ、ステップS106でメモリ15から読み出される最適化方法データを用いて最適化方法が分析され、ステップS107で例えばシステムコールの置換をその内容とする最適化方法が表示されて、処理を終了する。
この第5の実施例においても、最適化支援装置の構成、トレース情報、性能情報の取得方法、トレース情報の例などは第1の実施例におけると同様であり、その説明を省略する。

Claims (6)

  1. プロセッサ・システムの最適化を支援する装置であって、
    前記プロセッサ・システムに対するトレース情報と、該トレース情報に対応する性能情報とをメモリから読み出す情報取得手段と、
    該読み出したトレース情報と性能情報とを分析する情報分析手段と、
    該分析の結果に対応してシステム最適化の方法を出力する最適化方法出力手段とを備え、
    前記プロセッサ・システムは、マルチ・プロセッサ組み込みシステムであるマルチタスク・システムであり、
    前記情報分析手段が、前記分析の結果としてのシステムの性能指標として、前記トレース情報の取得期間内において前記マルチタスクを構成するタスクが、該タスクが属するプロセッサと異なる他のプロセッサとの間で、前記他のプロセッサによって実行されている他のタスクとの通信を行うために行った通信回数のタスク毎の値を求めることを特徴とするプロセッサ・システム最適化支援装置。
  2. 前記最適化方法出力手段が、前記情報分析手段の分析の結果としてのシステムの性能指標の値を出力することを特徴とする請求項1記載のプロセッサ・システム最適化支援装置。
  3. 前記最適化方法出力手段が、前記情報分析手段の分析結果としてのシステムの性能指標を示すタイムチャートを出力することを特徴とする請求項1記載のプロセッサ・システム最適化支援装置。
  4. 前記最適化方法出力手段が、前記情報分析手段の分析結果としてのシステムの性能指標を示すグラフを出力することを特徴とする請求項1記載のプロセッサ・システム最適化支援装置。
  5. 前記最適化方法出力手段が、外部から設定可能なデータであって、システムの最適化方法に関するデータをさらにメモリから読み出し、該データと前記分析の結果に対応してシステム最適化の方法を出力することを特徴とする請求項1記載のプロセッサ・システム最適化支援装置。
  6. 計算機がプロセッサ・システムの最適化を支援する方法であって、
    前記プロセッサ・システムに対するトレース情報と、該トレース情報に対応する性能情報とをメモリから読み出すステップと、
    該読み出したトレース情報と性能情報とを分析するステップと、
    該分析の結果に対応して最適化の方法を出力するステップとを実行し、
    前記プロセッサ・システムは、マルチ・プロセッサ組み込みシステムであるマルチタスク・システムであり、
    前記分析のステップにおいて、前記分析の結果としてのシステムの性能指標として、前記トレース情報の取得期間内において前記マルチタスクを構成するタスクが、該タスクが属するプロセッサと異なる他のプロセッサとの間で、前記他のプロセッサによって実行されている他のタスクとの通信を行うために行った通信回数のタスク毎の値を求めることを特徴とするプロセッサ・システム最適化支援方法。
JP2009504916A 2007-03-20 2007-03-20 プロセッサ・システム最適化支援装置、および支援方法 Active JP5413969B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/000274 WO2008114323A1 (ja) 2007-03-20 2007-03-20 プロセッサ・システム最適化支援装置、および支援方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013156698A Division JP5458208B2 (ja) 2013-07-29 2013-07-29 プロセッサ・システム最適化支援装置、および支援方法

Publications (2)

Publication Number Publication Date
JPWO2008114323A1 JPWO2008114323A1 (ja) 2010-06-24
JP5413969B2 true JP5413969B2 (ja) 2014-02-12

Family

ID=39765444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009504916A Active JP5413969B2 (ja) 2007-03-20 2007-03-20 プロセッサ・システム最適化支援装置、および支援方法

Country Status (3)

Country Link
US (2) US8612805B2 (ja)
JP (1) JP5413969B2 (ja)
WO (1) WO2008114323A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873877B2 (en) * 2007-11-30 2011-01-18 Iolo Technologies, Llc System and method for performance monitoring and repair of computers
US8365174B2 (en) * 2008-10-14 2013-01-29 Chetan Kumar Gupta System and method for modifying scheduling of queries in response to the balancing average stretch and maximum stretch of scheduled queries
US8880381B2 (en) * 2010-10-01 2014-11-04 The Boeing Company Optimization of processor characteristics and large scale system optimization through domain decomposition
US9134930B2 (en) 2011-03-30 2015-09-15 Hewlett-Packard Development Company, L.P. Delayed content production
US9323483B2 (en) 2011-10-28 2016-04-26 Hewlett-Packard Development Company, L.P. Location-based print notifications
US20140032728A1 (en) * 2012-07-30 2014-01-30 John Conor O'neil Location-based task activation
WO2014118979A1 (ja) * 2013-02-01 2014-08-07 株式会社日立製作所 性能モデル検査装置、および、性能モデル検査方法
US9378437B2 (en) 2013-02-27 2016-06-28 Hewlett-Packard Development Company, L.P. Sending print jobs using trigger distances
JP2017091070A (ja) * 2015-11-06 2017-05-25 ルネサスエレクトロニクス株式会社 実行可能コード生成プログラムおよび実行可能コード生成装置
KR102649324B1 (ko) * 2016-05-19 2024-03-20 삼성전자주식회사 적응 인터럽트 제어를 수행하는 컴퓨터 시스템 및 그것의 인터럽트 제어 방법
US10628560B1 (en) * 2017-09-11 2020-04-21 Architecture Technology Corporation Permission request system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683608A (ja) * 1992-09-04 1994-03-25 Fujitsu Ltd プログラム解析支援装置
JP2001075832A (ja) * 1999-08-31 2001-03-23 Fujitsu Ltd システム診断装置、システム診断方法およびシステム診断プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006227999A (ja) * 2005-02-18 2006-08-31 Nec Corp ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04367035A (ja) 1991-06-14 1992-12-18 Matsushita Electric Works Ltd 複数タスクの実時間処理装置
JPH0588912A (ja) * 1991-09-27 1993-04-09 Nitto Seiko Co Ltd マルチプロセツサシミユレータ
JP2728601B2 (ja) * 1992-08-06 1998-03-18 富士通株式会社 並列処理の性能評価装置
JPH07287693A (ja) 1994-04-19 1995-10-31 Tec Corp データ処理装置
JPH09179754A (ja) 1995-12-21 1997-07-11 Mitsubishi Electric Corp タスク監視装置及びタスク監視方法
JP3349057B2 (ja) 1997-02-24 2002-11-20 株式会社東芝 マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法
AU750332B2 (en) * 1997-07-25 2002-07-18 British Telecommunications Public Limited Company Visualisation in a modular software system
JP3376906B2 (ja) * 1998-02-18 2003-02-17 トヨタ自動車株式会社 計算機の負荷率計測システム
JP2000242522A (ja) * 1999-02-18 2000-09-08 Canon Inc マルチタスクデバッグ装置及びその方法
JP2001195279A (ja) 1999-10-25 2001-07-19 Matsushita Electric Works Ltd ソフトウェア開発支援システム
JP2002132543A (ja) * 2000-10-25 2002-05-10 Hitachi Ltd 計算機システムの管理方法
KR100414208B1 (ko) * 2001-03-05 2004-01-07 삼성전자주식회사 데이터 복구장치
JP2002342182A (ja) * 2001-05-21 2002-11-29 Hitachi Ltd ネットワークシステムにおける運用管理の支援システム
JP2002351695A (ja) 2001-05-25 2002-12-06 Matsushita Electric Ind Co Ltd プログラムのデバッグ方法、デバッグ装置およびプログラムデバッグ用の記録媒体
JP2003345868A (ja) 2002-05-23 2003-12-05 Ricoh Co Ltd リソース管理装置、リソース管理方法及びリソース管理プログラム
JP2004054396A (ja) 2002-07-17 2004-02-19 Ricoh Co Ltd リソース管理装置、リソース管理方法、リソース管理プログラム及び記録媒体
US7373557B1 (en) * 2003-04-04 2008-05-13 Unisys Corporation Performance monitor for data processing systems
JP4367035B2 (ja) 2003-07-16 2009-11-18 セイコーエプソン株式会社 テープ印刷装置、ラベル作成方法およびプログラム
JP4453823B2 (ja) * 2004-05-31 2010-04-21 日本電気株式会社 性能ボトルネック解析システム及び性能ボトルネック解析方法
US8881114B2 (en) * 2005-05-16 2014-11-04 Texas Instruments Incorporated Stored program writing stall information when a processor stalls waiting for another processor
US20070220361A1 (en) * 2006-02-03 2007-09-20 International Business Machines Corporation Method and apparatus for guaranteeing memory bandwidth for trace data
US8028200B2 (en) * 2006-09-29 2011-09-27 Sap Ag Tracing operations in multiple computer systems
US20080155351A1 (en) * 2006-10-03 2008-06-26 Broadcom Corporation Method for combining multiple trace sources in an embedded system
US7673187B2 (en) * 2006-10-24 2010-03-02 Arm Limited Data processing apparatus and method for reducing trace bandwidth

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683608A (ja) * 1992-09-04 1994-03-25 Fujitsu Ltd プログラム解析支援装置
JP2001075832A (ja) * 1999-08-31 2001-03-23 Fujitsu Ltd システム診断装置、システム診断方法およびシステム診断プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006227999A (ja) * 2005-02-18 2006-08-31 Nec Corp ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CSND200600610001; 須賀敦浩: 'スーパーコンの技術を民生機器向けプロセサに適用 マルチコア向け性能チューニングの勘所' 日経エレクトロニクス 第908号, 20050912, pp.119-130, 日経BP社 *
CSNG200000326012; 戸谷智之: '並列3次元ダイナミックプログラミング法によるタンパクの配列解析' 情報処理学会研究報告 第91巻、第99号, 19911122, pp.127-134, 社団法人情報処理学会 *
CSNG200400059013; 飯山真一: 'エンジン制御システムのためのリアルタイム性検証手法' 情報処理学会論文誌 第43巻、第6号, 20020615, pp.1715-1724, 社団法人情報処理学会 *
CSNH199900350004; 布広永示: '超高速性能を実現する技法とソフトウェア' 日立評論 第75巻、第5号, 19930501, pp.21-26, 日立評論社 *
JPN6012019078; 布広永示: '超高速性能を実現する技法とソフトウェア' 日立評論 第75巻、第5号, 19930501, pp.21-26, 日立評論社 *
JPN6012019081; 須賀敦浩: 'スーパーコンの技術を民生機器向けプロセサに適用 マルチコア向け性能チューニングの勘所' 日経エレクトロニクス 第908号, 20050912, pp.119-130, 日経BP社 *
JPN6012049053; 戸谷智之: '並列3次元ダイナミックプログラミング法によるタンパクの配列解析' 情報処理学会研究報告 第91巻、第99号, 19911122, pp.127-134, 社団法人情報処理学会 *
JPN6012049055; 飯山真一: 'エンジン制御システムのためのリアルタイム性検証手法' 情報処理学会論文誌 第43巻、第6号, 20020615, pp.1715-1724, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
JPWO2008114323A1 (ja) 2010-06-24
WO2008114323A1 (ja) 2008-09-25
US8612805B2 (en) 2013-12-17
US8972795B2 (en) 2015-03-03
US20140089937A1 (en) 2014-03-27
US20090319835A1 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
JP5413969B2 (ja) プロセッサ・システム最適化支援装置、および支援方法
US8392930B2 (en) Resource contention log navigation with thread view and resource view pivoting via user selections
Urunuela et al. Storm a simulation tool for real-time multiprocessor scheduling evaluation
Liu et al. PERTS: A prototyping environment for real-time systems
US7093234B2 (en) Dynamic CPU usage profiling and function call tracing
US7133820B2 (en) Method and apparatus for debugging programs in a distributed environment
US20100180245A1 (en) Methods and products for determining and visualizin ic behavior
US7640538B2 (en) Virtual threads in business process programs
US8332850B2 (en) Thread starvation profiler by utilizing a set of counters
JP4944518B2 (ja) タスク遷移図表示方法及び表示装置
US7900092B2 (en) Kernel-level method of flagging problems in applications
CN111176869B (zh) 超时检测方法、装置、设备及存储介质
JP5458208B2 (ja) プロセッサ・システム最適化支援装置、および支援方法
JP5595577B2 (ja) プロセッサ・システム最適化支援装置、および支援方法
Johnsen et al. A formal model of object mobility in resource-restricted deployment scenarios
JP2009048358A (ja) 情報処理装置及びスケジューリング方法
Espinoza et al. Towards a uml-based modelling standard for schedulability analysis of real-time systems
JP4997144B2 (ja) マルチタスク処理装置およびその方法
Wang et al. CAT: Context Aware Tracing for Rust Asynchronous Programs
Muhammad et al. Parallelism viewpoint: An architecture viewpoint to model parallelism behaviour of parallelism-intensive software systems
Huang et al. A denotational model for interrupt-driven programs
Alexandrov et al. Parallelization Made Easier with Intel Performance-Tuning Utility.
Domingues et al. ORCA RT-Bench: A Reference Architecture for Real-Time Scheduling Simulators
Xu et al. GScheduler: Optimizing resource provision by using GPU usage pattern extraction in cloud environments
Rosales et al. FJProf

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130729

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130805

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130822

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130827

AA92 Notification that decision to refuse application was cancelled

Free format text: JAPANESE INTERMEDIATE CODE: A971092

Effective date: 20130917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131107

R150 Certificate of patent or registration of utility model

Ref document number: 5413969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250