JP6939132B2 - アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法 - Google Patents
アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法 Download PDFInfo
- Publication number
- JP6939132B2 JP6939132B2 JP2017122021A JP2017122021A JP6939132B2 JP 6939132 B2 JP6939132 B2 JP 6939132B2 JP 2017122021 A JP2017122021 A JP 2017122021A JP 2017122021 A JP2017122021 A JP 2017122021A JP 6939132 B2 JP6939132 B2 JP 6939132B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- profiling
- profiler
- profilers
- execution
- 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
Links
- 238000000034 method Methods 0.000 title claims description 62
- 238000007726 management method Methods 0.000 claims description 99
- 238000013515 script Methods 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 46
- 230000007246 mechanism Effects 0.000 description 21
- 238000002474 experimental method Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3096—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受けるよう構成されるユーザ入力受信部と、
当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶するよう構成されるプロファイラ仕様記憶部と、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成するよう構成されるプロファイラ照合部と、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択するよう構成されるハードウェア管理部と、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始するよう構成されるジョブ・スケジューラと
を有するアプリケーション・プロファイリング・ジョブ管理システムを含む。
a)複数のプロファイリング実行要件を有する異なったアプリケーション・プロファイラによるアプリケーション・プロファイリングのための自動の且つカスタマイズ可能なメカニズム;
b)アプリケーション・プロファイラ又は複数のアプリケーション・プロファイラを用いてプロファイリング対象を実行するのに必要とされる全てのとり得る組み合わせを設定する時間のかかるタスクを解消するので、効率的且つ効果的な様態でのプロファイリング対象のプロファイリング;
c)対象のコンピューティング・システムだけでなく、夫々のアプリケーション・プロファイラを実行及び構成するのに必要とされる厄介な詳細を隠すので、ユーザにとってのトランスペアレンシー;
d)アプリケーション・プロファイラがシームレスな様態で実行され、一方、夫々のアプリケーション・プロファイリング・タスクの結果として現れるプロファイリング出力は記憶されて損なわれないままであるところの技術的詳細の抽象化;
e)複数のコンピューティング・システム及びアプリケーションを構成及び実行するのに必要とされる時間を大いに削減するとともに、必要とされるスティープ・ラーニング・プロセスを回避するプロファイリング対象の包括的且つ完全な特徴付け。
夫々のアプリケーション・プロファイリング・タスクについて、前記選択されたハードウェア・リソースのシステムがソフトウェア・アーチファクトの組の位置にアクセスするために前記記憶されているハードウェア・アーチファクト・マップを使用することによって、前記特定されたアプリケーション・プロファイラが依存状態を示すソフトウェア・アーチファクトの組をアセンブルするよう構成されるアセンブリ部とを更に有する。
1)ユーザ記憶オプション32
このカテゴリに含まれ得るプロファイリング実行要件の例は、
生成されたプロファイリング出力が記憶されるべき親フォルダを特定すること、
夫々のプロファイリング・タスクについてのID名を特定すること、及び
プロファイリング・タスクの組についてのID名を特定すること
を含む。
2)アプリケーションオプション34
このカテゴリに含まれ得るプロファイリング実行要件の例は、
目前にあるプロファイリング対象の組に特有であるデータセット、引数のリスト及び使用されるパラメータを定義すること
を含む。
3)テクノロジオプション36
このカテゴリに含まれ得るプロファイリング実行要件の例は、
プロファイリングの間に考慮される特定のHPCテクノロジのためのプロセス、スレッド、タスク又はスケジューリングオプションの数の詳細を挙げること
を含む。考慮されるHPCテクノロジのタイプは、例えば、メッセージ・パッシング・インターフェイス(MPI;Message Passing Interface)(コンピュータ・クラスタのプロセッサ間の並列コンピューティング)又はオープン・マルチプロセッシング(Multi-Processing)(OpenMP)(共有メモリ(例えば、デュアル・コア)を備えたプロセッサ間の並列コンピューティング)を含んでよい。
4)実行オプション38
このカテゴリに含まれ得るプロファイリング実行要件の例は、
ハードウェア・リソース24の選択されたシステムの所望のプールにおいて如何にしてアプリケーションが実行されるべきかに関する詳細
を含む。例えば、分散及び/又は通信トポロジ、CPUノードの数、CPUアフィニティ及びキューイング・システム。
TECH=[OpenMP,MPI]
ここで、キー(key)は‘TECH’によって表され、値(values)は‘OpenMP’及び‘MPI’によって表される。
(付記1)
ソフトウェア・アプリケーションをプロファイリングする1つ以上のアプリケーション・プロファイリング・タスクを構成及び開始するよう構成されるアプリケーション・プロファイリング・ジョブ管理システムであって、
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受けるよう構成されるユーザ入力受信部と、
当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶するよう構成されるプロファイラ仕様記憶部と、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成するよう構成されるプロファイラ照合部と、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択するよう構成されるハードウェア管理部と、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始するよう構成されるジョブ・スケジューラと
を有するアプリケーション・プロファイリング・ジョブ管理システム。
(付記2)
前記ハードウェア・リソースのシステム又は1つ以上のシステムの夫々について、該夫々のハードウェア・リソースのシステムによって記憶されている複数のソフトウェア・アーチファクトの夫々の位置を特定するハードウェア・アーチファクト・マップを記憶するよう構成されるハードウェア・アーチファクト・マップ記憶部と、
夫々のアプリケーション・プロファイリング・タスクについて、前記選択されたハードウェア・リソースのシステムがソフトウェア・アーチファクトの組の位置にアクセスするために前記記憶されているハードウェア・アーチファクト・マップを使用することによって、前記特定されたアプリケーション・プロファイラが依存状態を示すソフトウェア・アーチファクトの組をアセンブルするよう構成されるアセンブリ部と
を更に有する付記1に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記3)
前記ハードウェア・アーチファクト・マップの夫々は、夫々のハードウェア・リソースのシステムについて、前記1つ以上のアプリケーション・プロファイリング・タスクの実行のために前記アセンブリ部によってアセンブルされる当該ハードウェア・リソース上の前記特定されたソフトウェア・アーチファクトの位置を示すデータへリンクされた1つ以上のハードウェア記憶識別子を含む、
付記2に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記4)
前記プロファイラ仕様の夫々は、夫々のアプリケーション・プロファイラについて、複数のプロファイラ情報識別子を含み、該プロファイラ情報識別子の夫々は、当該アプリケーション・プロファイラから利用可能な性能測定を示し及び/又は前記特定されたアプリケーション・プロファイラによって必要とされる1つ以上のソフトウェア・アーチファクトを示すプロファイリング値域を識別する、
付記1に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記5)
前記プロファイラ照合部は、前記ユーザ入力情報によって特定される前記プロファイリング実行要件を複数の要求値域に変換するよう構成される変換部を含み、夫々の要求値域は、要件情報識別子によって識別され、夫々の要件情報識別子は、関連するプロファイラ情報識別子を有し、
前記プロファイラ照合部は、関連するプロファイラ情報識別子及び要件情報識別子の対についての値域を比較することによって、夫々のプロファイラ仕様を前記特定されたプロファイリング実行要件と比較するよう構成される、
付記4に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記6)
前記プロファイラ照合部は、
各アプリケーション・プロファイラのプロファイラ仕様について、
関連するプロファイラ情報識別子が、各要件情報識別子についての前記識別された要求値域を満たすプロファイリング値域を識別するかどうかを判定することによって、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを決定するよう更に構成され、
前記アプリケーション・プロファイラは、前記識別された要求値域が満たされる場合に、前記特定されたプロファイリング実行要件を満足すると決定される、
付記4に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記7)
当該アプリケーション・プロファイリング・ジョブ管理システムは、前記アプリケーション・プロファイラを実行するハードウェア・リソースのシステムの構成を決定する命令についての構造化されたフォーマットを定義するアプリケーション・プロファイラ・ドライバ・スクリプト・テンプレートを記憶するよう構成され、
前記アセンブリ部は、当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な前記複数のアプリケーション・プロファイラの夫々についてのアプリケーション・プロファイラ・ドライバ・スクリプトを記憶するよう構成されるドライバ・スクリプト記憶部を含み、前記アプリケーション・プロファイラ・ドライバ・スクリプトの夫々は、前記アプリケーション・プロファイラ・ドライバ・スクリプト・テンプレートによって定義される前記構造化されたフォーマットを実装する、
付記1に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記8)
前記プロファイラ仕様の夫々は、夫々のアプリケーション・プロファイラについて、アプリケーション・プロファイラのグループがアプリケーション・プロファイリング・タスクの実行中に実行されるべき順序を示す優先順位標識値を更に含み、これによって、より高い優先順位標識値が、より低い優先順位標識値より前に実行され、
前記優先順位標識値は、一部のアプリケーション・プロファイラが他よりも早い順序で実行されることを求めるアプリケーション・プロファイラのシーケンスの間の動作要件及び/又は相互依存性に基づき、前記優先順位標識値によって保持される値は、ユーザによって設定可能である、
付記4に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記9)
前記プロファイラ照合部は、該プロファイラ照合部が複数のアプリケーション・プロファイリング・タスクを決定する場合に、
前記複数のアプリケーション・プロファイリング・タスクをスキャンして相互作用を識別し、識別された相互作用するアプリケーション・プロファイリング・タスクを同じバッチ・ジョブにグループ化することで、前記複数のアプリケーション・プロファイリング・タスクを1つ以上のバッチ・ジョブに分け、
前記1つ以上のバッチ・ジョブの夫々のためにハードウェア・リソースの独立したシステムを選択することによって、前記アプリケーション・プロファイリング・タスクの夫々を実行するように、1つ以上のコンピューティング環境及びプロセッサからハードウェア・リソースの1つ以上のシステムを選択する
よう構成される、
付記7に記載のアプリケーション・プロファイリング・ジョブ管理システム。
(付記10)
ソフトウェア・アプリケーションをプロファイリングする1つ以上のアプリケーション・プロファイリング・タスクを構成及び開始するよう構成されるアプリケーション・プロファイリング・ジョブ管理システムを有し、
前記アプリケーション・プロファイリング・ジョブ管理システムは、
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受けるよう構成されるユーザ入力受信部と、
前記アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶するよう構成されるプロファイラ仕様記憶部と、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成するよう構成されるプロファイラ照合部と、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択するよう構成されるハードウェア管理部と、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始するよう構成されるジョブ・スケジューラと
を有し、
前記ハードウェア・リソースの1つ以上のシステムを更に有し、該ハードウェア・リソースのシステムの夫々は、前記ジョブ・スケジューラの命令に従ってアプリケーション・プロファイリング・タスクを実行するよう構成される、
コンピューティング・システム。
(付記11)
ソフトウェア・アプリケーションをプロファイリングする1つ以上のアプリケーション・プロファイリング・タスクを構成及び開始するよう構成されるアプリケーション・プロファイリング・ジョブ管理方法であって、
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受け、
当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶し、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成し、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択し、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始する
ことを有するアプリケーション・プロファイリング・ジョブ管理方法。
(付記12)
コンピューティング・デバイスによって実行される場合に、該コンピューティング・デバイスに、
ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受け、
当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶し、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成し、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択し、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始する
ことを有する方法を実行させるコンピュータ・プログラムを記憶している非一時的なコンピュータ可読記憶媒体。
12 ユーザ入力受信部
14 ユーザ入力情報
16 プロファイラ仕様記憶部
18 プロファイラ仕様
20 プロファイラ照合部
22 ハードウェア管理部
24 ハードウェア・リソース
26 ジョブ・スケジューラ
32 ユーザ記憶オプション
34,804 アプリケーションオプション
36、806 テクノロジオプション
38、808 実行オプション
39 共通インターフェイス
802 ユーザオプション
810 詳細オプション記述子
812 特別キュー・スクリプト記述子
993 プロセッサ
994 メモリ
997 ネットワーク・インターフェイス
Claims (12)
- ソフトウェア・アプリケーションをプロファイリングする1つ以上のアプリケーション・プロファイリング・タスクを構成及び開始するよう構成されるアプリケーション・プロファイリング・ジョブ管理システムであって、
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受けるよう構成されるユーザ入力受信部と、
当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶するよう構成されるプロファイラ仕様記憶部と、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成するよう構成されるプロファイラ照合部と、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択するよう構成されるハードウェア管理部と、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始するよう構成されるジョブ・スケジューラと
を有するアプリケーション・プロファイリング・ジョブ管理システム。 - 前記ハードウェア・リソースのシステム又は1つ以上のシステムの夫々について、該夫々のハードウェア・リソースのシステムによって記憶されている複数のソフトウェア・アーチファクトの夫々の位置を特定するハードウェア・アーチファクト・マップを記憶するよう構成されるハードウェア・アーチファクト・マップ記憶部と、
夫々のアプリケーション・プロファイリング・タスクについて、前記選択されたハードウェア・リソースのシステムがソフトウェア・アーチファクトの組の位置にアクセスするために前記記憶されているハードウェア・アーチファクト・マップを使用することによって、前記特定されたアプリケーション・プロファイラが依存状態を示すソフトウェア・アーチファクトの組をアセンブルするよう構成されるアセンブリ部と
を更に有する請求項1に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 前記ハードウェア・アーチファクト・マップの夫々は、夫々のハードウェア・リソースのシステムについて、前記1つ以上のアプリケーション・プロファイリング・タスクの実行のために前記アセンブリ部によってアセンブルされる当該ハードウェア・リソース上の前記特定されたソフトウェア・アーチファクトの位置を示すデータへリンクされた1つ以上のハードウェア記憶識別子を含む、
請求項2に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 前記プロファイラ仕様の夫々は、夫々のアプリケーション・プロファイラについて、複数のプロファイラ情報識別子を含み、該プロファイラ情報識別子の夫々は、当該アプリケーション・プロファイラから利用可能な性能測定を示し及び/又は前記特定されたアプリケーション・プロファイラによって必要とされる1つ以上のソフトウェア・アーチファクトを示すプロファイリング値域を識別する、
請求項1に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 前記プロファイラ照合部は、前記ユーザ入力情報によって特定される前記プロファイリング実行要件を複数の要求値域に変換するよう構成される変換部を含み、夫々の要求値域は、要件情報識別子によって識別され、夫々の要件情報識別子は、関連するプロファイラ情報識別子を有し、
前記プロファイラ照合部は、関連するプロファイラ情報識別子及び要件情報識別子の対についての値域を比較することによって、夫々のプロファイラ仕様を前記特定されたプロファイリング実行要件と比較するよう構成される、
請求項4に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 前記プロファイラ照合部は、
各アプリケーション・プロファイラのプロファイラ仕様について、
関連するプロファイラ情報識別子が、各要件情報識別子についての前記識別された要求値域を満たすプロファイリング値域を識別するかどうかを判定することによって、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを決定するよう更に構成され、
前記アプリケーション・プロファイラは、前記識別された要求値域が満たされる場合に、前記特定されたプロファイリング実行要件を満足すると決定される、
請求項4に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 当該アプリケーション・プロファイリング・ジョブ管理システムは、前記アプリケーション・プロファイラを実行するハードウェア・リソースのシステムの構成を決定する命令についての構造化されたフォーマットを定義するアプリケーション・プロファイラ・ドライバ・スクリプト・テンプレートを記憶するよう構成され、
前記アセンブリ部は、当該アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な前記複数のアプリケーション・プロファイラの夫々についてのアプリケーション・プロファイラ・ドライバ・スクリプトを記憶するよう構成されるドライバ・スクリプト記憶部を含み、前記アプリケーション・プロファイラ・ドライバ・スクリプトの夫々は、前記アプリケーション・プロファイラ・ドライバ・スクリプト・テンプレートによって定義される前記構造化されたフォーマットを実装する、
請求項2又は3に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 前記プロファイラ仕様の夫々は、夫々のアプリケーション・プロファイラについて、アプリケーション・プロファイラのグループがアプリケーション・プロファイリング・タスクの実行中に実行されるべき順序を示す優先順位標識値を更に含み、これによって、より高い優先順位標識値が、より低い優先順位標識値より前に実行され、
前記優先順位標識値は、一部のアプリケーション・プロファイラが他よりも早い順序で実行されることを求めるアプリケーション・プロファイラのシーケンスの間の動作要件及び/又は相互依存性に基づき、前記優先順位標識値によって保持される値は、ユーザによって設定可能である、
請求項4に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - 前記プロファイラ照合部は、該プロファイラ照合部が複数のアプリケーション・プロファイリング・タスクを決定する場合に、
前記複数のアプリケーション・プロファイリング・タスクをスキャンして相互作用を識別し、識別された相互作用するアプリケーション・プロファイリング・タスクを同じバッチ・ジョブにグループ化することで、前記複数のアプリケーション・プロファイリング・タスクを1つ以上のバッチ・ジョブに分け、
前記1つ以上のバッチ・ジョブの夫々のためにハードウェア・リソースの独立したシステムを選択することによって、前記アプリケーション・プロファイリング・タスクの夫々を実行するように、1つ以上のコンピューティング環境及びプロセッサからハードウェア・リソースの1つ以上のシステムを選択する
よう構成される、
請求項7に記載のアプリケーション・プロファイリング・ジョブ管理システム。 - ソフトウェア・アプリケーションをプロファイリングする1つ以上のアプリケーション・プロファイリング・タスクを構成及び開始するよう構成されるアプリケーション・プロファイリング・ジョブ管理システムを有し、
前記アプリケーション・プロファイリング・ジョブ管理システムは、
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受けるよう構成されるユーザ入力受信部と、
前記アプリケーション・プロファイリング・ジョブ管理システムがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶するよう構成されるプロファイラ仕様記憶部と、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成するよう構成されるプロファイラ照合部と、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択するよう構成されるハードウェア管理部と、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始するよう構成されるジョブ・スケジューラと
を有し、
前記ハードウェア・リソースの1つ以上のシステムを更に有し、該ハードウェア・リソースのシステムの夫々は、前記ジョブ・スケジューラの命令に従ってアプリケーション・プロファイリング・タスクを実行するよう構成される、
コンピューティング・システム。 - コンピューティング・デバイスが、ソフトウェア・アプリケーションをプロファイリングする1つ以上のアプリケーション・プロファイリング・タスクを構成及び開始するためのアプリケーション・プロファイリング・ジョブ管理方法であって、
前記ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受け、
当該アプリケーション・プロファイリング・ジョブ管理方法を実行する前記コンピューティング・デバイスがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶し、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成し、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択し、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始する
ことを有するアプリケーション・プロファイリング・ジョブ管理方法。 - コンピューティング・デバイスによって実行される場合に、該コンピューティング・デバイスに、
ソフトウェア・アプリケーションを含むプロファイリング対象及びプロファイリング実行要件を特定するユーザ入力情報を受け、
前記コンピューティング・デバイスがアクセス可能な複数のアプリケーション・プロファイラの夫々のプロファイラ仕様を記憶し、
前記複数のアプリケーション・プロファイラのうちのどれが前記特定されたプロファイリング実行要件を満足するかを、前記夫々のプロファイラ仕様に基づき決定し、前記特定されたプロファイリング実行要件を満足すると決定されたアプリケーション・プロファイラの夫々について、前記複数のアプリケーション・プロファイラの中の当該アプリケーション・プロファイラ及び前記プロファイリング対象を夫々が特定する1つ以上のアプリケーション・プロファイリング・タスクを生成し、
前記アプリケーション・プロファイリング・タスクを実行するハードウェア・リソース及び/又はプロセッサの1つ以上のシステムを選択し、
前記1つ以上のアプリケーション・プロファイリング・タスクの夫々の実行を各々の前記選択されたハードウェア・リソースの1つ以上のシステムにより開始する
ことを有する方法を実行させるコンピュータ・プログラムを記憶している非一時的なコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016214786.2A DE102016214786A1 (de) | 2016-08-09 | 2016-08-09 | Anwendungsprofiling-Jobmanagement-System, -Programm und -Verfahren |
DE102016214786.2 | 2016-08-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018026114A JP2018026114A (ja) | 2018-02-15 |
JP6939132B2 true JP6939132B2 (ja) | 2021-09-22 |
Family
ID=59564108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017122021A Active JP6939132B2 (ja) | 2016-08-09 | 2017-06-22 | アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10338956B2 (ja) |
EP (1) | EP3285170B1 (ja) |
JP (1) | JP6939132B2 (ja) |
DE (1) | DE102016214786A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2632141C2 (ru) * | 2015-06-30 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и компьютерное устройство для динамической индексации и загрузки кодов модулей |
DE102016223484B4 (de) * | 2016-11-25 | 2021-04-15 | Fujitsu Limited | Bestimmen von Ähnlichkeiten in Computersoftwarecodes zur Leistungsanalyse |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US10812416B2 (en) * | 2017-12-27 | 2020-10-20 | International Business Machines Corporation | Reduced number of counters for reliable messaging |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
KR102252137B1 (ko) | 2018-02-13 | 2021-05-13 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US11663002B2 (en) | 2018-02-13 | 2023-05-30 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN116991226A (zh) | 2018-02-14 | 2023-11-03 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
WO2019218896A1 (zh) | 2018-05-18 | 2019-11-21 | 上海寒武纪信息科技有限公司 | 计算方法以及相关产品 |
WO2020001438A1 (zh) | 2018-06-27 | 2020-01-02 | 上海寒武纪信息科技有限公司 | 片上代码断点调试方法、片上处理器及芯片断点调试系统 |
WO2020026256A1 (en) * | 2018-08-02 | 2020-02-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Inspection entity and method performed therein for handling an output fault of a system |
JP6867518B2 (ja) | 2018-08-28 | 2021-04-28 | カンブリコン テクノロジーズ コーポレイション リミティド | データ前処理方法、装置、コンピュータ機器及び記憶媒体 |
EP3859488A4 (en) | 2018-09-28 | 2022-06-29 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device, signal processing method and related product |
US11138018B2 (en) * | 2018-12-14 | 2021-10-05 | Nvidia Corporation | Optimizing execution of computer programs using piecemeal profiles |
CN111385462A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
US10977075B2 (en) * | 2019-04-10 | 2021-04-13 | Mentor Graphics Corporation | Performance profiling for a multithreaded processor |
US20200334522A1 (en) | 2019-04-18 | 2020-10-22 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN111832739B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
EP3772022A1 (en) | 2019-06-12 | 2021-02-03 | Shanghai Cambricon Information Technology Co., Ltd | Method for determining quantization parameters in neural network and related products |
EP4020321A4 (en) | 2019-08-23 | 2024-01-17 | Anhui Cambricon Information Technology Co., Ltd. | DATA PROCESSING METHOD, APPARATUS, COMPUTER APPARATUS AND STORAGE MEDIUM |
CN111414170A (zh) * | 2020-03-05 | 2020-07-14 | 莱诺斯科技(北京)股份有限公司 | 一种可视化编排测试过程的装置及方法 |
US11113105B1 (en) * | 2020-06-09 | 2021-09-07 | Infosys Limited | Computer implemented system and method for generating platform agnostic digital worker |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199160A1 (en) | 2008-01-31 | 2009-08-06 | Yahoo! Inc. | Centralized system for analyzing software performance metrics |
US8340942B2 (en) * | 2010-04-26 | 2012-12-25 | International Business Machines Corporation | Identifying opportunities to improve multiprocess system performance |
US20120084028A1 (en) | 2010-09-30 | 2012-04-05 | Ibm Corporation | Framework and Methodology for a Real-Time Fine-Grained Power Profiling with Integrated Modeling |
US8572244B2 (en) * | 2011-08-05 | 2013-10-29 | Bank Of America Corporation | Monitoring tool deployment module and method of operation |
US8839200B1 (en) | 2012-07-23 | 2014-09-16 | Google Inc. | Generating profiling data |
US9465712B2 (en) * | 2013-06-26 | 2016-10-11 | Silicon Graphics International Corp. | Assessment of a high performance computing application in relation to network latency due to the chosen interconnects |
-
2016
- 2016-08-09 DE DE102016214786.2A patent/DE102016214786A1/de active Pending
-
2017
- 2017-06-22 JP JP2017122021A patent/JP6939132B2/ja active Active
- 2017-06-30 US US15/639,085 patent/US10338956B2/en active Active
- 2017-08-04 EP EP17185021.7A patent/EP3285170B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10338956B2 (en) | 2019-07-02 |
EP3285170A1 (en) | 2018-02-21 |
EP3285170B1 (en) | 2022-05-11 |
JP2018026114A (ja) | 2018-02-15 |
DE102016214786A1 (de) | 2018-02-15 |
US20180046497A1 (en) | 2018-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6939132B2 (ja) | アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法 | |
US20200159573A1 (en) | Methods and apparatus to automate deployments of software defined data centers | |
JP5989097B2 (ja) | 高度並行処理タスクの登録及び実行 | |
JP6695437B2 (ja) | 管理計算機及びテスト環境決定方法 | |
CN106104468B (zh) | 动态地确定数据处理应用程序的模式 | |
US11093241B2 (en) | Outlier software component remediation | |
US11188348B2 (en) | Hybrid computing device selection analysis | |
US20210367862A1 (en) | Personalized serverless functions for multi-tenant cloud computing environment | |
Lin et al. | Modeling and simulation of spark streaming | |
Spinner et al. | Online model learning for self-aware computing infrastructures | |
Lehmann et al. | How workflow engines should talk to resource managers: A proposal for a common workflow scheduling interface | |
US10530892B2 (en) | Processing request for multi-versioned service | |
Spinner et al. | A reference architecture for online performance model extraction in virtualized environments | |
US11573777B2 (en) | Method and apparatus for enabling autonomous acceleration of dataflow AI applications | |
Hauck et al. | Deriving performance-relevant infrastructure properties through model-based experiments with Ginpex | |
JP2022542007A (ja) | テスト・ベクタを使用した高水準コンストラクトの最適化の自動検証 | |
US9286196B1 (en) | Program execution optimization using uniform variable identification | |
KR101916960B1 (ko) | 복수의 소스 코드들을 자동적으로 결합하는 방법 | |
US9853871B2 (en) | Dynamic collaboration service platform and method for providing an application service at the same platform | |
Ejarque et al. | The BioExcel methodology for developing dynamic, scalable, reliable and portable computational biomolecular workflows | |
JPWO2011090032A1 (ja) | 並列処理プログラム生成方法、並列処理プログラム生成プログラム、及び並列処理プログラム生成装置 | |
Badosa et al. | A history-based resource manager for genome analysis workflows applications on clusters with heterogeneous nodes | |
CN107250985B (zh) | 用于异构计算应用编程接口(api)的系统和方法 | |
CN114764331A (zh) | 代码生成方法、装置、电子设备和计算机可读存储介质 | |
JP2022011264A (ja) | ソフトウェア開発支援装置及びソフトウェア開発支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210706 |
|
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: 20210803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210816 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6939132 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |