JP2011138219A - 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法 - Google Patents

並列プログラム解析結果表示装置および並列プログラム解析結果表示方法 Download PDF

Info

Publication number
JP2011138219A
JP2011138219A JP2009296318A JP2009296318A JP2011138219A JP 2011138219 A JP2011138219 A JP 2011138219A JP 2009296318 A JP2009296318 A JP 2009296318A JP 2009296318 A JP2009296318 A JP 2009296318A JP 2011138219 A JP2011138219 A JP 2011138219A
Authority
JP
Japan
Prior art keywords
task
delay information
data
parallel program
performance parameter
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.)
Pending
Application number
JP2009296318A
Other languages
English (en)
Inventor
Takehiko Idemiya
健彦 出宮
Mikito Iwamasa
幹人 岩政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009296318A priority Critical patent/JP2011138219A/ja
Priority to US12/968,129 priority patent/US20110161939A1/en
Publication of JP2011138219A publication Critical patent/JP2011138219A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • 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/3404Recording 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 parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

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

Abstract

【課題】並列プログラムの実行時に発生する遅延に基づいて、並列プログラムを改善する指針、および並列プログラムの実行環境の改善の指針を与えること。
【解決手段】並列プログラムの実行環境の性能が記述されたターゲット性能パラメータ、並列プログラムのプロファイルデータ、および並列プログラムに記述されているタスク間のデータを介した依存関係を表す第1タスク依存グラフに基づいて、各タスクに対して第1データ遅延情報および第1タスク遅延情報を計算する遅延情報計算モジュールと、並列プログラムから選択されたタスクに対して、第1タスク遅延情報および第1データ遅延情報に基づいて、当該選択されたタスク、当該選択されたタスクに依存するタスク、第1タスク遅延情報、および第1データ遅延情報を表す映像を表示画面上に表示する遅延情報表示モジュールと、を具備する。
【選択図】 図1

Description

