JPH04225439A - ログ/サンプリングデータの解析方法 - Google Patents
ログ/サンプリングデータの解析方法Info
- Publication number
- JPH04225439A JPH04225439A JP2407463A JP40746390A JPH04225439A JP H04225439 A JPH04225439 A JP H04225439A JP 2407463 A JP2407463 A JP 2407463A JP 40746390 A JP40746390 A JP 40746390A JP H04225439 A JPH04225439 A JP H04225439A
- Authority
- JP
- Japan
- Prior art keywords
- sampling data
- local
- log
- logs
- collected
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000005070 sampling Methods 0.000 title claims abstract description 106
- 238000004364 calculation method Methods 0.000 claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 47
- 238000007405 data analysis Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、複数のプロセスの並列
動作時のログ/サンプリングデータを解析して出力する
解析方法であって、並列計算機プログラムのデバッグ/
チューニングの支援を目的とする、実行時のログあるい
はサンプリングデータの解析方法に関するものである。
動作時のログ/サンプリングデータを解析して出力する
解析方法であって、並列計算機プログラムのデバッグ/
チューニングの支援を目的とする、実行時のログあるい
はサンプリングデータの解析方法に関するものである。
【0002】計算機プログラムのデバッグやチューニン
グのために、実際にそのプログラムを実行しながら、実
行状況に関するログあるいはサンプリングデータを出力
しておき、実行後にその情報を解析する実行後解析が広
く用いられている。また、プログラム・テキストだけか
ら矛盾や危険性を警告する実行前解析や、実行中に会話
的に実行の中断/再開、変数の値の出力などを行う実行
時解析が一般に行われている。
グのために、実際にそのプログラムを実行しながら、実
行状況に関するログあるいはサンプリングデータを出力
しておき、実行後にその情報を解析する実行後解析が広
く用いられている。また、プログラム・テキストだけか
ら矛盾や危険性を警告する実行前解析や、実行中に会話
的に実行の中断/再開、変数の値の出力などを行う実行
時解析が一般に行われている。
【0003】並列計算機には、逐次計算にない同期、デ
ータ転送などのタイミングに起因するバグや性能低下が
考えられるため、これらデバッグ/チューニングには、
プロセス相互の実行順序関係が追える実行後解析が非常
に有効な手段である。また、科学技術計算などの実行に
何時間もかかるプログラムは、実行前解析で検出できな
いバグや性能低下原因について、実行後解析以外に有効
な手段がない。
ータ転送などのタイミングに起因するバグや性能低下が
考えられるため、これらデバッグ/チューニングには、
プロセス相互の実行順序関係が追える実行後解析が非常
に有効な手段である。また、科学技術計算などの実行に
何時間もかかるプログラムは、実行前解析で検出できな
いバグや性能低下原因について、実行後解析以外に有効
な手段がない。
【0004】
【従来の技術】従来、実行後解析のための実行時の情報
抽出の方法は、ログ方式とサンプリング方式とが代表的
である。ログ方式は、計算実行中に特定のイベントが発
生する毎に、ログ(イベントの内容と発生時刻など)を
出力装置に出力し、実行後にデバッグ/チューニングの
ための当該ログの解析を種々の観点から行う方式である
。ここで、イベントは、プロセスの発生/実行開始/消
滅、データ転送、プロセス間同期などのデバッグ/チュ
ーニングの観点から重要と考えられる処理である。出力
装置は、大容量の外部記憶装置やプリンタ装置を使用し
ている。
抽出の方法は、ログ方式とサンプリング方式とが代表的
である。ログ方式は、計算実行中に特定のイベントが発
生する毎に、ログ(イベントの内容と発生時刻など)を
出力装置に出力し、実行後にデバッグ/チューニングの
ための当該ログの解析を種々の観点から行う方式である
。ここで、イベントは、プロセスの発生/実行開始/消
滅、データ転送、プロセス間同期などのデバッグ/チュ
ーニングの観点から重要と考えられる処理である。出力
装置は、大容量の外部記憶装置やプリンタ装置を使用し
ている。
【0005】サンプリング方式は、ログの代わりにサン
プリングデータを用いて解析、例えばプログラム区間毎
のサンプリング回数を計数して統計処理の解析などを行
う方式である。サンプリングデータ(サンプリング時刻
毎の実行箇所、実行環境など)は、計算実行中に適当な
時間間隔で割り込んで採取する。時間間隔は、プロセス
毎の経過時間や絶対時間である。
プリングデータを用いて解析、例えばプログラム区間毎
のサンプリング回数を計数して統計処理の解析などを行
う方式である。サンプリングデータ(サンプリング時刻
毎の実行箇所、実行環境など)は、計算実行中に適当な
時間間隔で割り込んで採取する。時間間隔は、プロセス
毎の経過時間や絶対時間である。
【0006】
【発明が解決しようとする課題】上述したように、並列
処理中の各プロセスのログあるいはサンプリングデータ
をそれぞれ採取しておき、実行後にまとめて解析を行う
実行後解析は、下記問題があった。 ■ ログ方式は、並列化のデバッグ/チューニングの
ための多種のログの採取が必要となると共に、計算速度
の向上によりログを出すイベントの実行頻度が増えると
いう問題があった。
処理中の各プロセスのログあるいはサンプリングデータ
をそれぞれ採取しておき、実行後にまとめて解析を行う
実行後解析は、下記問題があった。 ■ ログ方式は、並列化のデバッグ/チューニングの
ための多種のログの採取が必要となると共に、計算速度
の向上によりログを出すイベントの実行頻度が増えると
いう問題があった。
【0007】■ サンプリング方式は、並列化に対応
してサンプリングデータとして出力すべき情報が増える
と共に、計算速度の向上によりサンプリング周期を小さ
くしなければ実行状況が追えなくなるという問題があっ
た。これら問題により、膨大な容量の出力装置が必要と
なってしまうと共に、ログ/サンプリングデータの解析
に多くの時間が必要となってしまう。
してサンプリングデータとして出力すべき情報が増える
と共に、計算速度の向上によりサンプリング周期を小さ
くしなければ実行状況が追えなくなるという問題があっ
た。これら問題により、膨大な容量の出力装置が必要と
なってしまうと共に、ログ/サンプリングデータの解析
に多くの時間が必要となってしまう。
【0008】一方、安易に実行中に解析を行えば、解析
処理のためにプロセス間の負荷バランスが変わったり、
解析のためのプロセス間の同期やデータ転送が実行中に
頻発して本来の計算実行のタイミングがかき乱されたり
するため、本来の実行のデバッグ/チューニングが非常
に困難になる。本発明は、並列計算プログラムの本来の
実行の様子を変化させないで、デバッグ/チューニング
に必要なログやサンプリングデータの量を少なくすると
共に、出力装置の使用量や実行後解析に要する時間を低
減することを目的としている。
処理のためにプロセス間の負荷バランスが変わったり、
解析のためのプロセス間の同期やデータ転送が実行中に
頻発して本来の計算実行のタイミングがかき乱されたり
するため、本来の実行のデバッグ/チューニングが非常
に困難になる。本発明は、並列計算プログラムの本来の
実行の様子を変化させないで、デバッグ/チューニング
に必要なログやサンプリングデータの量を少なくすると
共に、出力装置の使用量や実行後解析に要する時間を低
減することを目的としている。
【0009】
【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、出力処理2は、プロセスの
予め指定したイベントのときに、あるいは予め指定した
時間間隔のときにローカルログを出力(採取)するもの
である。
成図を示す。図1において、出力処理2は、プロセスの
予め指定したイベントのときに、あるいは予め指定した
時間間隔のときにローカルログを出力(採取)するもの
である。
【0010】解析/出力手段4は、一斉同期時あるいは
合流時に、既に採取したローカルログあるいはローカル
サンプリングデータを解析して必要なログあるいはサン
プリングデータのみを出力するものである。
合流時に、既に採取したローカルログあるいはローカル
サンプリングデータを解析して必要なログあるいはサン
プリングデータのみを出力するものである。
【0011】
【作用】本発明は、図1に示すように、複数のプロセス
間で一斉同期しつつ並列計算実行中に、出力処理2が各
プロセスの予め指定したイベントのときにローカルログ
をそれぞれ採取しておき、あるいは各プロセスの予め指
定したサンプリング時間間隔毎にローカルサンプリング
データをそれぞれ採取しておき、一斉同期時に解析/出
力手段4がこれら採取したローカルログあるいはローカ
ルサンプリングデータを解析して必要なログあるいはサ
ンプリングデータのみを外部記憶装置などに出力するよ
うにしている。また、複数のプロセスの生成と合流を行
いつつ並列計算実行中に、出力処理2が各プロセスの予
め指定したイベントのときにローカルログをそれぞれ採
取しておき、あるいは各プロセスの予め指定したサンプ
リング時間間隔毎にローカルサンプリングデータをそれ
ぞれ採取しておき、合流時に解析/出力手段4がこれら
採取したローカルログあるいはサンプリグデータを解析
して必要なログあるいはサンプリングデータのみを外部
記憶装置などに出力するようにしている。
間で一斉同期しつつ並列計算実行中に、出力処理2が各
プロセスの予め指定したイベントのときにローカルログ
をそれぞれ採取しておき、あるいは各プロセスの予め指
定したサンプリング時間間隔毎にローカルサンプリング
データをそれぞれ採取しておき、一斉同期時に解析/出
力手段4がこれら採取したローカルログあるいはローカ
ルサンプリングデータを解析して必要なログあるいはサ
ンプリングデータのみを外部記憶装置などに出力するよ
うにしている。また、複数のプロセスの生成と合流を行
いつつ並列計算実行中に、出力処理2が各プロセスの予
め指定したイベントのときにローカルログをそれぞれ採
取しておき、あるいは各プロセスの予め指定したサンプ
リング時間間隔毎にローカルサンプリングデータをそれ
ぞれ採取しておき、合流時に解析/出力手段4がこれら
採取したローカルログあるいはサンプリグデータを解析
して必要なログあるいはサンプリングデータのみを外部
記憶装置などに出力するようにしている。
【0012】従って、並列計算プログラムの本来の実行
状態を変化させないで、デバッグ/チューニングに必要
なログやサンプリングデータのみを出力することにより
、出力装置(外部記憶装置、プリンタ装置など)の使用
量を必要最小限に削減することが可能となると共に、必
要なデータのみを実行後解析してこの解析に要する時間
を低減することが可能となる。
状態を変化させないで、デバッグ/チューニングに必要
なログやサンプリングデータのみを出力することにより
、出力装置(外部記憶装置、プリンタ装置など)の使用
量を必要最小限に削減することが可能となると共に、必
要なデータのみを実行後解析してこの解析に要する時間
を低減することが可能となる。
【0013】
【実施例】次に、図1から図5を用いて本発明の実施例
の構成および動作を順次詳細に説明する。図1において
、計算実行1は、プロセスが計算を実行するもの(フェ
ーズ)である。
の構成および動作を順次詳細に説明する。図1において
、計算実行1は、プロセスが計算を実行するもの(フェ
ーズ)である。
【0014】出力処理2は、プロセスが予め定めたイベ
ント(例えばデータ転送命令)のときにローカルログを
メモリに出力したり、あるいは予め定めたサンプリング
時間間隔毎にローカルサンプリングデータをメモリに出
力したりするものである。プロセス間一斉同期処理3は
、複数のプロセスが全て一斉に同期するための処理であ
る。速く処理の終了したプロセスは、最も遅いプロセス
が処理を終了するまで同期待ちする。ここで、矢印の先
端のスキマは同期待ちを表す。プロセス間一斉同期処理
3の間で挟まれた区間を同期ブロックと呼び、この同期
ブロックの直後の解析/出力処理4で解析を行う。また
、解析/出力処理4を行った後のプロセス間一斉同期処
理3は、当該解析/出力処理4によって乱された計算実
行のタイミングを再び整えるためのものである。
ント(例えばデータ転送命令)のときにローカルログを
メモリに出力したり、あるいは予め定めたサンプリング
時間間隔毎にローカルサンプリングデータをメモリに出
力したりするものである。プロセス間一斉同期処理3は
、複数のプロセスが全て一斉に同期するための処理であ
る。速く処理の終了したプロセスは、最も遅いプロセス
が処理を終了するまで同期待ちする。ここで、矢印の先
端のスキマは同期待ちを表す。プロセス間一斉同期処理
3の間で挟まれた区間を同期ブロックと呼び、この同期
ブロックの直後の解析/出力処理4で解析を行う。また
、解析/出力処理4を行った後のプロセス間一斉同期処
理3は、当該解析/出力処理4によって乱された計算実
行のタイミングを再び整えるためのものである。
【0015】解析/出力処理4は、同期ブロックの解析
処理を行い、出力処理2で採取されたローカルログある
いはローカルサンプリングデータから、デバッグ/チュ
ーニングなどに必要なログあるいはサンプリングデータ
を取り出したり、統計処理を施したりし、外部に出力す
るものである。解析処理は、1プロセスで実行してもよ
いし、あるいは複数のプロセスで並列実行してもよい。 この解析/出力処理4は、例えばログとして次のような
解析を行い出力する。
処理を行い、出力処理2で採取されたローカルログある
いはローカルサンプリングデータから、デバッグ/チュ
ーニングなどに必要なログあるいはサンプリングデータ
を取り出したり、統計処理を施したりし、外部に出力す
るものである。解析処理は、1プロセスで実行してもよ
いし、あるいは複数のプロセスで並列実行してもよい。 この解析/出力処理4は、例えばログとして次のような
解析を行い出力する。
【0016】・反復実行した計算実行1のデータ転送量
を合計し、1つのログとして出力する。 ・load/storeした変数名やその時刻をプロセ
ス間で調べ、相互矛盾や非効率性を抽出して、警告をロ
グとして出力する。 ・プロセス間一斉同期処理3の実行開始時刻および実行
終了時刻から、プロセス毎の同期待ち時間、同期ブロッ
クの長さなどをログとして出力する。
を合計し、1つのログとして出力する。 ・load/storeした変数名やその時刻をプロセ
ス間で調べ、相互矛盾や非効率性を抽出して、警告をロ
グとして出力する。 ・プロセス間一斉同期処理3の実行開始時刻および実行
終了時刻から、プロセス毎の同期待ち時間、同期ブロッ
クの長さなどをログとして出力する。
【0017】・反復回数nと計算実行1を通過する時刻
から、各反復に要する時間の平均値、最大値、最小値を
算出し、ログとして出力する。尚、各反復開始および反
復終了時刻をローカルログとして出力しておけば、より
正確に求められる。 ・更に、解析/出力処理4で解析の結果、重大な問題を
検出したとき、その時点で実行を中断したり、より詳し
い解析ルーチンへ分岐するなど、動的に実行を変えるよ
うにする。
から、各反復に要する時間の平均値、最大値、最小値を
算出し、ログとして出力する。尚、各反復開始および反
復終了時刻をローカルログとして出力しておけば、より
正確に求められる。 ・更に、解析/出力処理4で解析の結果、重大な問題を
検出したとき、その時点で実行を中断したり、より詳し
い解析ルーチンへ分岐するなど、動的に実行を変えるよ
うにする。
【0018】また、例えばサンプリングデータとして次
のような解析を行い出力する。・サンプリングした回数
を手続毎に集計し、サンプリングデータとして出力する
。サンプリング時間間隔が一定であれば、そのまま各手
続の重さとなる。 ・手続毎の実行時間の平均値、最大値、最小値をサンプ
リング時間間隔の差から求めてサンプリングデータとし
て出力する。
のような解析を行い出力する。・サンプリングした回数
を手続毎に集計し、サンプリングデータとして出力する
。サンプリング時間間隔が一定であれば、そのまま各手
続の重さとなる。 ・手続毎の実行時間の平均値、最大値、最小値をサンプ
リング時間間隔の差から求めてサンプリングデータとし
て出力する。
【0019】・各反復に要する時間、同期に要する時間
の平均値、最大値、最小値を求め、サンプリングデータ
として出力する。図1の(イ)は、プロセス間で一斉同
期を行う並列計算におけるログ出力例を示す。これは、
■ プロセス1、2、3が並列に計算実行1し、これ
ら計算実行1中で予め指定したイベント(例えばデータ
転送命令)のときに、本実施例に係る出力処理2がロー
カルログを内部メモリにそれぞれ採取する。
の平均値、最大値、最小値を求め、サンプリングデータ
として出力する。図1の(イ)は、プロセス間で一斉同
期を行う並列計算におけるログ出力例を示す。これは、
■ プロセス1、2、3が並列に計算実行1し、これ
ら計算実行1中で予め指定したイベント(例えばデータ
転送命令)のときに、本実施例に係る出力処理2がロー
カルログを内部メモリにそれぞれ採取する。
【0020】■ プロセス間一斉同期処理3の直後に
、本実施例に係る解析/出力処理4がこれら採取したロ
ーカルログから、デバッグ/チューニングなどに必要な
ログを取り出し、あるいは統計処理を施し、これら取り
出したログあるいは統計処理など施した後のログを外部
記憶装置に出力する。 ■ ■の処理を行った同期の乱れをプロセス間一斉同
期処理3によって整えた後、次の計算実行1を各プロセ
スが一斉に開始する。
、本実施例に係る解析/出力処理4がこれら採取したロ
ーカルログから、デバッグ/チューニングなどに必要な
ログを取り出し、あるいは統計処理を施し、これら取り
出したログあるいは統計処理など施した後のログを外部
記憶装置に出力する。 ■ ■の処理を行った同期の乱れをプロセス間一斉同
期処理3によって整えた後、次の計算実行1を各プロセ
スが一斉に開始する。
【0021】図1の(ロ)は、プロセス間で一斉同期を
行う並列計算におけるサンプリングデータ出力例を示す
。これは、 ■ プロセス1、2、3が並列に計算実行1し、これ
ら計算実行1中の予め指定したサンプリング時間間隔毎
に、本実施例に係る出力処理2がローカルサンプリング
データを内部メモリにそれぞれ採取する。
行う並列計算におけるサンプリングデータ出力例を示す
。これは、 ■ プロセス1、2、3が並列に計算実行1し、これ
ら計算実行1中の予め指定したサンプリング時間間隔毎
に、本実施例に係る出力処理2がローカルサンプリング
データを内部メモリにそれぞれ採取する。
【0022】■ プロセス間一斉同期処理3の直後に
、本実施例に係る解析/出力処理4がこれら採取したロ
ーカルサンプリングデータから、デバッグ/チューニン
グなどに必要なサンプリングデータを取り出し、あるい
は統計処理を施し、これら取り出したサンプリングデー
タあるいは統計処理など施した後のサンプリングデータ
を外部記憶装置に出力する。
、本実施例に係る解析/出力処理4がこれら採取したロ
ーカルサンプリングデータから、デバッグ/チューニン
グなどに必要なサンプリングデータを取り出し、あるい
は統計処理を施し、これら取り出したサンプリングデー
タあるいは統計処理など施した後のサンプリングデータ
を外部記憶装置に出力する。
【0023】■ ■の処理を行った同期の乱れをプロ
セス間一斉同期処理3によって整えた後、次の計算実行
1を各プロセスが一斉に開始する。図1の(ハ)は、プ
ロセスの生成と合流を行う並列計算におけるログ出力例
を示す。これは、 ■ プロセスが3つの子プロセスを生成して並列に計
算実行1を行い、これら計算実行1中で予め指定したイ
ベント(例えばデータ転送命令)のときに、本実施例に
係る出力処理2がローカルログを内部メモリにそれぞれ
採取する。
セス間一斉同期処理3によって整えた後、次の計算実行
1を各プロセスが一斉に開始する。図1の(ハ)は、プ
ロセスの生成と合流を行う並列計算におけるログ出力例
を示す。これは、 ■ プロセスが3つの子プロセスを生成して並列に計
算実行1を行い、これら計算実行1中で予め指定したイ
ベント(例えばデータ転送命令)のときに、本実施例に
係る出力処理2がローカルログを内部メモリにそれぞれ
採取する。
【0024】■ 3つの子プロセスが合流する際に、
本実施例に係る解析/出力処理4がこれら採取したロー
カルログから、デバッグ/チューニングなどに必要なロ
グを取り出し、あるいは統計処理を施し、これら取り出
したログあるいは統計処理など施した後のログを外部記
憶装置に出力すると共に合流する。そして、計算実行1
を行う。
本実施例に係る解析/出力処理4がこれら採取したロー
カルログから、デバッグ/チューニングなどに必要なロ
グを取り出し、あるいは統計処理を施し、これら取り出
したログあるいは統計処理など施した後のログを外部記
憶装置に出力すると共に合流する。そして、計算実行1
を行う。
【0025】図1の(ニ)は、プロセスの生成と合流を
行う並列計算におけるサンプリングデータ出力例を示す
。これは、 ■ プロセスが3つの子プロセスを生成して並列に計
算実行1を行い、これら計算実行1中で予め指定したサ
ンプリング時間間隔で、本実施例に係る出力処理2がロ
ーカルサンプリングデータを内部メモリにそれぞれ採取
する。
行う並列計算におけるサンプリングデータ出力例を示す
。これは、 ■ プロセスが3つの子プロセスを生成して並列に計
算実行1を行い、これら計算実行1中で予め指定したサ
ンプリング時間間隔で、本実施例に係る出力処理2がロ
ーカルサンプリングデータを内部メモリにそれぞれ採取
する。
【0026】■ 3つの子プロセスが合流する際に、
本実施例に係る解析/出力処理4がこれら採取したロー
カルサンプリングデータから、デバッグ/チューニング
などに必要なサンプリングデータを取り出し、あるいは
統計処理を施し、これら取り出したサンプリングデータ
あるいは統計処理など施した後のサンプリングデータを
外部記憶装置に出力すると共に合流する。そして、計算
実行1を行う。
本実施例に係る解析/出力処理4がこれら採取したロー
カルサンプリングデータから、デバッグ/チューニング
などに必要なサンプリングデータを取り出し、あるいは
統計処理を施し、これら取り出したサンプリングデータ
あるいは統計処理など施した後のサンプリングデータを
外部記憶装置に出力すると共に合流する。そして、計算
実行1を行う。
【0027】図2は、本発明のログ出力構成図を示す。
これは、図1の(イ)の詳細構成図の例である。図2に
おいて、プロセス1、2、3は、一斉同期しなから並列
計算するプロセスである。転送命令は、予め指定したイ
ベントであって、これのときに本来の転送処理2−2の
前にローカルログ生成ルーチン2−1を起動するための
ものである。
おいて、プロセス1、2、3は、一斉同期しなから並列
計算するプロセスである。転送命令は、予め指定したイ
ベントであって、これのときに本来の転送処理2−2の
前にローカルログ生成ルーチン2−1を起動するための
ものである。
【0028】ローカルログ生成ルーチン2−1は、本来
の転送処理2−2の前に起動され、ローカルログを採取
してローカルログ記憶域5−1に格納するものである。 転送処理2−2は、指示された転送処理を行うものであ
る。ローカルログ解析/出力手段4−1は、一斉同期時
に起動され、採取したローカルログについて解析を行い
、デバッグ/チューニングに必要なログや統計処理を施
したログをDASD(外部記憶装置)6に出力するもの
である。
の転送処理2−2の前に起動され、ローカルログを採取
してローカルログ記憶域5−1に格納するものである。 転送処理2−2は、指示された転送処理を行うものであ
る。ローカルログ解析/出力手段4−1は、一斉同期時
に起動され、採取したローカルログについて解析を行い
、デバッグ/チューニングに必要なログや統計処理を施
したログをDASD(外部記憶装置)6に出力するもの
である。
【0029】メモリ5は、プロセス1、2、3や、ロー
カルログ記憶域5−1を設けるメモリ、例えば主記憶で
ある。ローカルログ記憶域5−1は、プロセス1、2、
3が動作するメモリ5上に設けた記憶域であって、各プ
ロセス1、2、3が予め指定した転送命令を実行すると
きにその先頭の部分でローカルログ生成ルーチン2−2
を起動してローカルログを採取して書き込む記憶域であ
る。
カルログ記憶域5−1を設けるメモリ、例えば主記憶で
ある。ローカルログ記憶域5−1は、プロセス1、2、
3が動作するメモリ5上に設けた記憶域であって、各プ
ロセス1、2、3が予め指定した転送命令を実行すると
きにその先頭の部分でローカルログ生成ルーチン2−2
を起動してローカルログを採取して書き込む記憶域であ
る。
【0030】DASD6は、ログを出力する外部記憶装
置である。次に、図3のフローチャートに示す順序に従
い、図2の構成の動作を詳細に説明する。図3において
、S1:他プロセスと同期する。これは、図2でプロセ
ス1、2、3が図1の(イ)のプロセス間一斉同期処理
3に示すように、一斉同期して計算実行1を開始する。
置である。次に、図3のフローチャートに示す順序に従
い、図2の構成の動作を詳細に説明する。図3において
、S1:他プロセスと同期する。これは、図2でプロセ
ス1、2、3が図1の(イ)のプロセス間一斉同期処理
3に示すように、一斉同期して計算実行1を開始する。
【0031】S2:変数k=0と初期設定する。
S3:データ転送する。これは、図2でプロセス1、2
、3のいずれかで転送命令の実行時にライブラリコール
を行い、これの先頭で本実施例に係るローカルログ採取
を行った後、本来の転送処理を行う。 S4:算術計算を行う。
、3のいずれかで転送命令の実行時にライブラリコール
を行い、これの先頭で本実施例に係るローカルログ採取
を行った後、本来の転送処理を行う。 S4:算術計算を行う。
【0032】S5:データ転送する。これは、S3と同
様である。 S6:変数kに+1して更新する。 S7:変数kが予め定めた繰り返し回数nに等しいか否
かを判別する。YESの場合には、予め定めた繰り返し
回数nに等しいので、S8に進む。NOの場合には、S
3以降を繰り返し行う。
様である。 S6:変数kに+1して更新する。 S7:変数kが予め定めた繰り返し回数nに等しいか否
かを判別する。YESの場合には、予め定めた繰り返し
回数nに等しいので、S8に進む。NOの場合には、S
3以降を繰り返し行う。
【0033】S8:他プロセスとの同期を行う。これは
、転送命令の実行および算術計算を行った後、プロセス
間一斉同期処理3を行う。 S9:ローカルログの解析・出力を行う。これは、・ロ
ーカルログの読取り ・処理(load/storeタイミングの矛盾検出な
ど) ・結果出力 を行う。
、転送命令の実行および算術計算を行った後、プロセス
間一斉同期処理3を行う。 S9:ローカルログの解析・出力を行う。これは、・ロ
ーカルログの読取り ・処理(load/storeタイミングの矛盾検出な
ど) ・結果出力 を行う。
【0034】S10:他プロセスとの同期を行う。これ
は、ローカルログの解析・出力を行った後、これらの処
理により乱された計算実行のタイミングを整えるために
他のプロセスとの一斉同期を行った後、一斉に次の計算
実行を開始する。以上の処理によって、並列実行する複
数のプロセスで予め指定した転送命令のときにローカル
ログをローカルログ記憶域5−1に採取しておき、一斉
同期時にこれらローカルログを解析してデバッグ/チュ
ーニングなどに必要なログのみを取り出したり、あるい
は更に統計処理を行ったりしてDASD6に出力するこ
とにより、デバッグ/チューニングに必要なログのみを
DASD6に出力し、ログの量を必要最小限に削減する
ことが可能となると共に、これら出力した必要最小限の
ログをもとに実行後解析する負担を軽減することが可能
となる。
は、ローカルログの解析・出力を行った後、これらの処
理により乱された計算実行のタイミングを整えるために
他のプロセスとの一斉同期を行った後、一斉に次の計算
実行を開始する。以上の処理によって、並列実行する複
数のプロセスで予め指定した転送命令のときにローカル
ログをローカルログ記憶域5−1に採取しておき、一斉
同期時にこれらローカルログを解析してデバッグ/チュ
ーニングなどに必要なログのみを取り出したり、あるい
は更に統計処理を行ったりしてDASD6に出力するこ
とにより、デバッグ/チューニングに必要なログのみを
DASD6に出力し、ログの量を必要最小限に削減する
ことが可能となると共に、これら出力した必要最小限の
ログをもとに実行後解析する負担を軽減することが可能
となる。
【0035】図4は、本発明のサンプリングデータ出力
構成図を示す。これは、図1の(ロ)の詳細構成図の例
である。図4において、プロセス1、2、3は、一斉同
期しなから並列計算するプロセスである。サンプラ1、
2、3は、予め指定したサンプリング時間間隔毎にプロ
セス1、2、3が実行している処理およびその内容など
をサプリングしてローカルサンプリングデータ記憶域5
−2に格納するものである。
構成図を示す。これは、図1の(ロ)の詳細構成図の例
である。図4において、プロセス1、2、3は、一斉同
期しなから並列計算するプロセスである。サンプラ1、
2、3は、予め指定したサンプリング時間間隔毎にプロ
セス1、2、3が実行している処理およびその内容など
をサプリングしてローカルサンプリングデータ記憶域5
−2に格納するものである。
【0036】起動は、プロセス1、2、3 が一斉同
期時に、ローカルサンプリングデータ解析/出力手段4
−2を起動するものである。ローカルサンプリングデー
タ解析/出力手段4−2は、プロセス1、2、3の一斉
同期時に起動され、採取したローカルサンプリングデー
タについて解析を行い、デバッグ/チューニングに必要
なサンプリングデータや統計処理を施したサンプリング
データをDASD(外部記憶装置)6に出力するもので
ある。
期時に、ローカルサンプリングデータ解析/出力手段4
−2を起動するものである。ローカルサンプリングデー
タ解析/出力手段4−2は、プロセス1、2、3の一斉
同期時に起動され、採取したローカルサンプリングデー
タについて解析を行い、デバッグ/チューニングに必要
なサンプリングデータや統計処理を施したサンプリング
データをDASD(外部記憶装置)6に出力するもので
ある。
【0037】メモリ5は、プロセス1、2、3や、ロー
カルサンプリングデータ記憶域5−2を設けるメモリ、
例えば主記憶である。ローカルサンプリングデータ記憶
域5−2は、プロセス1、2、3が動作するメモリ5上
に設けた記憶域であって、各プロセス1、2、3が予め
指定したサンプリング時間間隔毎にサンプラ1、2、3
が処理およびその内容などを採取して書き込む記憶域で
ある。
カルサンプリングデータ記憶域5−2を設けるメモリ、
例えば主記憶である。ローカルサンプリングデータ記憶
域5−2は、プロセス1、2、3が動作するメモリ5上
に設けた記憶域であって、各プロセス1、2、3が予め
指定したサンプリング時間間隔毎にサンプラ1、2、3
が処理およびその内容などを採取して書き込む記憶域で
ある。
【0038】次に、図5のフローチャートに示す順序に
従い、図4の構成の動作を詳細に説明する。図5におい
て、S11:他プロセスと同期する。これは、図4でプ
ロセス1、2、3が図1の(ロ)のプロセス間一斉同期
処理3に示すように、一斉同期して計算実行1を開始す
る。
従い、図4の構成の動作を詳細に説明する。図5におい
て、S11:他プロセスと同期する。これは、図4でプ
ロセス1、2、3が図1の(ロ)のプロセス間一斉同期
処理3に示すように、一斉同期して計算実行1を開始す
る。
【0039】S12:変数k=0と初期設定する。
S13:データ転送する。これは、図4でプロセス1、
2、3のいずれかで転送命令の実行時にライブラリコー
ルを行い、転送処理を行う。 S14:算術計算を行う。 S15:データ転送する。
2、3のいずれかで転送命令の実行時にライブラリコー
ルを行い、転送処理を行う。 S14:算術計算を行う。 S15:データ転送する。
【0040】S16:変数kに+1して更新する。
S17:変数kが予め定めた繰り返し回数nに等しいか
否かを判別する。YESの場合には、予め定めた繰り返
し回数nに等しいので、S18に進む。NOの場合には
、S13以降を繰り返し行う。 以上のS11ないしS17の間、サンプラ1、2、3が
サンプリング時間間隔T毎に処理およびその内容などを
採取してローカルサンプリングデータとしてローカルサ
ンプリングデータ記憶域5−2に書き込んでおく。
否かを判別する。YESの場合には、予め定めた繰り返
し回数nに等しいので、S18に進む。NOの場合には
、S13以降を繰り返し行う。 以上のS11ないしS17の間、サンプラ1、2、3が
サンプリング時間間隔T毎に処理およびその内容などを
採取してローカルサンプリングデータとしてローカルサ
ンプリングデータ記憶域5−2に書き込んでおく。
【0041】S18:他プロセスとの同期を行う。これ
は、転送命令の実行および算術計算を行った後、プロセ
ス間一斉同期処理3を行う。 S19:ローカルサンプリングデータの解析・出力を行
う。これは、 ・ローカルサンプリングデータの読取り・処理(冗長な
情報のふるい落としなど)・ローカルサンプリングデー
タ記憶域の初期化・結果出力 を行う。
は、転送命令の実行および算術計算を行った後、プロセ
ス間一斉同期処理3を行う。 S19:ローカルサンプリングデータの解析・出力を行
う。これは、 ・ローカルサンプリングデータの読取り・処理(冗長な
情報のふるい落としなど)・ローカルサンプリングデー
タ記憶域の初期化・結果出力 を行う。
【0042】S20:他プロセスとの同期を行う。これ
は、ローカルサンプリングデータの解析・出力を行った
後、これらの処理により乱された計算実行のタイミング
を整えるために他のプロセスとの一斉同期を行った後、
一斉に次の計算実行を開始する。以上の処理によって、
並列実行する複数のプロセスで予め指定したサンプリン
グ時間間隔T毎にローカルサンプリングデータをローカ
ルサンプリングデータ記憶域5−2に採取しておき、一
斉同期時にこれらローカルサンプリングデータを解析し
てデバッグ/チューニングなどに必要なサンプリングデ
ータのみを取り出したり、あるいは更に統計処理を行っ
たりしてDASD6に出力することにより、デバッグ/
チューニングに必要なサンプリングデータのみをDAS
D6に出力し、サンプリングデータの量を必要最小限に
削減することが可能となると共に、これら出力した必要
最小限のサンプリングデータをもとに実行後解析する負
担を軽減することが可能となる。
は、ローカルサンプリングデータの解析・出力を行った
後、これらの処理により乱された計算実行のタイミング
を整えるために他のプロセスとの一斉同期を行った後、
一斉に次の計算実行を開始する。以上の処理によって、
並列実行する複数のプロセスで予め指定したサンプリン
グ時間間隔T毎にローカルサンプリングデータをローカ
ルサンプリングデータ記憶域5−2に採取しておき、一
斉同期時にこれらローカルサンプリングデータを解析し
てデバッグ/チューニングなどに必要なサンプリングデ
ータのみを取り出したり、あるいは更に統計処理を行っ
たりしてDASD6に出力することにより、デバッグ/
チューニングに必要なサンプリングデータのみをDAS
D6に出力し、サンプリングデータの量を必要最小限に
削減することが可能となると共に、これら出力した必要
最小限のサンプリングデータをもとに実行後解析する負
担を軽減することが可能となる。
【0043】
【発明の効果】以上説明したように、本発明によれば、
並列計算プログラムの本来の実行状態を変化させないで
、デバッグ/チューニングに必要なログやサンプリング
データのみを出力する構成を採用しているため、出力装
置(外部記憶装置、プリンタ装置など)の使用量を必要
最小限に削減することができると共に、必要なデータの
みを実行後解析してこの解析に要する時間を低減するこ
とができる。また、本来の計算実行への影響が極めて少
ないため、本来の計算実行を再現しながら並列計算のデ
バッグ/チューニングを行うことが可能となる。
並列計算プログラムの本来の実行状態を変化させないで
、デバッグ/チューニングに必要なログやサンプリング
データのみを出力する構成を採用しているため、出力装
置(外部記憶装置、プリンタ装置など)の使用量を必要
最小限に削減することができると共に、必要なデータの
みを実行後解析してこの解析に要する時間を低減するこ
とができる。また、本来の計算実行への影響が極めて少
ないため、本来の計算実行を再現しながら並列計算のデ
バッグ/チューニングを行うことが可能となる。
【図1】本発明の原理構成図である。
【図2】本発明のログ出力構成図である。
【図3】本発明のログ出力フローチャートである。
【図4】本発明のサンプリングデータ出力構成図である
。
。
【図5】本発明のサンプリングデータ出力フローチャー
トである。
トである。
1:計算実行
2:出力処理
2−1:ローカルログ生成ルーチン
2−2:転送処理
3:プロセス間一斉同期処理
4:解析/出力処理
4−1:ローカルログ解析/出力手段
4−2:ローカルサンプリングデータ解析/出力手段5
:メモリ 5−1:ローカルログ記憶域 5−2:ローカルサンプリングデータ記憶域6:DAS
D(外部記憶装置)
:メモリ 5−1:ローカルログ記憶域 5−2:ローカルサンプリングデータ記憶域6:DAS
D(外部記憶装置)
Claims (4)
- 【請求項1】 複数のプロセスの並列動作時のログ/
サンプリングデータを解析して出力する解析方法におい
て、複数のプロセス間で一斉同期しつつ並列計算実行中
に、各プロセスの予め指定したイベントのときにローカ
ルログをそれぞれ採取しておき、一斉同期時にこれら採
取したローカルログを解析して必要なログのみを出力す
るように構成したことを特徴とするログ/サンプリング
データの解析方法。 - 【請求項2】 複数のプロセスの並列動作時のログ/
サンプリングデータを解析して出力する解析方法におい
て、複数のプロセス間で一斉同期しつつ並列計算実行中
に、各プロセスの予め指定したサンプリング時間間隔毎
にローカルサンプリングデータをそれぞれ採取しておき
、一斉同期時にこれら採取したローカルサンプリングデ
ータを解析して必要なサンプリングデータのみを出力す
るように構成したことを特徴とするログ/サンプリング
データの解析方法。 - 【請求項3】 複数のプロセスの並列動作時のログ/
サンプリングデータを解析して出力する解析方法におい
て、複数のプロセスの生成と合流を行いつつ並列計算実
行中に、各プロセスの予め指定したイベントのときにロ
ーカルログをそれぞれ採取しておき、合流時にこれら採
取したローカルログを解析して必要なログのみを出力す
るように構成したことを特徴とするログ/サンプリング
データの解析方法。 - 【請求項4】 複数のプロセスの並列動作時のログ/
サンプリングデータを解析して出力する解析方法におい
て、複数のプロセスの生成と合流を行いつつ並列計算実
行中に、各プロセスの予め指定したサンプリング時間間
隔毎にローカルサンプリングデータをそれぞれ採取して
おき、合流時にこれら採取したローカルサンプリングデ
ータを解析して必要なサンプリングデータのみを出力す
るように構成したことを特徴とするログ/サンプリング
データの解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2407463A JP2754495B2 (ja) | 1990-12-27 | 1990-12-27 | ログ/サンプリングデータの解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2407463A JP2754495B2 (ja) | 1990-12-27 | 1990-12-27 | ログ/サンプリングデータの解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04225439A true JPH04225439A (ja) | 1992-08-14 |
JP2754495B2 JP2754495B2 (ja) | 1998-05-20 |
Family
ID=18517034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2407463A Expired - Fee Related JP2754495B2 (ja) | 1990-12-27 | 1990-12-27 | ログ/サンプリングデータの解析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2754495B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6025667A (en) * | 1997-09-29 | 2000-02-15 | Fujitsu General Limited | Permanent magnet rotor type electric motor with different permanent magnet materials |
JP2008146426A (ja) * | 2006-12-12 | 2008-06-26 | Fujitsu Ltd | 模擬ソースプログラム生成プログラム及び装置、並びに情報処理方法 |
JP2009059316A (ja) * | 2007-09-04 | 2009-03-19 | Nec Corp | 測定装置、測定プログラム、および、測定方法 |
-
1990
- 1990-12-27 JP JP2407463A patent/JP2754495B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6025667A (en) * | 1997-09-29 | 2000-02-15 | Fujitsu General Limited | Permanent magnet rotor type electric motor with different permanent magnet materials |
JP2008146426A (ja) * | 2006-12-12 | 2008-06-26 | Fujitsu Ltd | 模擬ソースプログラム生成プログラム及び装置、並びに情報処理方法 |
JP2009059316A (ja) * | 2007-09-04 | 2009-03-19 | Nec Corp | 測定装置、測定プログラム、および、測定方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2754495B2 (ja) | 1998-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3480973B2 (ja) | 並列処理システムの動作解析装置 | |
US6047390A (en) | Multiple context software analysis | |
CN1072372C (zh) | 多媒体计算机诊断系统 | |
US8418149B2 (en) | Differential comparison system and method | |
US20110225592A1 (en) | Contention Analysis in Multi-Threaded Software | |
US20070157177A1 (en) | Methods and apparatus to analyze processor systems | |
US20080126828A1 (en) | Dynamic enablement and customization of tracing information in a data processing system | |
JPH0823837B2 (ja) | サンプリング性能分析方法及び装置 | |
Schulz | Extracting critical path graphs from MPI applications | |
US20130275951A1 (en) | Race detection for web applications | |
Haghdoost et al. | On the Accuracy and Scalability of Intensive {I/O} Workload Replay | |
US9146758B2 (en) | Simultaneous probing of multiple software modules of a computer system | |
Doray et al. | Diagnosing performance variations by comparing multi-level execution traces | |
US8078590B2 (en) | Data processing system | |
KR100920414B1 (ko) | 트랜잭션의 지정된 수행지점에서 자바 스택을 스냅샷하는자바 프로세스 모니터링 시스템 및 그 방법 | |
JP2754495B2 (ja) | ログ/サンプリングデータの解析方法 | |
US6938054B2 (en) | Systems, methods, and computer program products to optimize serialization when porting code to IBM S/390 UNIX system services from a UNIX system | |
Gerstel et al. | On-the-fly replay: a practical paradigm and its implementation for distributed debugging | |
Mohror et al. | Trace profiling: Scalable event tracing on high-end parallel systems | |
JPH052508A (ja) | プログラム動作解析装置 | |
Margheritta et al. | LTTng‐HSA: Bringing LTTng tracing to HSA‐based GPU runtimes | |
Tarvo et al. | Automatic performance prediction of multithreaded programs: a simulation approach | |
Karassavas et al. | Characterizing the performance of a Real-Timesystem with task execution times | |
Eckert et al. | Parallel program trace extrapolation | |
Liu | Low Overhead Materialization with Flor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980120 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080306 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090306 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |