JPH052508A - プログラム動作解析装置 - Google Patents
プログラム動作解析装置Info
- Publication number
- JPH052508A JPH052508A JP3150673A JP15067391A JPH052508A JP H052508 A JPH052508 A JP H052508A JP 3150673 A JP3150673 A JP 3150673A JP 15067391 A JP15067391 A JP 15067391A JP H052508 A JPH052508 A JP H052508A
- Authority
- JP
- Japan
- Prior art keywords
- program
- processor
- instruction
- executions
- sampling 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 スーパーコンピュータや複数のプロセッサか
ら構成される並列マシン上でのプログラム開発やプログ
ラムの評価・解析を支援するプログラム動作解析装置に
関し、コストを削減し作業の効率化を図るものを提供す
る。 【構成】 複数のプロセッサから構成される並列マシン
で、プロセッサごとに設けられ、各プロセッサで実行し
た命令の実行回数と中断回数を計測するカウンタC0 ,
C1 ,・・・と、指定時間間隔ごとに割り込み信号発生
するインターバルタイマ13と、その割り込み信号を受
けて、各カウンタの内容を収集する収集部12と、収集
部12での収集データからサンプリングしてファイルす
るサンプリング情報ファイル14と、実行中断を要求す
るデータ入力部2を備えた構成とする。またサンプリン
グ情報ファイル14をもとに、プログラムの動作状態を
折れ線、棒、パターングラプなどを用いて表示する編集
/表示部3を備える。
ら構成される並列マシン上でのプログラム開発やプログ
ラムの評価・解析を支援するプログラム動作解析装置に
関し、コストを削減し作業の効率化を図るものを提供す
る。 【構成】 複数のプロセッサから構成される並列マシン
で、プロセッサごとに設けられ、各プロセッサで実行し
た命令の実行回数と中断回数を計測するカウンタC0 ,
C1 ,・・・と、指定時間間隔ごとに割り込み信号発生
するインターバルタイマ13と、その割り込み信号を受
けて、各カウンタの内容を収集する収集部12と、収集
部12での収集データからサンプリングしてファイルす
るサンプリング情報ファイル14と、実行中断を要求す
るデータ入力部2を備えた構成とする。またサンプリン
グ情報ファイル14をもとに、プログラムの動作状態を
折れ線、棒、パターングラプなどを用いて表示する編集
/表示部3を備える。
Description
【0001】
【産業上の利用分野】本発明は、スーパーコンピュータ
や複数のプロセッサから構成される並列マシン上でのプ
ログラム開発やプログラムの評価・解析を支援するプロ
グラム動作解析装置に関する。
や複数のプロセッサから構成される並列マシン上でのプ
ログラム開発やプログラムの評価・解析を支援するプロ
グラム動作解析装置に関する。
【0002】
【従来の技術】並列マシン上でのプログラムの開発は、
分散実行可能な並列アルゴリズムの設計、プログラムの
開発、並列マシン上におけるプログラムの実行という処
理をプログラムが正しく動作するまで、あるいは性能評
価の各作業を満足な計算速度が得られるまで、順次繰り
返すことにより行われる。
分散実行可能な並列アルゴリズムの設計、プログラムの
開発、並列マシン上におけるプログラムの実行という処
理をプログラムが正しく動作するまで、あるいは性能評
価の各作業を満足な計算速度が得られるまで、順次繰り
返すことにより行われる。
【0003】このプログラムの開発にあって、実際に
は、プログラム中のバグ(bug)の存在位置、性能の悪い
箇所やその原因を探るための系統だった解析・評価手段
がないため、試行錯誤を繰り返しながら作業を進めてい
くことになり、効率良くプログラムを開発するのは困難
であった。このため、一連の作業を計算機によって支援
し、開発者の負担を軽減する必要がある。
は、プログラム中のバグ(bug)の存在位置、性能の悪い
箇所やその原因を探るための系統だった解析・評価手段
がないため、試行錯誤を繰り返しながら作業を進めてい
くことになり、効率良くプログラムを開発するのは困難
であった。このため、一連の作業を計算機によって支援
し、開発者の負担を軽減する必要がある。
【0004】科学技術計算の分野では、プログラム中の
ある特定のループが膨大な量のデータを処理する場合が
多い。このため、スーパーコンピュータに代表される高
速計算機では、コンパイラで自動的にプログラム中のル
ープを、パイプライン方式などで、並列実行可能な形式
に変換することによって、プログラムを高速に実行する
方式を採用している。
ある特定のループが膨大な量のデータを処理する場合が
多い。このため、スーパーコンピュータに代表される高
速計算機では、コンパイラで自動的にプログラム中のル
ープを、パイプライン方式などで、並列実行可能な形式
に変換することによって、プログラムを高速に実行する
方式を採用している。
【0005】したがって、コンパイラの最適化方式の良
否が、高速にプログラムを実行させるためのキーテクノ
ロジーとなるため、コンパイラ方式の良否を適切に評価
することが重要となる。
否が、高速にプログラムを実行させるためのキーテクノ
ロジーとなるため、コンパイラ方式の良否を適切に評価
することが重要となる。
【0006】しかし、現状では、予め設定した例題のテ
ストデータを、スーパーコンピュータで実行し、計算に
要した時間を計測することによって良否を判断してい
る。このため、性能が悪い場合に、なぜ悪いのかを探る
手段は、人手による机上シミュレーションに頼ることに
なり、性能の評価・解析作業は非常に時間のかかるもの
となっていた。
ストデータを、スーパーコンピュータで実行し、計算に
要した時間を計測することによって良否を判断してい
る。このため、性能が悪い場合に、なぜ悪いのかを探る
手段は、人手による机上シミュレーションに頼ることに
なり、性能の評価・解析作業は非常に時間のかかるもの
となっていた。
【0007】一方、複数のプロセッサから構成される並
列マシンを利用する場合においても、計算速度を飛躍的
に向上させることが主たる目的となる。この並列マシン
では、1台のプロセッサで構成される計算機に比べて、
プロセッサの台数に比例して計算速度が向上することが
要求される。例えば、1台のプロセッサでプログラムを
実行する場合に比べて、10台のプロセッサを使用する
場合は、計算速度も10倍速くなることが要求される。
列マシンを利用する場合においても、計算速度を飛躍的
に向上させることが主たる目的となる。この並列マシン
では、1台のプロセッサで構成される計算機に比べて、
プロセッサの台数に比例して計算速度が向上することが
要求される。例えば、1台のプロセッサでプログラムを
実行する場合に比べて、10台のプロセッサを使用する
場合は、計算速度も10倍速くなることが要求される。
【0008】このようにプロセッサの台数に応じて計算
速度が向上することを、一般に台数効果と呼んでいる。
台数効果を向上させるためには、複数のプロセッサにて
同時に、効率良くプログラムを実行する必要がある。こ
のためには、ある特定のプロセッサに負荷(計算量)が
集中しないように、プログラム中の負荷を複数のプロセ
ッサで並列に実行可能な単位に分割し、かつ各プロセッ
サに割り付ける負荷が均等になるように分散させる必要
がある。
速度が向上することを、一般に台数効果と呼んでいる。
台数効果を向上させるためには、複数のプロセッサにて
同時に、効率良くプログラムを実行する必要がある。こ
のためには、ある特定のプロセッサに負荷(計算量)が
集中しないように、プログラム中の負荷を複数のプロセ
ッサで並列に実行可能な単位に分割し、かつ各プロセッ
サに割り付ける負荷が均等になるように分散させる必要
がある。
【0009】しかし現実には、ある処理が終わるまで他
の処理を実行しないようにする、いわゆる同期に代表さ
れるようなプログラムの実行順序の依存関係や、プログ
ラム間でのデータ構造の共有があるため、プログラムを
並列実行可能な単位に分割することは難しく、また分割
できる場合でも、プロセッサ間での負荷のばらつきがあ
るため、単純にプロセッサに割当てただけでは、各プロ
セッサを同時に、かつ効率良く実行させることは極めて
困難であった。
の処理を実行しないようにする、いわゆる同期に代表さ
れるようなプログラムの実行順序の依存関係や、プログ
ラム間でのデータ構造の共有があるため、プログラムを
並列実行可能な単位に分割することは難しく、また分割
できる場合でも、プロセッサ間での負荷のばらつきがあ
るため、単純にプロセッサに割当てただけでは、各プロ
セッサを同時に、かつ効率良く実行させることは極めて
困難であった。
【0010】また、並列マシン上でのデバッグにおいて
は、複数のプロセッサでプログラムが並列に動作し、特
に無限ループやデッドロックにより、プログラムの実行
が正常に終了しない場合があるため、トレースなどによ
って実行状況を判定してバグの存在位置を特定するのは
非常に困難な作業となっている。
は、複数のプロセッサでプログラムが並列に動作し、特
に無限ループやデッドロックにより、プログラムの実行
が正常に終了しない場合があるため、トレースなどによ
って実行状況を判定してバグの存在位置を特定するのは
非常に困難な作業となっている。
【0011】
【発明が解決しようとする課題】上記したように、並列
マシン上でのプログラムの開発は、分散実行可能な並列
アルゴリズムの設計、プログラムの開発、並列マシン上
でのプログラムの実行というような処理をプログラムが
正しく動作するまで、あるいは性能評価の各作業を満足
な計算速度が得られるまで順次繰り返すことになる。し
かし、実際には、バグの存在位置や性能が悪い箇所、原
因を探るための系統だった解析・評価手段がないため、
試行錯誤を繰り返しながら作業を進めていくことにな
り、効率良くプログラムを開発するのは極めて困難であ
った。
マシン上でのプログラムの開発は、分散実行可能な並列
アルゴリズムの設計、プログラムの開発、並列マシン上
でのプログラムの実行というような処理をプログラムが
正しく動作するまで、あるいは性能評価の各作業を満足
な計算速度が得られるまで順次繰り返すことになる。し
かし、実際には、バグの存在位置や性能が悪い箇所、原
因を探るための系統だった解析・評価手段がないため、
試行錯誤を繰り返しながら作業を進めていくことにな
り、効率良くプログラムを開発するのは極めて困難であ
った。
【0012】本発明は、スーパーコンピュータや複数の
プロセッサから構成される並列マシン上でのプログラム
のデバッグ、評価・解析、テストを支援することによっ
て、各作業に要す時間や人員などに対応するコストを削
減するとともに各作業の効率化を図るプログラム動作解
析装置を実現することを目的とする。
プロセッサから構成される並列マシン上でのプログラム
のデバッグ、評価・解析、テストを支援することによっ
て、各作業に要す時間や人員などに対応するコストを削
減するとともに各作業の効率化を図るプログラム動作解
析装置を実現することを目的とする。
【0013】
【課題を解決するための手段】図1は本発明によるプロ
グラム動作解析装置のシステム構成図であり、これによ
り本発明原理を説明する。同図において、1は複数のプ
ロセッサから構成される並列マシン上でのプログラムの
実行情報を抽出するサンプリング装置であり、並列マシ
ン11に設けられた各プロセッサ(ここでは各々のプロ
セッサにプロセッサ0番,プロセッサ1番,プロセッサ
2番・・・というような番号を付す)に対応して設けら
れたカウンタC0 ,C1 ,C2 ・・・と、これら各カウ
ンタC0 ,C1 ,C2 に保持された内容を、後述するイ
ンターバルタイマ13からの収集要求割り込みを受けて
収集する収集部12と、この収集部12に対して、予め
指定された時間間隔ごとに収集要求の割り込みを発生す
るインターバルタイマ13と、上記収集部12で収集さ
れた情報を、サンプリング情報としてファイルするサン
プリング情報ファイル14とから構成されている。
グラム動作解析装置のシステム構成図であり、これによ
り本発明原理を説明する。同図において、1は複数のプ
ロセッサから構成される並列マシン上でのプログラムの
実行情報を抽出するサンプリング装置であり、並列マシ
ン11に設けられた各プロセッサ(ここでは各々のプロ
セッサにプロセッサ0番,プロセッサ1番,プロセッサ
2番・・・というような番号を付す)に対応して設けら
れたカウンタC0 ,C1 ,C2 ・・・と、これら各カウ
ンタC0 ,C1 ,C2 に保持された内容を、後述するイ
ンターバルタイマ13からの収集要求割り込みを受けて
収集する収集部12と、この収集部12に対して、予め
指定された時間間隔ごとに収集要求の割り込みを発生す
るインターバルタイマ13と、上記収集部12で収集さ
れた情報を、サンプリング情報としてファイルするサン
プリング情報ファイル14とから構成されている。
【0014】上記各カウンタC0 ,C1 ,C2 ・・・
は、各プロセッサごとの実行回数と中断回数をカウント
するもので、図2に示すように、例えば「add」とい
う命令が何回実行されたかという実行回数の累積値が2
3088回、実行が何回中断したかという中断回数の累
積値が1003回というように、各命令ごとに実行回数
の累積値と中断回数の累積値をカウントする。
は、各プロセッサごとの実行回数と中断回数をカウント
するもので、図2に示すように、例えば「add」とい
う命令が何回実行されたかという実行回数の累積値が2
3088回、実行が何回中断したかという中断回数の累
積値が1003回というように、各命令ごとに実行回数
の累積値と中断回数の累積値をカウントする。
【0015】また、図1において、2はキーボードやマ
ウスなどのデータ入力端末21と入力装置22から成る
データ入力部であり、オペレータの判断により状況に応
じてプログラムの実行を中断させるための中断要求割り
込みを、収集部12に与えることができる。つまり、無
限ループやデッドロックによってプログラムの実行が正
常に終了しないようなプログラムに対し、そのプログラ
ムの実行を中断させるための中断要求割り込みを入力す
ることができる。この中断要求割り込みが出されると、
その時点までに各カウンタC0 ,C1 ,C2 ・・・が保
持している内容(実行回数や中断回数)を、収集部12
が収集して、その収集した情報をサンプリング情報ファ
イル14に送るようになっている。
ウスなどのデータ入力端末21と入力装置22から成る
データ入力部であり、オペレータの判断により状況に応
じてプログラムの実行を中断させるための中断要求割り
込みを、収集部12に与えることができる。つまり、無
限ループやデッドロックによってプログラムの実行が正
常に終了しないようなプログラムに対し、そのプログラ
ムの実行を中断させるための中断要求割り込みを入力す
ることができる。この中断要求割り込みが出されると、
その時点までに各カウンタC0 ,C1 ,C2 ・・・が保
持している内容(実行回数や中断回数)を、収集部12
が収集して、その収集した情報をサンプリング情報ファ
イル14に送るようになっている。
【0016】そして、上記サンプリング情報ファイル1
4にファイルされた実行回数や中断回数のサンプリング
情報は、編集/表示部3に送られ、各命令ごと及びプロ
グラム全体の実行状況、各命令ごと及びプログラム全体
の各プロセッサ間負荷バランス、各プロセッサ上での各
命令ごと及びプログラム全体の実行状況として表すデー
タに編集されたのち、表示部32にて折れ線グラフ、棒
グラフ、パターングラフなどで表示されるようになって
いる。
4にファイルされた実行回数や中断回数のサンプリング
情報は、編集/表示部3に送られ、各命令ごと及びプロ
グラム全体の実行状況、各命令ごと及びプログラム全体
の各プロセッサ間負荷バランス、各プロセッサ上での各
命令ごと及びプログラム全体の実行状況として表すデー
タに編集されたのち、表示部32にて折れ線グラフ、棒
グラフ、パターングラフなどで表示されるようになって
いる。
【0017】図3は上記サンプリング情報ファイル14
にファイルされるデータ形式を示すもので、そのデータ
形式は、例えば同図に示すようにサイクル番号1におけ
るプロセッサ番号0,1,2,・・・、プロセッサ番号
0における命令の名称「add」、「func1」とそ
れぞれの実行回数と中断回数、プロセッサ番号1におけ
る命令の名称「sub」、「func2」とそれぞれの
実行回数と中断回数、というように各サイクル毎に各プ
ロセッサの命令ごとの実行回数と中断回数が書き込まれ
た形式となっている。ここで、中断回数とは、例えば各
プロセッサからデータが到着するまで、命令が待ち状態
に入ったというようなものをいう。この中断回数が多い
ということはそのプログラムが適切でないことを意味し
ている。
にファイルされるデータ形式を示すもので、そのデータ
形式は、例えば同図に示すようにサイクル番号1におけ
るプロセッサ番号0,1,2,・・・、プロセッサ番号
0における命令の名称「add」、「func1」とそ
れぞれの実行回数と中断回数、プロセッサ番号1におけ
る命令の名称「sub」、「func2」とそれぞれの
実行回数と中断回数、というように各サイクル毎に各プ
ロセッサの命令ごとの実行回数と中断回数が書き込まれ
た形式となっている。ここで、中断回数とは、例えば各
プロセッサからデータが到着するまで、命令が待ち状態
に入ったというようなものをいう。この中断回数が多い
ということはそのプログラムが適切でないことを意味し
ている。
【0018】ところで、上記各プロセッサでの実行回数
及び中断回数のカウントは、具体的には図4のような手
段にてカウントする。つまり、各プロセッサの処理系に
は、図4で示すように命令のつながった実行キュー40
と中断キュー41を持っており、通常は、実行部42に
て実行キュー40から命令を順次取り出して、その命令
を実行するが、データに過不足があった場合は、中断キ
ュー41に移す。このとき、実行部42から実行キュー
40に命令を取り出す回数を、実行回数カウント部43
でカウントしたものが実行回数としてカウントされ、中
断キュー41に処理を移したときの回数を中断回数カウ
ント部44でカウントしたものが中断回数としてカウン
トされるようになっている。
及び中断回数のカウントは、具体的には図4のような手
段にてカウントする。つまり、各プロセッサの処理系に
は、図4で示すように命令のつながった実行キュー40
と中断キュー41を持っており、通常は、実行部42に
て実行キュー40から命令を順次取り出して、その命令
を実行するが、データに過不足があった場合は、中断キ
ュー41に移す。このとき、実行部42から実行キュー
40に命令を取り出す回数を、実行回数カウント部43
でカウントしたものが実行回数としてカウントされ、中
断キュー41に処理を移したときの回数を中断回数カウ
ント部44でカウントしたものが中断回数としてカウン
トされるようになっている。
【0019】
【作用】このような構成において、その処理手順を図
5,図6のフローチャートを参照しながら説明する。図
5はサンプリング装置1の情報収集アルゴリズムのフロ
ーチャートであり、図6は編集/表示部3における情報
の編集/表示アルゴリズムのフローチャートである。ま
ず図5によりサンプリング装置1における情報収集アル
ゴリズムについて説明する。
5,図6のフローチャートを参照しながら説明する。図
5はサンプリング装置1の情報収集アルゴリズムのフロ
ーチャートであり、図6は編集/表示部3における情報
の編集/表示アルゴリズムのフローチャートである。ま
ず図5によりサンプリング装置1における情報収集アル
ゴリズムについて説明する。
【0020】並列マシン11の各プロセッサに設けられ
たカウンタC0 ,C1 ,C2 ・・・の内容を初期化(カ
ウント値=0)するとともにサイクル番号を初期化(サ
イクル番号=1)する(処理S1)。そして、データ入
力部2からの中断要求割り込みが発生したか(処理S
2)、次に実行する命令があるか(処理S3)、インタ
ーバルタイマ13から割り込みが発生したか(処理S
4)の判断を行い、通常は、図中Rで示すループに沿っ
た処理を行う。つまり、中断要求割り込みがなく、次に
実行する命令があり、インターバルタイマ13からの割
り込みがない場合には、与えられた命令を実行し、実行
した命令の名称に対応するカウンタの値に1を加算する
(処理S5)という処理を繰り返す。
たカウンタC0 ,C1 ,C2 ・・・の内容を初期化(カ
ウント値=0)するとともにサイクル番号を初期化(サ
イクル番号=1)する(処理S1)。そして、データ入
力部2からの中断要求割り込みが発生したか(処理S
2)、次に実行する命令があるか(処理S3)、インタ
ーバルタイマ13から割り込みが発生したか(処理S
4)の判断を行い、通常は、図中Rで示すループに沿っ
た処理を行う。つまり、中断要求割り込みがなく、次に
実行する命令があり、インターバルタイマ13からの割
り込みがない場合には、与えられた命令を実行し、実行
した命令の名称に対応するカウンタの値に1を加算する
(処理S5)という処理を繰り返す。
【0021】この動作は各プロセッサ毎に行われ、デー
タ入力部2からの中断要求割り込みが出されるか、実行
する命令がなくなるか、あるいはインターバルタイマ1
3から一定時間ごとに割り込みが発生するかのいずれか
まで行われ、各プロセッサ毎に命令の名称に対する実行
回数、中断回数が対応するカウンタにカウントされてい
く。
タ入力部2からの中断要求割り込みが出されるか、実行
する命令がなくなるか、あるいはインターバルタイマ1
3から一定時間ごとに割り込みが発生するかのいずれか
まで行われ、各プロセッサ毎に命令の名称に対する実行
回数、中断回数が対応するカウンタにカウントされてい
く。
【0022】そして今一定時間経過後、インターバルタ
イマ13から割り込みが発生すると(処理S4)、収集
部12は、各プロセッサに対応して設けられた各カウン
タC 0 ,C1 ,C2 ,・・・のその時点における内容
(命令の名称、実行回数の累積値、中断回数の累積値)
を収集し、その収集した情報にサイクル番号、プロセッ
サ番号を付加してサンプリング情報ファイル14に出力
する(処理S6)。つまり、サンプリング情報ファイル
14には図3で示すような内容の情報がファイルされ
る。
イマ13から割り込みが発生すると(処理S4)、収集
部12は、各プロセッサに対応して設けられた各カウン
タC 0 ,C1 ,C2 ,・・・のその時点における内容
(命令の名称、実行回数の累積値、中断回数の累積値)
を収集し、その収集した情報にサイクル番号、プロセッ
サ番号を付加してサンプリング情報ファイル14に出力
する(処理S6)。つまり、サンプリング情報ファイル
14には図3で示すような内容の情報がファイルされ
る。
【0023】その後、各カウンタC0 ,C1 ,C2 ,・
・・の内容を初期化(カウント値=0)し、サイクル番
号を+1する(処理S7)。そして、再び次の命令を実
行し、実行した命令の名称に対応するカウンタの値に1
を加算するというループRの処理を行う。
・・の内容を初期化(カウント値=0)し、サイクル番
号を+1する(処理S7)。そして、再び次の命令を実
行し、実行した命令の名称に対応するカウンタの値に1
を加算するというループRの処理を行う。
【0024】一方、上記した処理中、無限ループやデッ
ドロックによってプログラムの実行状況が正常でなくな
った場合には、オペレータ入力部2から中断要求割り込
みを与えることで、強制的に各プロセッサに設けられて
いるカウンタの内容(命令の名称、実行回数、中断回
数)を収集部12で収集する。そして各カウンタの内容
にサイクル番号、プロセッサ番号を付加してサンプリン
グ情報ファイル14に出力する(処理S8)。また実行
する命令がなくなった場合(処理S3)も上記同様処理
S8へ移る。
ドロックによってプログラムの実行状況が正常でなくな
った場合には、オペレータ入力部2から中断要求割り込
みを与えることで、強制的に各プロセッサに設けられて
いるカウンタの内容(命令の名称、実行回数、中断回
数)を収集部12で収集する。そして各カウンタの内容
にサイクル番号、プロセッサ番号を付加してサンプリン
グ情報ファイル14に出力する(処理S8)。また実行
する命令がなくなった場合(処理S3)も上記同様処理
S8へ移る。
【0025】このような処理を繰り返すことにより、サ
ンプリング情報ファイル14には、図3で示すような情
報がファイルされる。次に上記したサンプリング情報フ
ァイル14のファイル内容を用いて、編集/表示部3に
より、編集/表示アルゴリズムの処理フローを図6を参
照しながら説明する。図6において、プログラム全体お
よび各命令ごとの実行状況を折れ線グラフで表すための
編集/表示部3のアルゴリズムを処理フローS20、ま
たプログラム全体及び各命令ごとの負荷バランスを棒グ
ラフで表すための編集/表示部3のアルゴリズムを処理
フローS30、さらに各プロセッサ上でのプログラム全
体及び各命令ごとの実行状況をパターングラフで表すた
めの編集/表示部3のアルゴリズムを処理フローS40
として示し、図示実線で示す処理フローは各命令ごとの
処理、点線で示す処理フローはプログラム全体(全命
令)の処理をそれぞれ示している。
ンプリング情報ファイル14には、図3で示すような情
報がファイルされる。次に上記したサンプリング情報フ
ァイル14のファイル内容を用いて、編集/表示部3に
より、編集/表示アルゴリズムの処理フローを図6を参
照しながら説明する。図6において、プログラム全体お
よび各命令ごとの実行状況を折れ線グラフで表すための
編集/表示部3のアルゴリズムを処理フローS20、ま
たプログラム全体及び各命令ごとの負荷バランスを棒グ
ラフで表すための編集/表示部3のアルゴリズムを処理
フローS30、さらに各プロセッサ上でのプログラム全
体及び各命令ごとの実行状況をパターングラフで表すた
めの編集/表示部3のアルゴリズムを処理フローS40
として示し、図示実線で示す処理フローは各命令ごとの
処理、点線で示す処理フローはプログラム全体(全命
令)の処理をそれぞれ示している。
【0026】まず、各命令ごとの編集/表示アルゴリズ
ムの処理フローについて説明する。この場合、サンプリ
ング情報ファイル14からは、各命令の種類(名称)を
キーとして、その命令に対するデータを取り出す(処理
S11)。
ムの処理フローについて説明する。この場合、サンプリ
ング情報ファイル14からは、各命令の種類(名称)を
キーとして、その命令に対するデータを取り出す(処理
S11)。
【0027】そして、折れ線グラフで表示する処理フロ
ーS20では、まず、各サイクルごとに全プログラムに
て実行した実行回数と中断回数を集計する(処理S2
1)。次に横軸にサイクル番号、縦軸に実行回数または
中断回数を表示し(処理S22)、上記集計結果に基づ
いて、各命令ごとの実行状況を折れ線グラフで表示する
(処理S23)。
ーS20では、まず、各サイクルごとに全プログラムに
て実行した実行回数と中断回数を集計する(処理S2
1)。次に横軸にサイクル番号、縦軸に実行回数または
中断回数を表示し(処理S22)、上記集計結果に基づ
いて、各命令ごとの実行状況を折れ線グラフで表示する
(処理S23)。
【0028】また、棒グラフで表示する処理フローS3
0では、まず、各プロセッサごとに全サイクル内での総
実行回数と総中断回数を集計する(処理S31)。次に
横軸にプロセッサ番号、縦軸に実行回数または中断回数
を表示し(処理S32)、上記集計結果に基づいて、各
命令ごとの各プロセッサに対する負荷バランスを棒グラ
フで表示する(処理S33)。
0では、まず、各プロセッサごとに全サイクル内での総
実行回数と総中断回数を集計する(処理S31)。次に
横軸にプロセッサ番号、縦軸に実行回数または中断回数
を表示し(処理S32)、上記集計結果に基づいて、各
命令ごとの各プロセッサに対する負荷バランスを棒グラ
フで表示する(処理S33)。
【0029】さらに、パターングラフで表示する処理フ
ローS40では、まず、各サイクルごとに各プロセッサ
での各命令の実行回数と中断回数を集計する(処理S4
1)。次に横軸にサイクル番号、縦軸にプロセッサ番号
をとり、色の濃淡で実行回数または中断回数(回数多い
→濃、回数少ない→淡)を表示し(処理S42)、上記
集計結果に基づいて、各プロセッサ上での命令の実行状
況をパターングラフで表示する(処理S43)。
ローS40では、まず、各サイクルごとに各プロセッサ
での各命令の実行回数と中断回数を集計する(処理S4
1)。次に横軸にサイクル番号、縦軸にプロセッサ番号
をとり、色の濃淡で実行回数または中断回数(回数多い
→濃、回数少ない→淡)を表示し(処理S42)、上記
集計結果に基づいて、各プロセッサ上での命令の実行状
況をパターングラフで表示する(処理S43)。
【0030】一方、プログラム全体の編集/表示部3の
アルゴリズムでは、サンプリング情報ファイル14か
ら、全命令に対するサンプリング情報を取り出す。そし
て、折れ線グラフで表示する処理フロー20では、前記
したように処理S21,S22を行い、各プロセッサ上
でのプログラム全体の実行状況を折れ線グラフで表示す
る(処理S24)。また、棒グラフで表示する処理フロ
ーS30では、前記したように処理S31,S32を行
い、プログラム全体とプログラムを実行したプロセッサ
との対応関係、つまり各プロセッサ間の負荷バランスを
棒グラフで表示する(処理S34)。さらにパターング
ラフで表示する処理フローS40では、前記したように
処理S41,S42を行い、各プロセッサ上でのプログ
ラム全体の実行状況をパターングラフで表示する(処理
S44)。
アルゴリズムでは、サンプリング情報ファイル14か
ら、全命令に対するサンプリング情報を取り出す。そし
て、折れ線グラフで表示する処理フロー20では、前記
したように処理S21,S22を行い、各プロセッサ上
でのプログラム全体の実行状況を折れ線グラフで表示す
る(処理S24)。また、棒グラフで表示する処理フロ
ーS30では、前記したように処理S31,S32を行
い、プログラム全体とプログラムを実行したプロセッサ
との対応関係、つまり各プロセッサ間の負荷バランスを
棒グラフで表示する(処理S34)。さらにパターング
ラフで表示する処理フローS40では、前記したように
処理S41,S42を行い、各プロセッサ上でのプログ
ラム全体の実行状況をパターングラフで表示する(処理
S44)。
【0031】以上のようにして、プログラム全体及び各
命令ごとの実行状況、プログラム全体の負荷バランス及
び各命令ごとの負荷バランス、各プロセッサ上でのプロ
グラム全体の実行状況及び各プロセッサ上での各命令ご
との実行状況をそれぞれグラフで表示するようにしたの
で、並列マシン上でのプログラムの開発において、バグ
の存在位置や性能の悪い箇所、原因を探るための系統だ
った解析・評価手段として、また、無限ループやデッド
ロックしている箇所などを視覚的に判別でき、これによ
り、試行錯誤を繰り返しながら作業を進めていたプログ
ラムの開発、デバッグ、評価・解析、テスト作業の効率
化に大きく寄与することができる。
命令ごとの実行状況、プログラム全体の負荷バランス及
び各命令ごとの負荷バランス、各プロセッサ上でのプロ
グラム全体の実行状況及び各プロセッサ上での各命令ご
との実行状況をそれぞれグラフで表示するようにしたの
で、並列マシン上でのプログラムの開発において、バグ
の存在位置や性能の悪い箇所、原因を探るための系統だ
った解析・評価手段として、また、無限ループやデッド
ロックしている箇所などを視覚的に判別でき、これによ
り、試行錯誤を繰り返しながら作業を進めていたプログ
ラムの開発、デバッグ、評価・解析、テスト作業の効率
化に大きく寄与することができる。
【0032】
【実施例】次に本発明の一実施例を説明する。ここでは
実施例として、前記した本発明の原理をもとに、各グラ
フの具体的な表示例について説明する。サンプリング装
置1におけるデータ収集手順は前記したように図5のフ
ローチャートの通りである。すなわち、各プロセッサが
命令を実行し、その実行した命令の種類ごとに、各カウ
ンタにて実行回数及び命令の待ち状態などによる中断回
数をカウントする。そして収集部12は一定時間ごとに
インターバルタイマ13からの割り込みを受けて、その
割り込みを受けた時点までのカウント内容を収集し、収
集した情報をサンプリング情報ファイル14に出力す
る。また、各カウンタC0,C1 ,C2 ,・・・から収
集部12への情報収集は、インターバルタイマ13から
一定時間ごとの割り込みによるものだけでなく、無限ル
ープやデッドロックなどプログラムの実行状況が正常で
なくなった場合に、オペレータがデータ入力部2から中
断要求割り込みを入力することで、強制的にその時点ま
での情報を収集して、サンプリング情報ファイル14に
送出する。
実施例として、前記した本発明の原理をもとに、各グラ
フの具体的な表示例について説明する。サンプリング装
置1におけるデータ収集手順は前記したように図5のフ
ローチャートの通りである。すなわち、各プロセッサが
命令を実行し、その実行した命令の種類ごとに、各カウ
ンタにて実行回数及び命令の待ち状態などによる中断回
数をカウントする。そして収集部12は一定時間ごとに
インターバルタイマ13からの割り込みを受けて、その
割り込みを受けた時点までのカウント内容を収集し、収
集した情報をサンプリング情報ファイル14に出力す
る。また、各カウンタC0,C1 ,C2 ,・・・から収
集部12への情報収集は、インターバルタイマ13から
一定時間ごとの割り込みによるものだけでなく、無限ル
ープやデッドロックなどプログラムの実行状況が正常で
なくなった場合に、オペレータがデータ入力部2から中
断要求割り込みを入力することで、強制的にその時点ま
での情報を収集して、サンプリング情報ファイル14に
送出する。
【0033】このようにして、サンプリング情報ファイ
ル14には、図3のような、サイクル番号、プロセッサ
番号、命令の名称、実行回数、中断回数がファイルされ
る。このファイルされた情報をもとに編集/表示部3に
て、図6のフローチャートの処理手順によりグラフ化を
行う。
ル14には、図3のような、サイクル番号、プロセッサ
番号、命令の名称、実行回数、中断回数がファイルされ
る。このファイルされた情報をもとに編集/表示部3に
て、図6のフローチャートの処理手順によりグラフ化を
行う。
【0034】以下に具体的なグラフの表示例を示すとと
もに、その表示例によりプログラムの正当性などの評価
を行う例について説明する。まず、図6の処理フローS
20により、プログラム全体の実行状況及び各命令ごと
の実行状況を折れ線グラフで表示する場合について説明
する。
もに、その表示例によりプログラムの正当性などの評価
を行う例について説明する。まず、図6の処理フローS
20により、プログラム全体の実行状況及び各命令ごと
の実行状況を折れ線グラフで表示する場合について説明
する。
【0035】各命令ごとの実行状況を折れ線グラフで表
示する場合、各命令ごとにその命令の名称をキーとして
サンプリング情報ファイル14からデータを取り出し、
各サイクルごとに全プロセッサ内での実行回数と中断回
数を集計する。そして、横軸に時間の経過に伴うサイク
ル番号1,2,・・・をとり、縦軸にこの場合、実行回
数をとって表示する。例えば、図7(a)は命令iの実
行状況を折れ線グラフで表示したものである。
示する場合、各命令ごとにその命令の名称をキーとして
サンプリング情報ファイル14からデータを取り出し、
各サイクルごとに全プロセッサ内での実行回数と中断回
数を集計する。そして、横軸に時間の経過に伴うサイク
ル番号1,2,・・・をとり、縦軸にこの場合、実行回
数をとって表示する。例えば、図7(a)は命令iの実
行状況を折れ線グラフで表示したものである。
【0036】また、プログラム全体の実行状況を折れ線
グラフで表示する場合、サンプリング情報ファイル14
から、全命令のサンプリング情報を取り出し、以下上記
同様の処理手順により、横軸に時間の経過に伴うサイク
ル番号、縦軸に実行回数をとることにより、例えば図7
(b)のような折れ線グラフで表示される。
グラフで表示する場合、サンプリング情報ファイル14
から、全命令のサンプリング情報を取り出し、以下上記
同様の処理手順により、横軸に時間の経過に伴うサイク
ル番号、縦軸に実行回数をとることにより、例えば図7
(b)のような折れ線グラフで表示される。
【0037】この図7(a),(b)の折れ線グラフを
見ることにより、各命令の実行状況及びプログラム全体
の実行状況が視覚的に即座に把握することができる。並
列マシン上で動作可能なプログラミング言語では、プロ
グラムの実行過程において、ある処理が終わるまで次の
処理を行わないようにするために同期を取る機能を有し
ている。この同期の取り方が適切でないと、プログラム
全体の実行に大きく影響を与える。つまり、図7
(a),(b)の折れ線グラフにおいて、定期的に実行
回数が低下する部分(図中、矢印Aで示す)がある。こ
れによりプログラム中に不適切な同期の取り方をしてい
る箇所があることを分かる。
見ることにより、各命令の実行状況及びプログラム全体
の実行状況が視覚的に即座に把握することができる。並
列マシン上で動作可能なプログラミング言語では、プロ
グラムの実行過程において、ある処理が終わるまで次の
処理を行わないようにするために同期を取る機能を有し
ている。この同期の取り方が適切でないと、プログラム
全体の実行に大きく影響を与える。つまり、図7
(a),(b)の折れ線グラフにおいて、定期的に実行
回数が低下する部分(図中、矢印Aで示す)がある。こ
れによりプログラム中に不適切な同期の取り方をしてい
る箇所があることを分かる。
【0038】そこで、各命令ごとに実行状況を表示して
みると、例えば図7(c)のように命令jが、他の命令
が同期処理のために実行回数の低下している箇所で、逆
に実行回数が増加(図中、矢印Bで示す)していること
が分かる。したがって、命令jの同期の取り方を修正す
ることにより、プログラム全体の実行回数が極端に低下
することを防ぐようにして、実行効率の改善を図れば良
いということがわかる。
みると、例えば図7(c)のように命令jが、他の命令
が同期処理のために実行回数の低下している箇所で、逆
に実行回数が増加(図中、矢印Bで示す)していること
が分かる。したがって、命令jの同期の取り方を修正す
ることにより、プログラム全体の実行回数が極端に低下
することを防ぐようにして、実行効率の改善を図れば良
いということがわかる。
【0039】また、プログラムの実行が無限にループに
陥っている場合やデッドロックにより、実行が中断して
いる場合は、実行の途中でデータ入力部2から中断要求
の割り込みを入力し、その時点までに収集したサンプリ
ング情報を用いて、各命令の実行状況を表示することに
より、プログラム中のどの部分が無限ループやデッドロ
ックに陥っているかを判別することができる。図7
(d)は命令kが無限ループに陥っている様子を示して
いる。つまり、既に実行が終了しているはずの命令が、
いつまでも終了していないことが図7(d)のグラフの
実行回数から認識することができる。
陥っている場合やデッドロックにより、実行が中断して
いる場合は、実行の途中でデータ入力部2から中断要求
の割り込みを入力し、その時点までに収集したサンプリ
ング情報を用いて、各命令の実行状況を表示することに
より、プログラム中のどの部分が無限ループやデッドロ
ックに陥っているかを判別することができる。図7
(d)は命令kが無限ループに陥っている様子を示して
いる。つまり、既に実行が終了しているはずの命令が、
いつまでも終了していないことが図7(d)のグラフの
実行回数から認識することができる。
【0040】次に各プロセッサに対する負荷バランスを
棒グラフで表示する例について説明する。この処理手段
は図6の処理フローS30にて行われる。通常、科学技
術計算では、ある特定のループのみが何万回も実行され
るため、その命令が最適化されているか否かがプログラ
ム全体の実行期間に与える影響が大きい。図8(a)は
命令iの各プロセッサに対する実行回数、同図(b)は
プログラム全体の各プロセッサに対する実行回数をそれ
ぞれ棒グラフで示したもので、これにより各プロセッサ
間負荷バランスを知ることができる。図8(a)によ
り、命令iの各プロセッサ間負荷バランスの変動の大き
さが、同図(b)のようにプログラム全体の各プロセッ
サ間負荷バランスに大きな影響を与えていることがわか
る。したがって、命令iの各プロセッサ間の負荷バラン
スを同図(c)のように各プロセッサにほぼ均等に分散
させるよう改善することによって、プログラム全体の各
プロセッサ間負荷バランスも同図(d)のように改善す
ることができる。
棒グラフで表示する例について説明する。この処理手段
は図6の処理フローS30にて行われる。通常、科学技
術計算では、ある特定のループのみが何万回も実行され
るため、その命令が最適化されているか否かがプログラ
ム全体の実行期間に与える影響が大きい。図8(a)は
命令iの各プロセッサに対する実行回数、同図(b)は
プログラム全体の各プロセッサに対する実行回数をそれ
ぞれ棒グラフで示したもので、これにより各プロセッサ
間負荷バランスを知ることができる。図8(a)によ
り、命令iの各プロセッサ間負荷バランスの変動の大き
さが、同図(b)のようにプログラム全体の各プロセッ
サ間負荷バランスに大きな影響を与えていることがわか
る。したがって、命令iの各プロセッサ間の負荷バラン
スを同図(c)のように各プロセッサにほぼ均等に分散
させるよう改善することによって、プログラム全体の各
プロセッサ間負荷バランスも同図(d)のように改善す
ることができる。
【0041】次に各プロセッサ上での命令の実行状況と
プログラム全体の実行状況をパターングラフで表示する
例について説明する。この処理手順は図6の処理フロー
S40にて行われる。このパターングラフにおいて使用
するパターンの意味を図9(a)に示す。同図(a)よ
りわかるように、色の濃淡にて回数の多い少ないを表示
し、ここでは色が濃いほど回数が多いことを示してい
る。図9(b)は各プロセッサ間の負荷バランスの悪い
場合の表示例、同図(c)は各プロセッサ間の負荷バラ
ンスの良い場合の表示例を示すものである。同図(b)
からわかるように、各プロセッサの負荷にばらつきがあ
り、かつ定期的に、あるサイクルにおいて色の淡いパタ
ーンが縦方向に表示されている。これは実行回数が極端
に低下していることを示している。つまり、プログラム
中に前記したような強い同期が発生していることを示し
ている。
プログラム全体の実行状況をパターングラフで表示する
例について説明する。この処理手順は図6の処理フロー
S40にて行われる。このパターングラフにおいて使用
するパターンの意味を図9(a)に示す。同図(a)よ
りわかるように、色の濃淡にて回数の多い少ないを表示
し、ここでは色が濃いほど回数が多いことを示してい
る。図9(b)は各プロセッサ間の負荷バランスの悪い
場合の表示例、同図(c)は各プロセッサ間の負荷バラ
ンスの良い場合の表示例を示すものである。同図(b)
からわかるように、各プロセッサの負荷にばらつきがあ
り、かつ定期的に、あるサイクルにおいて色の淡いパタ
ーンが縦方向に表示されている。これは実行回数が極端
に低下していることを示している。つまり、プログラム
中に前記したような強い同期が発生していることを示し
ている。
【0042】そこで、各命令ごとにパターングラフで表
示を行い、同図(d)に示すように、全体の負荷バラン
スに影響を与えている命令iとプログラム全体の実行に
対して強い同期処理を行っている命令jを捜し出すこと
がきる。これにより、命令iの負荷バランスを改善する
とともに、同期処理を改善することによって、同図
(b)に示すように各プロセッサ上で負荷バランスが均
等化され、しかも同期により極端に実行回数が低下する
ことのない効率の良いプログラムを開発することができ
る。
示を行い、同図(d)に示すように、全体の負荷バラン
スに影響を与えている命令iとプログラム全体の実行に
対して強い同期処理を行っている命令jを捜し出すこと
がきる。これにより、命令iの負荷バランスを改善する
とともに、同期処理を改善することによって、同図
(b)に示すように各プロセッサ上で負荷バランスが均
等化され、しかも同期により極端に実行回数が低下する
ことのない効率の良いプログラムを開発することができ
る。
【0043】なお、上記実施例においては実行回数の変
動をグラフとして表示するようにしたが、中断回数の変
動をグラフとして表示するようにしても良いことは勿論
である。
動をグラフとして表示するようにしたが、中断回数の変
動をグラフとして表示するようにしても良いことは勿論
である。
【0044】
【発明の効果】本発明によれば、スーパーコンピュータ
や複数のプロセッサから構成される並列マシン上でのプ
ログラムの実行過程をグラフで表示するようにしたの
で、無限ループやデッドロックしているプログラムのデ
バッグやプログラム中の性能の悪い箇所を視覚的に即座
に把握することができ、これにより、従来では試行錯誤
を繰り返しながら作業を進めていたプログラムの開発、
デバッグ、評価・解析、テストなどの各作業をきわめて
効率良く行うことができる。
や複数のプロセッサから構成される並列マシン上でのプ
ログラムの実行過程をグラフで表示するようにしたの
で、無限ループやデッドロックしているプログラムのデ
バッグやプログラム中の性能の悪い箇所を視覚的に即座
に把握することができ、これにより、従来では試行錯誤
を繰り返しながら作業を進めていたプログラムの開発、
デバッグ、評価・解析、テストなどの各作業をきわめて
効率良く行うことができる。
【図1】本発明の原理を説明するためのシステム構成図
である。
である。
【図2】図1で示したカウンタC0 ,C1 ,C2 ・・・
のカウント内容を示す図である。
のカウント内容を示す図である。
【図3】図1で示したサンプリング情報ファイル14に
ファイルされるサンプリング情報を示す図である。
ファイルされるサンプリング情報を示す図である。
【図4】実行回数と中断回数のカウント手段を概略的に
示す構成図である。
示す構成図である。
【図5】本発明原理によるサンプリング情報収集アルゴ
リズムの処理手順を示すフローチャートである。
リズムの処理手順を示すフローチャートである。
【図6】本発明原理による編集/表示部3のアルゴリズ
ムの処理手順を示すフローチャートである。
ムの処理手順を示すフローチャートである。
【図7】同実施例において、各命令の実行状況とプログ
ラム全体の実行状況を折れ線グラフで表示した例を示す
図で、同図(a)は命令iの実行状況、同図(b)はプ
ログラム全体の実行状況、同図(c)は命令jの実行状
況、同図(d)は命令kの実行状況をそれぞれ示す図で
ある。
ラム全体の実行状況を折れ線グラフで表示した例を示す
図で、同図(a)は命令iの実行状況、同図(b)はプ
ログラム全体の実行状況、同図(c)は命令jの実行状
況、同図(d)は命令kの実行状況をそれぞれ示す図で
ある。
【図8】同実施例において、各命令に対する各プロセッ
サ間の負荷バランスとプログラム全体に対するプロセッ
サ間の負荷バランスを棒グラフで表示した例を示す図
で、同図(a)は命令iに対する各プロセッサ間の負荷
バランス、同図(b)はプログラム全体に対する各プロ
セッサ間の負荷バランス、同図(c),(d)は同図
(a),(b)の改善後の負荷バランスをそれぞれ示す
図である。
サ間の負荷バランスとプログラム全体に対するプロセッ
サ間の負荷バランスを棒グラフで表示した例を示す図
で、同図(a)は命令iに対する各プロセッサ間の負荷
バランス、同図(b)はプログラム全体に対する各プロ
セッサ間の負荷バランス、同図(c),(d)は同図
(a),(b)の改善後の負荷バランスをそれぞれ示す
図である。
【図9】同実施例において、各プロセッサ上でのプログ
ラムの実行状況をパターングラフで表示した例であり、
同図(a)はパターングラフのパターンの色の濃淡と実
行回数との関係を説明するための図、同図(b)は負荷
バランスの悪いプログラムの実行状況、同図(c)は負
荷バランスの良いプログラムの実行状況、同図(d)は
命令iに対する各プロセッサ上での実行状況、同図
(e)は命令jに対する各プロセッサ上での実行状況を
それぞれ示す図である。
ラムの実行状況をパターングラフで表示した例であり、
同図(a)はパターングラフのパターンの色の濃淡と実
行回数との関係を説明するための図、同図(b)は負荷
バランスの悪いプログラムの実行状況、同図(c)は負
荷バランスの良いプログラムの実行状況、同図(d)は
命令iに対する各プロセッサ上での実行状況、同図
(e)は命令jに対する各プロセッサ上での実行状況を
それぞれ示す図である。
1・・・・・サンプリング装置
2・・・・・データ入力部
3・・・・・編集/表示部
11・・・・並列マシン
12・・・・収集部
13・・・・インターバルタイマ
14・・・・サンプリング情報ファイル
C0 ,C1 ,C2 ・・・カウンタ
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 松澤 史子
神奈川県川崎市中原区上小田中1015番地
富士通株式会社内
Claims (5)
- 【請求項1】 複数のプロセッサから構成される並列マ
シンにおいて、各プロセッサごとに設けられ、各プロセ
ッサ内で実行した命令の実行回数と中断回数を計測する
カウンタ(C0 ,C1 ,・・・)と、指定された時間間
隔ごとに割り込み信号を発生するインターバルタイマ
(13)と、このインターバルタイマ(13)からの割
り込み信号を受けて、上記各カウンタ(C0 ,C1 ,・
・・)の内容を収集する収集部(12)と、この収集部
(12)で収集した情報をサンプリング情報としてファ
イルするサンプリング情報ファイル(14)と、上記収
集部(12)に対し、状況に応じて割り込み信号を与え
ることのできるデータ入力部(2)と、上記サンプリン
グ情報ファイル(14)にファイルされた情報をもとに
プログラムの動作状況を表すデータを作成し、そのデー
タを視覚的に表示する編集/表示部(3)と、を有する
ことを特徴とするプログラム動作解析装置。 - 【請求項2】 上記データ入力部(2)から割り込み信
号を入力することにより、プログラムの実行を中断させ
て、その時点までの上記各カウンタ(C0 ,C1 ,・・
・)の内容を強制的に収集部(12)に収集させて、サ
ンプリング情報ファイル(14)にファイルしたのち、
編集/表示部(3)にて上記プログラムの動作状況を視
覚的に表示するようにしたことを特徴とする請求項1記
載のプログラム動作解析装置。 - 【請求項3】 プログラムの動作状況の視覚的な表示手
段として、サンプリング情報ファイル(14)のサンプ
リング情報から、時間の経過に伴うプログラム全体の実
行回数または中断回数の変化を表すデータと、時間の経
過に伴うプログラム中の各命令ごとの実行回数または中
断回数の変化を表すデータをそれぞれ作成し、並列マシ
ン上でのプログラム全体の実行状況および並列マシン上
でのプログラム中の各命令ごとの実行状況をそれぞれグ
ラフで表示することを特徴とする請求項1記載のプログ
ラム動作解析装置。 - 【請求項4】 プログラムの動作状況の視覚的な表示手
段として、サンプリング情報ファイル(14)のサンプ
リング情報から、各プロセッサ上でのプログラム全体の
総実行回数または総中断回数を表すデータと、各プロセ
ッサ上でのプログラム中の各命令ごとの総実行回数また
は総中断回数を表すデータをそれぞれ作成し、並列マシ
ン上でのプログラム全体の各プロセッサ間負荷バランス
および並列マシン上でのプログラム中の各命令ごとの各
プロセッサ間負荷バランスをそれぞれグラフで表示する
ことを特徴とする請求項1記載のプログラム動作解析装
置。 - 【請求項5】 プログラムの動作状況の視覚的な表示手
段として、サンプリング情報ファイル(14)のサンプ
リング情報から、時間の経過に伴う各プロセッサ上での
プログラム全体の実行回数または中断回数の変化を表す
データと、時間の経過に伴う各プロセッサ上でのプログ
ラム中の各命令ごとの実行回数または中断回数の変化を
表すデータをそれぞれ作成し、各プロセッサ上での経過
に伴うプログラム全体の実行状況および各プロセッサ上
での時間の経過に伴うプログラム中の各命令ごとの実行
状況をそれぞれグラフで表示することを特徴とする請求
項1記載のプログラム動作解析装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3150673A JPH052508A (ja) | 1991-06-21 | 1991-06-21 | プログラム動作解析装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3150673A JPH052508A (ja) | 1991-06-21 | 1991-06-21 | プログラム動作解析装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH052508A true JPH052508A (ja) | 1993-01-08 |
Family
ID=15501976
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3150673A Withdrawn JPH052508A (ja) | 1991-06-21 | 1991-06-21 | プログラム動作解析装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH052508A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07110781A (ja) * | 1993-01-29 | 1995-04-25 | Internatl Business Mach Corp <Ibm> | トレース・データのグラフィック表示を可視的に生成する装置及び方法 |
| US5903730A (en) * | 1996-08-23 | 1999-05-11 | Fujitsu Limited | Method of visualizing results of performance monitoring and analysis in a parallel computing system |
| EP0864978A3 (en) * | 1997-03-10 | 1999-11-03 | Digital Equipment Corporation | High frequency sampling of performance counters |
| US6308316B1 (en) | 1993-11-30 | 2001-10-23 | Fujitsu Limited | Apparatus for analyzing operations of parallel processing system |
| JP2015108907A (ja) * | 2013-12-03 | 2015-06-11 | ソフトバンクテレコム株式会社 | 管理プログラム及び管理サーバ |
-
1991
- 1991-06-21 JP JP3150673A patent/JPH052508A/ja not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07110781A (ja) * | 1993-01-29 | 1995-04-25 | Internatl Business Mach Corp <Ibm> | トレース・データのグラフィック表示を可視的に生成する装置及び方法 |
| US6308316B1 (en) | 1993-11-30 | 2001-10-23 | Fujitsu Limited | Apparatus for analyzing operations of parallel processing system |
| US5903730A (en) * | 1996-08-23 | 1999-05-11 | Fujitsu Limited | Method of visualizing results of performance monitoring and analysis in a parallel computing system |
| EP0864978A3 (en) * | 1997-03-10 | 1999-11-03 | Digital Equipment Corporation | High frequency sampling of performance counters |
| JP2015108907A (ja) * | 2013-12-03 | 2015-06-11 | ソフトバンクテレコム株式会社 | 管理プログラム及び管理サーバ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Healy et al. | Integrating the timing analysis of pipelining and instruction caching | |
| Zhou et al. | Gpa: A gpu performance advisor based on instruction sampling | |
| JP3480973B2 (ja) | 並列処理システムの動作解析装置 | |
| US7178135B2 (en) | Scope-based breakpoint selection and operation | |
| US20230401043A1 (en) | Dataflow-based computer program visualization and refactoring | |
| JPWO2014050254A1 (ja) | ボトルネック検出装置、方法及びプログラム | |
| CN111241447A (zh) | 一种网页数据采集方法、系统及存储介质 | |
| US6502235B1 (en) | Apparatus, method, and storage medium for generating input parameter | |
| Alcaraz et al. | Hardware counters’ space reduction for code region characterization | |
| Fallahzadeh et al. | Contrasting test selection, prioritization, and batch testing at scale: Large-scale empirical study on 285 million test results | |
| Cai et al. | Tensorflow debugger: Debugging dataflow graphs for machine learning | |
| van Riet et al. | From 6.2 to 0.15 seconds–an industrial case study on mobile web performance | |
| Muppaneni | Cross-Browser Debugging Strategies | |
| Nutt et al. | Extensible parallel program performance visualization | |
| Broberg et al. | VPPB-a visualization and performance prediction tool for multithreaded Solaris programs | |
| Kräuter et al. | BPMN analyzer 2.0: Instantaneous, comprehensible, and fixable control flow analysis for realistic BPMN models | |
| Lee et al. | Accurately approximating superscalar processor performance from traces | |
| CN112540900A (zh) | 大规模并行程序用实时监测与分析方法 | |
| CN116594750A (zh) | 一种函数调用收集方法、装置、设备、存储介质及产品 | |
| Snelick | S-check: a tool for tuning parallel programs | |
| Roek et al. | A hardware instrumentation approach to evaluation of a large scale system | |
| US20180205627A1 (en) | Calculating percentage service contribution in a service call tree | |
| JP2754495B2 (ja) | ログ/サンプリングデータの解析方法 | |
| Weaver et al. | Effective support of simulation in computer architecture instruction | |
| JP3910831B2 (ja) | プログラム開発支援装置、記録媒体、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980903 |