本発明は、並列プログラムを改善する指針をプログラマに与える並列プログラム解析結果表示装置および並列プログラム解析結果表示方法に関する。
複数の処理回路を有するプロセッサによって実行される並列プログラムは、プロセッサの計算資源を効率よく使用するために最適化が行われる。
特許文献1は、トレース情報と、トレース情報に対応する性能情報とをメモリから取得し、トレース情報に基づくタスク遷移状態と性能情報とを遷移図上に重畳させて表示することを開示している。また、特許文献1は、トレース情報に基づいて複数のプロセッサの動作状態に対応する並列度を求め、その並列度をタスク遷移図と時間的に同期させて表示することを開示している。
特開2008−004054号公報
上述した技術は、タスク遷移図と並列度を同期させた表示を行って、並列度を改善する指針をプログラマに与えている。しかし、プロセッサの計算資源を効率よく使用するためには、並列度を改善するだけでなく、別のタスクの演算結果待ちや処理回路の空き待ち等で発生する遅延を抑制することも重要である。遅延には、並列プログラムの実行環境によって生じるものもあり、実行環境を変更することで遅延が改善される場合もある。
本発明の目的は、並列プログラムの実行時に発生する遅延に基づいて、並列プログラムを改善する指針、および並列プログラムの実行環境の変更の指針を与えることが可能な並列プログラム解析結果表示装置および並列プログラム解析結果表示方法を提供することにある。
本発明の一例に係わる並列プログラム解析結果表示装置は、並列プログラムの実行環境の性能が記述されたターゲット性能パラメータ、前記並列プログラムのプロファイルデータ、および前記並列プログラムに記述されているタスク間のデータを介した依存関係を表す第1タスク依存グラフに基づいて、各タスクに対してタスクの実行に必要な変数を待ち始めてから当該変数が揃うまでの時間に対応する第1データ遅延情報および当該変数が揃ってからタスクが実行されるまでの時間を表す第1タスク遅延情報を計算する遅延情報計算手段と、前記並列プログラムから選択されたタスクに対して、前記第1タスク遅延情報および前記第1データ遅延情報に基づいて、当該選択されたタスク、当該選択されたタスクが依存するタスク、当該選択されたタスクに係わる前記第1タスク遅延情報、および該選択されたタスクに係わる前記第1データ遅延情報を表す映像を表示画面上に表示する遅延情報表示手段と、を具備することを特徴とする。
本発明によれば、並列プログラムの実行時に発生する遅延に基づいて、並列プログラムを改善する指針、および並列プログラムの実行環境の変更の指針を与えることが可能になる。
本発明の一実施形態に係わる並列プログラム解析結果表示装置の構成を示すブロック図。 タスクのライフサイクルを示す図。 タスク依存グラフの内容を視覚的に表した図。 プロファイルデータの記述内容を視覚的に表した図。 タスク依存グラフを変更した第2タスク依存グラフの内容を視覚的に表した図。 図5に示すタスク依存グラフを4個の処理回路を有するマルチコアプロセッサで実行した場合のプロファイルデータの記述内容を視覚的に表す図。 タスク依存グラフ、遅延情報(データ遅延情報δ、タスク遅延情報ε)114に基づいた並列プログラムの解析結果の表示例を示す図。 プログラム解析結果表示装置によって行われる処理の手順を示すフローチャート。
本発明の実施の形態を以下に図面を参照して説明する。
図1は、本発明の一実施形態に係わる並列プログラム解析結果表示装置の構成を示すブロック図である。このプログラム解析結果表示装置によって実行される処理は、コンピュータプログラムによって実現される。
プログラム解析結果表示装置100は、遅延情報計算モジュール101、性能データ計算モジュール102、フロー変換モジュール103、比較用性能設定モジュール104、性能予測モジュール105、プロファイル予測モジュール106、遅延情報計算モジュール107、および遅延情報表示モジュール108等を備えている。
並列プログラム解析結果表示装置100の各モジュールについて説明する前に、並列プログラムに登録されているタスクのライフサイクルについて説明する。図2は、タスクのライフサイクルを示す図である。ここで、タスクとは並列プログラムにおける実行単位のことでである。
並列プログラム201からタスクが取り出され評価されると、タスクは変数待ちプール202に入れられる。ここで、変数待ちプール202に入れられたタスクは、タスクの実行に必要な変数が変数プール203に登録されるまで待機する。変数待ちプール202に入れられたタスクは、タスクの実行に必要な変数が揃うとスケジュール待ちプール204に入れられ、スケジューラ205によって処理回路(PE:Processor Element)206に割り当てられるのを待つ。このとき、タスクが変数待ちプール202からスケジュール待ちプール204に遷移する間の時間をデータ遅延(δ)と呼び、タスクがスケジュール待ちプール204に入れられてから処理回路206によって実行されるまでの時間をタスク遅延(ε)と呼ぶ。
つまり、
データ遅延δ=(スケジュール待ちプールに入った時間)−(変数待ちプールに入った時間)
であり、
タスク遅延ε=(PEでの実行開始)−(スケジュール待ちプールに入った時間)
である。
これらの遅延情報(δ,ε)はプロファイルデータ(例えば、タスクの評価時刻、タスクの開始時刻、タスクの処理時間)112を入力データとして用いて計算される。
次に、並列プログラム解析結果表示装置100に入力されるデータについて説明する。並列プログラム解析結果表示装置100には、ターゲット性能パラメータ111、プロファイルデータ112、タスク依存グラフ(MTG:Multi-Task-Graph)113が入力される。
ターゲット性能パラメータ111には、プログラミングが実行される複数の処理回路を有するマルチコアプロセッサの処理回路数、動作周波数、演算速度等のプロセッサに関する情報、マルチコアプロセッサ間の転送速度等の並列プログラムが実行される実行環境の情報が記述されている。
プロファイルデータ112は、並列プログラム123を対象とするマルチコアプロセッサによって実行させたときに、プロファイラ121によって求められ、並列プログラムを対象とするマルチコアプロセッサによって実行させたときに並列プログラムの各タスクの実行にかかる時間やその挙動が記述される。
タスク依存グラフ113は、並列プログラム122のコンパイル時等にコンパイラ122によって生成され、並列プログラム122に登録されているタスクとタスクの演算結果であるデータとの関係が記述されている。タスク依存グラフ113の内容を視覚的に表したものを図3に示す。
プロファイルデータ112の記述内容を視覚的に表した図を図4に示す。なお、図4に示すプロファイルデータは、2個の処理回路を有するマルチコアプロセッサによって、図3に示すタスク依存グラフによって示されるタスクを実行した場合に作成されたプロファイルデータに基づいている。
図3、4に示すように、並列プログラム123にはタスクA、タスクB、タスクC、およびタスクDが登録されている。タスクAおよびタスクBがデータ1を演算する。タスクCがデータ2を演算する。タスクDがデータ2を用いてデータ3を演算する。
タスクAのデータ遅延がデータ遅延δ(1)である。タスクDのデータ遅延がデータ遅延δ(2)である。なお、データ遅延δ(2)およびδ(3)は、実行完了を表示はされない空のタスク(ダミータスク、潜在的なタスク)として捉えた場合に存在する遅延である。
タスクCのタスク遅延がタスク遅延δ(C)である。タスクDのタスク遅延がタスク遅延δ(D)である。なお、タスクA,Bはプログラムが実行されてから直ぐに実行されるので、タスク遅延がない。
性能データ計算モジュール102は、稼働率・使用率・占有率、個々のタスクに対する演算量等のプロセッサの実効的な性能を示す性能データを計算する。性能データ計算モジュール102は、ターゲット性能パラメータ111に基づいて理論値であるFLOPS(Floating point number Operations Per Second)を計算する。FLOPSは、(クロック)×(処理回路数)×(処理回路あたりクロックあたりの浮動小数点演算回数)によって求められる。また、性能データ計算モジュール102は、後述するプロファイルデータ112およびタスク依存グラフ113に基づいて個々のタスクの実効値、や各処理回路の稼動率(=処理回路稼動時間の総和/システム運転時間)を演算する。
なお、プロファイルデータにタスクの依存関係が記述されていれば、タスク依存グラフ113を参照せずに、プロファイルデータ112から個々のタスクの実効値、や各処理回路の稼動率(=処理回路稼動時間の総和/システム運転時間)を演算することも可能である。
遅延情報計算モジュール101は、プロファイルデータ112およびタスク依存グラフ113に基づいて、並列プログラム123に登録されている各タスクに係わるデータ遅延情報δ、タスク遅延情報ε114を計算する。なお、プロファイルデータにタスクの依存関係が記述されていれば、タスク依存グラフ113を参照せずに、プロファイルデータ112からデータ遅延情報δ、タスク遅延情報ε114を演算することも可能である。
比較用性能設定モジュール104は、オペレータの入力操作に応じてターゲット性能パラメータ111の内容と異なる比較用性能パラメータを設定する。例えば、比較用性能設定モジュール104によって処理回路の数がターゲット性能パラメータ111と異なる比較用性能パラメータ117が設定される。
性能予測モジュール105は、比較用性能パラメータ117が設定された場合に、元のターゲット性能パラメータ111の値と変更された比較用性能パラメータ117の値とが比例関係にあるという仮定の下に実効値を予測し、予測性能データ118を出力する。
フロー変換モジュール103は、タスク依存グラフ113をオペレータの操作に応じて変更し、変更結果を第2タスク依存グラフ(MTG2)116として出力する。図4に示すタスク依存グラフを変更した例を図5に示す。図5に示すように、タスクCとデータ2とを変更して、タスクC’およびタスクDによってデータ2’およびデータ3が生成されている。
プロファイル予測モジュール106は、第2タスク依存グラフ116および/または比較用性能パラメータ117が入力された場合、プロファイルデータ112から遅延情報(データ遅延情報δ’,タスク遅延情報ε’)114を予測する。
プロファイル予測モジュール106は、第2タスク依存グラフ116のみが入力された場合、プロファイルデータ112、第2タスク依存グラフ116、ターゲット性能パラメータ111を用いて比較用プロファイルデータ120を計算する。また、プロファイル予測モジュール106は、比較用性能パラメータ117のみが入力された場合、プロファイルデータ112、タスク依存グラフ113、および比較用性能パラメータ117を用いて比較用プロファイルデータ120を計算する。また、プロファイル予測モジュール106は、第2タスク依存グラフ116および比較用性能パラメータ117が入力された場合、プロファイルデータ112、第2タスク依存グラフ116、および比較用性能パラメータ117を用いて比較用プロファイルデータ120を計算する。
プロファイル予測モジュール106は、プロファイルデータ112、比較用性能パラメータ117(またはターゲット性能パラメータ111)、および第2タスク依存グラフ116(またはタスク依存グラフ113)から、新たな条件下における比較用プロファイルデータ120を予測するための計算を行う。なお、元の遅延情報(データ遅延情報δ,タスク遅延情報ε)114と第2タスク依存グラフ116および/または比較用性能パラメータ117を用いて比較用プロファイルデータ120を計算することも可能である。
例えば、遅延情報計算モジュール107は、新たな条件下におけるタスク遅延の重なり部分を考慮(仮想的にタスクを処理回路上に再配置した状態を仮定)してプロファイルデータ112に記述されているタスクを再配置することによって、比較用プロファイルデータ120を生成する。
また、4個の処理回路を有するマルチコアプロセッサによって、図5に示す第2タスク依存グラフによって示されるタスクを実行した場合に作成された比較用プロファイルデータの記述内容を視覚的に表した図を図6に示す。つまり、ターゲット性能パラメータ111内に処理回路数が2個と記述されていたのが、比較用性能設定モジュール104によって処理回路数が変更されて、比較用性能パラメータ117内では処理回路数が4個と記述された場合である。
図6に示すように、タスクA、タスクB、タスクC’およびタスクDが同時に実行され、タスクDの演算結果としてデータ2’およびデータ3が出力される。
比較用遅延情報計算モジュール107は、比較用プロファイルデータ120に基づいて遅延情報計算モジュールと同様にデータ遅延情報δ’、タスク遅延情報ε’119を計算する。
遅延情報表示モジュール108は、データ遅延情報δ、タスク遅延情報ε114に基づいて並列プログラムの解析結果を表示する。また、オペレータの入力操作に応じて、遅延情報表示モジュール108は、データ遅延情報δ’、タスク遅延情報ε’119に基づいて並列プログラムの解析結果を表示する。
図7にタスク依存グラフ113、遅延情報(データ遅延情報δ、タスク遅延情報ε)114に基づいた並列プログラムの解析結果の表示例を示す。オペレータがあるタスクを選択すると、選択されたタスクを強調表示する。なお、図7では、タスクDが選択された場合を示している。また、選択されたタスクと依存関係にあるタスクのみを表示し、依存関係がないタスクを表示しない。そして、選択されたタスクと依存関係にあるタスクとを線301で結ぶことによって依存関係があることを図示している。また、遅延情報(データ遅延情報δ、タスク遅延情報ε)114に基づいて、待ち時間を矢印の長さによって表すと共に、データ遅延情報δおよびタスク遅延情報εを表す矢印の色を区別して表示する。以上のように表示することで、ユーザは待ち時間の大きさによって、どのような修正を行うのが効果的かの判断がしやすくなる。
また、遅延情報表示モジュール108は、図7に示すように表示されているタスクDに対してポインタが重ねられた場合に、性能データ115からタスクDに関する情報をツールチップによって表示しても良い。また、遅延情報表示モジュール108は、別のウィンドウに性能データ115を表示するようにしても良い。
解析結果に基づき、遅延を入力データのデータ遅延とスケジューラ起因のタスク遅延に分離して、遅延情報表示手段モジュールによってボトルネックとして、設計者に通知される。ここで、データ遅延が発生している場合は、依存関係の構造に問題があると考えられ、修正の指針としてタスク依存グラフ113のフローの変更があげられる。一方、タスク遅延の場合は、ターゲットマシンの性能パラメータの変更(例えば処理回路を増やす)があげられる。その結果、並列プログラムの実行時に発生する遅延に基づいて、並列プログラムを改善する指針、および並列プログラムの実行環境(性能パラメータ)の改善の指針を与えることが可能になる。
遅延情報計算モジュール101によって、各タスクに係わるデータ遅延情報とタスク遅延情報とをそれぞれ計算することで、容易に設計者に並列化の指針を与えることが可能になる。また、入力されたパラメータを変更した場合の解析結果を表示することで、その変更を確かめることができる。このように、設計者に対して性能パラメータの設定や、タスク依存関係の修正を支援することができる。
次に、プログラム解析結果表示装置100によって行われる処理の手順を説明する。
先ず、ターゲット性能パラメータ111、プロファイルデータ112、およびタスク依存グラフ(MTG)113がプログラム解析結果表示装置100に入力されると、遅延情報計算モジュール101は、並列プログラム123に登録されている各タスクについてデータ遅延情報δおよびタスク遅延情報εを演算する(ステップS11)。また、性能データ計算モジュール102は、性能データを計算する(ステップS12)。
また、オペレータ(プログラマ)の入力操作によってタスクが選択され場合、遅延情報表示モジュール108は、選択されたタスクと選択されたタスクが依存するタスクの依存関係、データ遅延情報δおよびタスク遅延情報εを表示画面上に表示する(ステップS13)。
次に、表示画面上に表示されている内容から得られた指針等に基づいて、オペレータ(プログラマ)がフロー変換モジュール103および比較用性能設定モジュール104によって生成された第2タスク依存グラフ(MTG2)116と比較用性能パラメータ117が入力された場合、プロファイル予想モジュール106は、新たな条件下で比較用プロファイルデータ120を計算する(ステップS14)。遅延情報計算モジュール107は、各タスクについてデータ遅延情報δ’およびタスク遅延情報ε’を計算する(ステップS15)。また、性能予測モジュール105は、予測性能データ118を計算する(ステップS16)。
また、オペレータ(プログラマ)の入力操作によってタスクが選択され場合、遅延情報表示モジュール108は、選択されたタスクと選択されたタスクが依存するタスクの依存関係、データ遅延情報δ’およびタスク遅延情報ε’を表示画面上に表示する(ステップS17)。
以上の示した並列プログラム解析結果表示処理の手順によって、並列プログラム123を改善する指針、並列プログラム123の実行環境の変更の指針をオペレータ(プログラマ)に与えることが可能になる
なお、本実施形態の並列プログラムを解析し、解析結果を表示するための処理はコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールするだけで、本実施形態と同様の効果を容易に実現することができる。また、このコンピュータプログラムは、パーソナルコンピュータのみならず、プロセッサを内蔵した電子機器上で実行することができる。
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
上記実施形態で説明された各モジュールの機能を実現するためには、プロセッサによって実行されるソフトウェアアプリケーションによって実現しても良いし、ハードウェアによる処理回路によって実現しても良いし、ハードウェアによって実現しても良いし、ソフトウェアアプリケーション、ハードウェア、およびソフトウェアモジュールを組み合わせて実現しても良い。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
100…プログラム解析結果表示装置、101…遅延情報計算モジュール、102…性能データ計算モジュール、103…フロー変換モジュール、104…比較用性能設定モジュール、105…性能予測モジュール、106…プロファイル予測モジュール、107…比較用遅延情報計算モジュール、108…遅延情報表示モジュール、111…ターゲット性能パラメータ、112…プロファイルデータ、113…タスク依存グラフ、114…データ遅延情報δ,タスク遅延情報ε、116…タスク依存グラフ、117…比較用性能パラメータ、118…予測性能データ、119…データ遅延情報δ’,タスク遅延情報ε’、120…比較用プロファイルデータ、121…プロファイラ、122…コンパイラ、123…並列プログラム。

Claims (7)

  1. 並列プログラムの実行環境の性能が記述されたターゲット性能パラメータ、前記並列プログラムのプロファイルデータ、および前記並列プログラムに記述されているタスク間のデータを介した依存関係を表す第1タスク依存グラフに基づいて、各タスクに対してタスクの実行に必要な変数を待ち始めてから当該変数が揃うまでの時間に対応する第1データ遅延情報および当該変数が揃ってからタスクが実行されるまでの時間を表す第1タスク遅延情報を計算する遅延情報計算手段と、
    前記並列プログラムから選択されたタスクに対して、前記第1タスク遅延情報および前記第1データ遅延情報に基づいて、当該選択されたタスク、当該選択されたタスクが依存するタスク、当該選択されたタスクに係わる前記第1タスク遅延情報、および該選択されたタスクに係わる前記第1データ遅延情報を表す映像を表示画面上に表示する遅延情報表示手段と、
    を具備することを特徴とする並列プログラム解析結果表示装置。
  2. 前記ターゲット性能パラメータに記述されている性能を変更した比較用性能パラメータを生成する生成手段と、
    前記第1タスク依存グラフを変更した前記第2タスク依存グラフを生成するグラフ生成手段と、
    前記生成された第2タスク依存グラフおよび比較用性能パラメータの少なくとも一方が入力された場合に、前記プロファイルデータ、前記第1タスク依存グラフまたは前記入力された第2タスク依存グラフ、および前記性能パラメータまたは前記入力された比較用性能パラメータに基づいて比較用プロファイルデータを予測する予測手段と
    前記予測手段によって予測された比較用プロファイルデータに基づいて第2タスク遅延情報および第2データ遅延情報を計算する第2遅延情報計算手段とを更に具備し、
    前記遅延情報表示手段は、前記並列プログラムから選択されたに対して、前記第2タスク遅延情報および前記第2データ遅延情報に基づいて、当該選択されたタスク、当該選択されたタスクが依存するタスク、当該選択されたタスクに係わる前記第2タスク遅延情報、および当該選択されたタスクに係わる前記第2データ遅延情報を表す映像を前記表示画面上に表示することを特徴とする請求項1に記載の並列プログラム解析結果表示装置。
  3. 前記第2遅延情報計算手段は、前記第1タスク遅延情報、前記第1データ遅延情報、前記第1タスク依存グラフおよび前記入力された第2タスク依存グラフ、および前記性能パラメータまたは前記入力された比較用性能パラメータに基づいて前記第2タスク遅延情報および前記第2データ遅延情報を計算することを特徴とする請求項2に記載の並列プログラム解析結果表示装置。
  4. 前記グラフ変更手段は、オペレータの入力操作に応じて前記第2タスク依存グラフを生成することを特徴とする請求項2に記載の並列プログラム解析結果表示装置。
  5. 前記ターゲット性能パラメータ、前記プロファイルデータ、および前記タスク依存グラフに基づいて前記プロセッサの実効的な性能を示す性能データを計算する性能データ計算手段を更に具備することを特徴とする請求項1に記載の並列プログラム解析結果表示装置。
  6. 並列プログラムの実行環境の性能が記述されたターゲット性能パラメータ、前記並列プログラムのプロファイルデータ、および前記並列プログラムに記述されているタスク間のデータを介した依存関係を表すタスク依存グラフに基づいて、各タスクに対してタスクの実行に必要な変数を待ち始めてから当該変数が揃うまでの時間に対応するデータ遅延情報および当該変数が揃ってからタスクが実行されるまでの時間を表すタスク遅延情報を計算し、
    前記並列プログラムから選択されたタスクに対して、前記タスク遅延情報および前記データ遅延情報に基づいて、当該選択されたタスク、当該選択されたタスクに依存するタスク、当該選択されたタスクに係わる前記タスク遅延情報、および当該選択されたタスクに係わる前記データ遅延情報を表す映像を表示画面上に表示する、
    を具備することを特徴とする並列プログラム解析結果表示方法。
  7. 並列プログラムを解析し、解析結果を表示するためのプログラムを記憶するコンピュータ読み取り可能な記憶媒体であって、
    前記プログラムは、
    並列プログラムの実行環境の性能が記述されたターゲット性能パラメータ、前記並列プログラムのプロファイルデータ、および前記並列プログラムに記述されているタスク間のデータを介した依存関係を表すタスク依存グラフに基づいて、各タスクに対してタスクの実行に必要な変数を待ち始めてから当該変数が揃うまでの時間に対応するデータ遅延情報および当該変数が揃ってからタスクが実行されるまでの時間を表すタスク遅延情報を計算させる手順と、
    前記並列プログラムから選択されたタスクに対して、前記タスク遅延情報および前記データ遅延情報に基づいて、当該選択されたタスク、当該選択されたタスクに依存するタスク、当該選択されたタスクに係わる前記タスク遅延情報、および当該選択されたタスクに係わる前記データ遅延情報を表す映像を表示画面上に表示する手順と、
    をコンピュータに実行させる
    ことを特徴とする記憶媒体。
JP2009296318A 2009-12-25 2009-12-25 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法 Pending JP2011138219A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009296318A JP2011138219A (ja) 2009-12-25 2009-12-25 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法
US12/968,129 US20110161939A1 (en) 2009-12-25 2010-12-14 Apparatus for displaying the result of parallel program analysis and method of displaying the result of parallel program analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009296318A JP2011138219A (ja) 2009-12-25 2009-12-25 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法

Publications (1)

Publication Number Publication Date
JP2011138219A true JP2011138219A (ja) 2011-07-14

Family

ID=44189071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009296318A Pending JP2011138219A (ja) 2009-12-25 2009-12-25 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法

Country Status (2)

Country Link
US (1) US20110161939A1 (ja)
JP (1) JP2011138219A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015520452A (ja) * 2012-05-14 2015-07-16 クアルコム,インコーポレイテッド モバイルマルチプロセッサプラットフォームにおける挙動特徴の監視
KR20150089918A (ko) * 2014-01-27 2015-08-05 숭실대학교산학협력단 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치
JP2016105281A (ja) * 2015-12-04 2016-06-09 株式会社日立製作所 解析システム、計算機システム及び解析方法
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9756066B2 (en) 2012-08-15 2017-09-05 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521117B (zh) * 2011-10-27 2014-03-19 北京航空航天大学 一种Java异常传播的静态结构抽取方法
CN108733462A (zh) * 2017-04-18 2018-11-02 北京京东尚科信息技术有限公司 延迟任务的方法和装置
CN108920199B (zh) * 2018-07-03 2021-01-08 维沃移动通信有限公司 一种屏幕启动方法及电子设备
EP3822785A1 (en) * 2019-11-15 2021-05-19 Nvidia Corporation Techniques for modifying executable graphs to perform different workloads

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698686B2 (en) * 2005-04-15 2010-04-13 Microsoft Corporation Method and apparatus for performance analysis on a software program
JP4944518B2 (ja) * 2006-05-26 2012-06-06 富士通セミコンダクター株式会社 タスク遷移図表示方法及び表示装置
US8181158B2 (en) * 2006-06-09 2012-05-15 Oracle America, Inc. Viewing and modifying transactional variables
US8499287B2 (en) * 2008-06-23 2013-07-30 Microsoft Corporation Analysis of thread synchronization events

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015520452A (ja) * 2012-05-14 2015-07-16 クアルコム,インコーポレイテッド モバイルマルチプロセッサプラットフォームにおける挙動特徴の監視
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9898602B2 (en) 2012-05-14 2018-02-20 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9756066B2 (en) 2012-08-15 2017-09-05 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
KR20150089918A (ko) * 2014-01-27 2015-08-05 숭실대학교산학협력단 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치
KR101586712B1 (ko) 2014-01-27 2016-01-20 숭실대학교산학협력단 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치
JP2016105281A (ja) * 2015-12-04 2016-06-09 株式会社日立製作所 解析システム、計算機システム及び解析方法

Also Published As

Publication number Publication date
US20110161939A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
JP2011138219A (ja) 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法
JP2010250674A (ja) 作業時間予測装置、方法、およびプログラム
Bate et al. Worst-case execution time analysis for dynamic branch predictors
JP2008176453A (ja) シミュレーション装置
JP5421228B2 (ja) 仮想タスクを使用した関係可視化のためのプログラム、装置およびその方法
Ferdinand et al. Static memory and timing analysis of embedded systems code
JP5817324B2 (ja) 補正装置、補正方法、および補正プログラム
JP2013008277A (ja) カバレッジ測定装置、方法およびプログラム
Bobrek et al. Stochastic contention level simulation for single-chip heterogeneous multiprocessors
JP4770657B2 (ja) パイプライン合成システム、方法及びプログラム
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
US9383981B2 (en) Method and apparatus of instruction scheduling using software pipelining
JP2018005369A (ja) 演算処理装置及び演算処理装置の制御方法
JP4467823B2 (ja) 設計支援装置および設計支援方法ならびに設計支援プログラム
JP4898365B2 (ja) 組み込み用プログラム開発装置、及びプログラム自動生成方法
Herbegue et al. Hardware architecture specification and constraint-based WCET computation
Whitham et al. Using trace scratchpads to reduce execution times in predictable real-time architectures
JP6776914B2 (ja) 並列化方法、並列化ツール
Bamakhrama On hard real-time scheduling of cyclo-static dataflow and its application in system-level design
Leung et al. Run-time versus compile-time instruction scheduling in superscalar (RISC) processors: Performance and trade-off
JP2004030514A (ja) 性能解析方法
JP5287427B2 (ja) シンボリックデバッガ、方法およびプログラム
Mokhov et al. Formal modelling and transformations of processor instruction sets
Mbaye et al. Loop acceleration exploration for ASIP architecture
JP4989348B2 (ja) 並列プロセッサ用組み込みプログラム開発装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110531